Skip to content

Why would I name docker-compose.prod instead of staying standard? #19

Why would I name docker-compose.prod instead of staying standard?

Why would I name docker-compose.prod instead of staying standard? #19

Workflow file for this run

name: Deploy Docker Compose App to Private Server
on:
push:
branches:
- develop
jobs:
deploy:
runs-on: ubuntu-latest
environment: Production
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up SSH
run: |
echo "${{ secrets.SSH_PRIVATE_KEY }}" > private_key.pem
chmod 600 private_key.pem
eval $(ssh-agent -s)
ssh-add private_key.pem
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "echo 'SSH connection successful!'"
- name: Copy files to the server
run: |
rsync -avz -e "ssh -i private_key.pem -o StrictHostKeyChecking=no " \
--exclude '.git' --exclude '.github' \
./ ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:/tmp/c218/
- name: Environment variables
run: |
echo "DBName=${{secrets.DBName}}" >> $GITHUB_ENV
echo "Host=${{secrets.Host}}" >> $GITHUB_ENV
echo "Password=${{secrets.Password}}" >> $GITHUB_ENV
echo "User=${{secrets.User}}" >> $GITHUB_ENV
echo "SecurityKey=${{secrets.SecurityKey}}" >> $GITHUB_ENV
- name: Build and restart Docker Compose
run: |
ssh -i private_key.pem -o StrictHostKeyChecking=no -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "
cd /tmp/c218/ &&
if [ -f docker-compose.prod.yml ]; then
docker-compose -f docker-compose.prod.yml down &&
docker-compose -f docker-compose.prod.yml up -d --build &&
docker image prune -f
else
echo 'docker-compose.prod.yml not found'
exit 1
fi
"
- name: Clean up application files
run: |
ssh -i private_key.pem -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "
rm -rf /tmp/c218/*
rm /tmp/c218
"
rm private_key.pem