Skip to content

Commit

Permalink
cicd: setup workflow to deploy automaticaly
Browse files Browse the repository at this point in the history
  • Loading branch information
hoang-rio committed Nov 26, 2024
1 parent 7a53a21 commit 76eacaf
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/deploy_with_git.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: "Deploy with git"

on:
push:
branches:
- main

env:
SSH_KEY_FILE_DIR: .keys
SSH_KEY_FILE_PATH: .keys/deploy_key.pem

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Create deploy key file
run: |
mkdir ${{env.SSH_KEY_FILE_DIR}}
echo "${{secrets.SSH_DEPLOY_KEY}}" > ${{env.SSH_KEY_FILE_PATH}}
chmod 600 ${{env.SSH_KEY_FILE_PATH}}
- uses: actions/checkout@v3
- name: Deploy with git
run: |
SSH_COMAND-DEPLOY="cd ${{secrets.SSH_DEPLOY_PATH}} && git pull"
HAS_PYTHON_CHANGE=true
GIT_CHANGED_FILE=$(git show --name-only)
if [[ $(echo $GIT_CHANGED_FILE | grep ".py") == "" ]]; then
HAS_PYTHON_CHANGE=false
fi
if [[ $HAS_PYTHON_CHANGE == true ]]; then
SSH_COMAND-DEPLOY="$SSH_COMAND-DEPLOY && kill $(ps | grep app.py | grep -v grep | awk '{print $2}') && nohup python app.py &"
fi
ssh -i ${{env.SSH_KEY_FILE_PATH}} ${{secrets.SSH_DEPLOY_USER}}@${{secrets.SSH_DEPLOY_HOST}} "$SSH_COMAND-DEPLOY"
- name: Clean deploy key file
run: rm -rf ${{env.SSH_KEY_FILE_PATH}}

0 comments on commit 76eacaf

Please sign in to comment.