DASHBOARD APP 개발/AWS EC2 SERVER 배포

EC2 자동 배포 : DevOps를 위한 CI/CD (2) Git workflow 생성 자동화

신강희 2024. 5. 7. 12:33
728x90

 

# 이제 git actions에 workflow를 생성해야 한다.

 

# .yml 야물 이라고 칭함

# Git hub에서 만들어준 메뉴얼을 그대로 복사 붙여넣기

 

###

name: deploy

# Controls when the workflow will run
on:
  # Triggers the workflow on push or pull request events but only for the main branch
  push:
    branches:
      - main


jobs:
  SSH:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      - name: ssh to ec2
        uses: appleboy/ssh-action@master
        with:
          key: ${{ secrets.SSH_PRIVATE_KEY }}
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USER }}
          script: |
            cd Github/streamlit_car_price/  # 해당 경로는 실제 실행시킬 경로로 수정해줘야한다.
            git pull

###

 

 

  # 깃허브 레파지토리가 프라이빗으로 만들어져 있을때. 
  # git pull https://${{ secrets.GIT_USER }}:${{ secrets.GIT_PASSWORD }}@github.com/blockenters/streamlit_kmeans.git

 

# workflow 정상 생성 확인! 초록색 체크 상태로 되어있으면 정상적으로 생성된것

# 혹시 노란상태이거나 빨간색 상태일경우 전체 항목을 삭제한후에 다시 생성하여 오타가 없는지 확인후 재생성하면 된다.

# 이때 workflow 생성 오류가 생길수 있는데, 이는 이미 이전 생성한 workflow 파일이 로드가 되어서 동일한 형식으로 인식하기 때문에 workflow만 삭제하고 재생성하는게 아니라 vscode나 혹은 작업 폴더 경로로 직접 들어가서 github 폴더를 직접다 삭제하고 commit 과 pull 동작을 통해 git hub에 해당 폴더까지 삭제된게 모두 적용이 되어야 새로 생성이 된다. 

 

# 이제 VScode를 접속해 수정할 내용을 입력한다.

 

# 이모티콘 생성

 

# 이제 저장후, commit, push 동작을 하면 안내 팝업이 뜨고, 새로운 폴더가 생성된다.

 

# 이제 따로 리눅스 서버에 pull 명령어를 입력하여 수정사항을 적용하지 않아도, 자동으로 서버에 적용된걸 확인할수 있다.

 

# 이렇게 자동화 적용 완료!

반응형