name: Deploy # on: [push] on: push: branches: - main # 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: needs: [build_and_push_images] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Configure SSH key run: | echo "$SSH_PRIVATE_KEY" > ~/.ssh/deploy chmod 600 ~/.ssh/deploy - name: Copy start.sh from repo via ssh key uses: appleboy/scp-action@v0.1.7 with: host: ${{ secrets.SSH_HOST }} username: ${{ secrets.SSH_USERNAME }} # port: ${{ secrets.PORT }} key: ${{ secrets.SSH_PRIVATE_KEY }} source: "compose.yml" target: /home/${{ secrets.SSH_USERNAME }}/sm-admin/service-monitoring - name: SSH into dev-server and execute script uses: appleboy/ssh-action@master with: host: ${{ secrets.SSH_HOST }} username: ${{ secrets.SSH_USERNAME }} key: ${{ secrets.SSH_PRIVATE_KEY }} # port: ${{ secrets.SSH_PORT }} script: | cd /home/${{ secrets.SSH_USERNAME }}/sm-admin/service-monitoring echo "$ENV" > .env docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} ci.svs-tech.pro docker compose down docker compose push docker logout ci.svs-tech.pro docker compose up -d