IT기타

GitHub Actions <-> Fly.io 자동배포(ci/cd)

emilyyoo 2025. 2. 7. 23:53
728x90
반응형
name: Fly Deploy
on: [push]
env:
  FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
jobs:
  deploy:
    name: Deploy app
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: superfly/flyctl-actions/setup-flyctl@master
      - run: flyctl deploy​
gh secret set FLY_API_TOKEN --repos <username>/<repository-name>

 
GitHub Actions를 활용해 자동 배포 워크플로우를 설정하는 방법을 공유하려고 한다.
 
 
**선행 작업. 
github에 repository 만들고 로컬소스와 연결시켜놓은 상태에서 시작.
모른다면 아래 글 참고.
->
https://betterwe.tistory.com/297
 

1. Fly.io에 배포할 수 있도록 설정

 
자신의 프로젝트 루트에서 아래 명령어 실행.

# fly.toml 설정 파일 자동 생성 및 AMS 지역 설정, 배포
flyctl launch --region ams --now

 
 

2. GitHub Actions로 자동 배포 설정

GitHub 리포지토리가 준비되었으면, 이제 GitHub Actions를 활용하여 코드 변경 시 자동으로 Fly.io에 배포되도록 설정할 수 있다. 이를 위해 Fly.io는 GitHub Action 템플릿을 제공하여, 자동 배포를 간편하게 구성할 수 있도록 도와준다.
 
 

  • 먼저 Fly.io에서 배포용 토큰을 생성한다.
fly tokens deploy

 
 
---> 그런 아래 이미지처럼 토큰생성되고 복사해둔다. 아래단계에서 필요하다.
 

 
 
 
 

  • 생성한 FLY_API_TOKEN을 GitHub 리포지토리의 비밀(secrets)로 저장한다. 이를 통해 GitHub Actions에서 이 토큰을 안전하게 사용할 수 있다.
gh secret set FLY_API_TOKEN --repos <username>/<repository-name>

 Paste your secret *******************************************

✓ Set Actions secret FLY_API_TOKEN for <username>/<repository-name>

 
 

  • GitHub 리포지토리의 .github/workflows/main.yml 파일을 생성하고, 아래와 같은 내용을 추가한다.
name: Fly Deploy
on: [push]
env:
  FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
jobs:
  deploy:
    name: Deploy app
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: superfly/flyctl-actions/setup-flyctl@master
      - run: flyctl deploy

 

  •  
    위 설정을 완료한 후, 코드를 커밋하고 푸시한다.
git add .
git commit -m "Configure auto-deploy through GitHub Actions"
git push

 

3. 배포 확인

GitHub 리포지토리의 Actions 탭에서 배포 상태를 확인할 수 있다. 
 
 

 
 
--->
자동 배포가 성공적으로 진행되면, Fly.io에서 애플리케이션이 정상적으로 실행되는지 확인할 수 있다.

 
 
 
---> public 웹사이트 주소로 접속가능

 
 
 
 
 
 

728x90
반응형