-
Notifications
You must be signed in to change notification settings - Fork 3
37 lines (33 loc) · 1.62 KB
/
deploy.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
name: Deploy to SSH Server
on:
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts
- name: SSH and Deploy
run: |
ssh -i ~/.ssh/id_rsa ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }} << 'EOF'
cd /home/christoclis/fossbot-platform
sudo git fetch origin
sudo git reset --hard origin/master
sudo rm -f .env
echo "SECRET_KEY=${{ secrets.SECRET_KEY }}" | sudo tee -a .env > /dev/null
echo "ADMIN_USERNAME=${{ secrets.ADMIN_USERNAME }}" | sudo tee -a .env > /dev/null
echo "ADMIN_PASSWORD=${{ secrets.ADMIN_PASSWORD }}" | sudo tee -a .env > /dev/null
echo "POSTGRES_USER=${{ secrets.POSTGRES_USER }}" | sudo tee -a .env > /dev/null
echo "POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }}" | sudo tee -a .env > /dev/null
echo "POSTGRES_DB=${{ secrets.POSTGRES_DB }}" | sudo tee -a .env > /dev/null
echo "DATABASE=postgresql://\${{secrets.POSTGRES_USER}}:\${{secrets.POSTGRES_PASSWORD}}@db:5432/\${{secrets.POSTGRES_DB}}" | sudo tee -a .env > /dev/null
sudo docker compose -f docker-compose-production.yml down
sudo docker compose -f docker-compose-production.yml build --no-cache
sudo docker compose -f docker-compose-production.yml up -d
EOF