From fe89e3954a6f21eba0436db53a823ef41f8e2f92 Mon Sep 17 00:00:00 2001 From: Rudolf Braun <48672663+BraunRudolf@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:18:48 +0200 Subject: [PATCH] First draft of .github/workflows/deploy_on_push.yml --- .github/workflows/deploy_on_push.yml | 47 ++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/deploy_on_push.yml diff --git a/.github/workflows/deploy_on_push.yml b/.github/workflows/deploy_on_push.yml new file mode 100644 index 00000000..7de1248d --- /dev/null +++ b/.github/workflows/deploy_on_push.yml @@ -0,0 +1,47 @@ +on: + push: + branches: + - main + +jobs: + run_pull: + name: Run Pull and Manage Containers + runs-on: ubuntu-latest + + steps: + - name: Install SSH keys + run: | + echo "Installing SSH keys..." + install -m 600 -D /dev/null ~/.ssh/id_rsa + echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa + ssh-keyscan -H ${{ secrets.SSH_HOST }} > ~/.ssh/known_hosts + echo "SSH keys installed." + + - name: Connect and pull latest code + run: | + echo "Pulling latest code from remote repository..." + ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "cd ${{ secrets.WORK_DIR }} && git checkout ${{ secrets.MAIN_BRANCH }} && git pull" + echo "Code pulled successfully." + + - name: Manage Docker Compose on Remote Server + run: | + echo "Managing Docker Compose on remote server..." + ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'EOF' + echo "Stopping and removing Docker containers..." + cd ${{ secrets.WORK_DIR }} + docker-compose down + echo "Removing Docker images..." + docker rmi file_uploader-backend:latest || true + docker rmi file_uploader-frontend:latest || true + echo "Starting Docker containers..." + docker-compose up -d + echo "Containers started." + EOF + echo "Docker Compose managed successfully." + + - name: Cleanup SSH keys + run: | + echo "Cleaning up SSH keys..." + rm -rf ~/.ssh + echo "SSH keys cleaned up." +