@@ -22,18 +22,34 @@ jobs:
2222 - name : Build site
2323 run : cd site && npm run build
2424
25- - name : Deploy via SFTP
25+ - name : Setup SSH key
2626 run : |
27- sudo apt-get install -y -qq lftp > /dev/null 2>&1
2827 mkdir -p ~/.ssh
29- echo "${{ secrets.SITE_SSH_KEY }} " > ~/.ssh/deploy_key
28+ printf '%s\n' "$SSH_KEY " > ~/.ssh/deploy_key
3029 chmod 600 ~/.ssh/deploy_key
31- ssh-keyscan -p ${SITE_PORT:-22} ${{ secrets.SITE_HOST }} >> ~/.ssh/known_hosts 2>/dev/null
30+ ssh-keyscan -p ${PORT:-22} "$HOST" >> ~/.ssh/known_hosts 2>/dev/null
31+ env :
32+ SSH_KEY : ${{ secrets.SITE_SSH_KEY }}
33+ HOST : ${{ secrets.SITE_HOST }}
34+ PORT : ${{ secrets.SITE_PORT }}
35+
36+ - name : Deploy via SFTP
37+ run : |
38+ sudo apt-get install -y -qq lftp > /dev/null 2>&1
39+
40+ KEY="$HOME/.ssh/deploy_key"
41+ PORT="${SFTP_PORT:-22}"
42+
43+ lftp <<LFTP_SCRIPT
44+ set sftp:connect-program "ssh -i ${KEY} -p ${PORT} -o StrictHostKeyChecking=no"
45+ open sftp://${SFTP_USER}:@${SFTP_HOST}
46+ mirror --reverse --delete --verbose --parallel=4 site/build/ ${SFTP_PATH}
47+ quit
48+ LFTP_SCRIPT
3249
33- lftp -c "
34- set sftp:connect-program 'ssh -i $HOME/.ssh/deploy_key -p ${SITE_PORT:-22}';
35- open sftp://${{ secrets.SITE_USER }}@${{ secrets.SITE_HOST }};
36- mirror --reverse --delete --verbose site/build/ ${{ secrets.SITE_PATH }};
37- "
50+ echo "Deploy complete!"
3851 env :
39- SITE_PORT : ${{ secrets.SITE_PORT }}
52+ SFTP_USER : ${{ secrets.SITE_USER }}
53+ SFTP_HOST : ${{ secrets.SITE_HOST }}
54+ SFTP_PORT : ${{ secrets.SITE_PORT }}
55+ SFTP_PATH : ${{ secrets.SITE_PATH }}
0 commit comments