Coding History
git hub action (CI / CD)
BlackBirdIT
2024. 11. 7. 13:17
fly.io에 배포하는 것 까지 해봤었는데 무중단 CI / CD 를 기본으로 깔고 간다.
그러니까 서버 점검 등을 위해서 사이트를 정지시켜놓을 필요가 없다는 것.
근데 이걸 git에 push 했을 시에 자동으로 fly 서버를 갱신할 수 있게 하는 것이 있다고 한다.
그게 바로 git action
인데. git branch
에 특정 이벤트가 생길시 작동하게 설정을 할 수 있다.
일단 깃 리포지터리에서 action 설정을 이렇게 해주자.
save 해주고.
이제 git 에서 Secret을 추가해줘야되는데,
본인 깃 리포지터리에서 설정해주고. 여기 넣을 토큰 키 값을
fly.io에서 발급 받아서 추가.
여기다가 복붙.
여기 파일 체크한번 해주고.
# See https://fly.io/docs/app-guides/continuous-deployment-with-github-actions/
name: Fly Deploy
on:
push:
paths:
- settings.gradle
- build.gradle
- src/**
- fly.toml
- Dockerfile
- .github/workflows/deploy.yml
branches:
- master
jobs:
deploy:
name: Deploy app
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: application-secret.yml 생성
env:
APPLICATION_SECRET: ${{ secrets.APPLICATION_SECRET_YML }}
run: echo "$APPLICATION_SECRET" > src/main/resources/application-secret.yml
- uses: superfly/flyctl-actions/setup-flyctl@master
- run: flyctl deploy --remote-only
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
전문은 이렇다. 나는 이 workflows
가 추가되니까 git의 토큰도 필요해서(맥이라서 빡빡한건가?) 여튼 그것도 추가해서 push 해줬다.
그렇게 푸쉬하면 이제
이게 기존 메인 화면이고,
이게 이제 git push
시에 바로 재배포 된 화면
그러니까 이제 git의 master branch에 푸쉬만 하면 바로 재배포 되는 개쪄는 자동화임.
action 탭에서 진행된 것들 확인할 수 있고 진행중이라면 진행중인 것, 그리고 실패 성공 상태까지 다 확인 가능함.
아 그리고 secret의 내용을 바꾸고 싶다면, 아까 설정했던 Action Secret에서 수정을 해야지 적용됨. 왜? secret의 코드는 외부로 나가면 안되니까 gitignore처리가 되어있어서 저기 직접 주입해놨으니까 저길 만져야함.
아무튼 이렇게 일단 끝!