Files
olaper/.gitea/workflows/deploy.yml
SERTY b3e1a5c88c
Some checks failed
Deploy to Production / deploy (push) Failing after 1s
Merge branch 'main' into prod
2025-07-30 14:12:05 +03:00

62 lines
1.7 KiB
YAML

name: Deploy to Production
on:
push:
branches:
- prod
jobs:
deploy:
runs-on: [docker, host]
steps:
- name: Prepare workspace
run: |
rm -rf /tmp/olaper
mkdir -p /tmp/olaper
cd /tmp/olaper
apk update && apk add openssh docker-cli
mkdir -p ~/.ssh
chmod 700 ~/.ssh
ssh-keyscan -p 2222 10.25.100.250 >> ~/.ssh/known_hosts
git clone --branch prod ssh://git@10.25.100.250:2222/serty/olaper.git .
- name: Build Docker image
run: |
cd /tmp/olaper
docker build -t olaper:latest .
- name: Create volume (if not exists)
run: |
if ! docker volume inspect olaper_data >/dev/null 2>&1; then
docker volume create olaper_data
fi
- name: Stop old container (if running)
run: |
if [ "$(docker ps -q -f name=olaper)" ]; then
docker stop olaper && docker rm olaper
fi
- name: Run new container
run: |
PORT=5005
CONTAINER_ID=$(docker ps --format '{{.ID}} {{.Ports}}' | grep ":$PORT->" | awk '{print $1}')
if [ -n "$CONTAINER_ID" ]; then
echo "Stopping container using port $PORT..."
docker stop "$CONTAINER_ID"
docker rm "$CONTAINER_ID"
fi
docker run -d \
--name olaper \
--restart always \
-p ${PORT}:5005 \
-e SECRET_KEY=${{ secrets.SECRET_KEY }} \
-e ENCRYPTION_KEY=${{ secrets.ENCRYPTION_KEY }} \
-v olaper_data:/opt/olaper/data \
olaper:latest
- name: Cleanup
run: rm -rf /tmp/olaper