Skip to content

cicd: only add slash on first $ #16

cicd: only add slash on first $

cicd: only add slash on first $ #16

name: "Deploy with git"
on:
push:
branches:
- main
env:
SSH_KEY_FILE_DIR: .keys
SSH_KEY_FILE_PATH: .keys/deploy_key.pem
jobs:
ssh_deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- 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}}
- 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
else
echo $GIT_CHANGED_FILE
echo "Python file changed"
fi
if [[ $HAS_PYTHON_CHANGE == true ]]; then
SSH_COMAND_DEPLOY="$SSH_COMAND_DEPLOY && kill \\$(ps | grep app.py | grep -v grep | awk '{print $1}') && nohup python app.py &"
fi
echo "$SSH_COMAND_DEPLOY"
ssh -i ${{env.SSH_KEY_FILE_PATH}} -o StrictHostKeyChecking=no ${{secrets.SSH_DEPLOY_USER}}@${{secrets.SSH_DEPLOY_HOST}} "$SSH_COMAND_DEPLOY"
- name: Clean deploy key file
run: rm -rf ${{env.SSH_KEY_FILE_PATH}}