Skip to content

Merge pull request #18 from bescka/add_deploy_action #1

Merge pull request #18 from bescka/add_deploy_action

Merge pull request #18 from bescka/add_deploy_action #1

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."