diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml new file mode 100644 index 0000000..38f0b09 --- /dev/null +++ b/.gitea/workflows/deploy.yaml @@ -0,0 +1,65 @@ +name: Deploy + +on: + push: + branches: + - testing # Adjust the branch as needed + +jobs: + build_and_push_images: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Docker login + run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} ci.svs-tech.pro + + - name: Build and push Docker images + run: | + docker compose build + docker compose push + + deploy_to_server_dev: + needs: [build_and_push_images] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Configure SSH key + run: | + echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + + - name: Copy files to host + uses: appleboy/scp-action@v0.1.7 + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USERNAME }} + key: ${{ secrets.SSH_PRIVATE_KEY }} + port: ${{ secrets.SSH_PORT }} + source: "deploy/*,docker-compose.yml,nginx/nginx.conf" + target: /opt/app/ + + - name: SSH into host and execute script + uses: appleboy/ssh-action@master + env: + KASSA_ID: ${{ secrets.KASSA_ID_DEV }} + KASSA_TOKEN: ${{ secrets.KASSA_TOKEN_DEV }} + TICKET_DB: ${{ secrets.TICKET_DB_DEV }} + DB_USER_: ${{ secrets.DB_USER_DEV }} + DB_PASSWORD: ${{ secrets.DB_PASSWORD_DEV }} + TERMINAL_ID: 1 + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USERNAME }} + key: ${{ secrets.SSH_PRIVATE_KEY }} + port: ${{ secrets.SSH_PORT }} + envs: KASSA_ID, KASSA_TOKEN, TICKET_DB, DB_USER, DB_PASSWORD, TERMINAL_ID + script: | + cd /opt/app/ + echo "restart container" + docker-compose down + docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} ci.svs-tech.pro + docker-compose pull + docker logout ci.svs-tech.pro + docker-compose up -d \ No newline at end of file