name: CICD-SSH
on:
push:
branches: [ main ] #main 브랜치로 push나 merge가 될 때 사용할 것
paths: #이 경로에 있는 파일이 변경된 후에만 실행!
- 'part2/04-cicd/**'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: executing remote ssh commands using ssh key
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.SSH_KEY }}
port: 22
script: |
cd .ssh/${{ github.event.repository.name }}/part2/04-cicd #경로주의
sh deploy_ssh.sh
#!/bin/bash
git pull origin main
PWD=`pwd`
. $PWD/venv/bin/activate
pip install -r requirements.txt
branch 생성 후, app.py에서 title을 변경 main 브랜치에 merge
actions에서 workflow 확인
error 발생 GCP의 key값, repo의 secret 설정이 잘 되었는지 확인
ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
deploy 결과 확인
고정 IP를 별도로 설정하지 않으면 인스턴스 중지 후 새로 시작할 때마다 IP 주소가 변경됨
인스턴스 클릭하여 설정 확인
콘솔 - VPC 네트워크 - IP 주소
우측 메뉴에서 고정 IP로 승급 선택하여 고정 IP 주소 할당
인스턴스 삭제 시 고정 IP도 함께 삭제해야함!! (자동으로 삭제 안됨)
참고문헌