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 mkdir -p ~/.ssh chmod 700 ~/.ssh ssh-keyscan -p 2222 10.25.100.250 >> ~/.ssh/known_hosts git clone --branch prod ssh://gitea@10.25.100.250:2222/serty/olaper.git . - name: Build Docker image run: | cd /tmp/olaper docker build -t olaper:latest . - 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: | docker run -d \ --name olaper \ --restart always \ -p 5005:5005 \ -e SECRET_KEY=${{ secrets.SECRET_KEY }} \ -e ENCRYPTION_KEY=${{ secrets.ENCRYPTION_KEY }} \ olaper:latest - name: Cleanup run: rm -rf /tmp/olaper