팀 프로젝트를 vercel에 배포를 하면 비용이 발생한다고 한다. aws와 vercel을 고민하던 중 aws 비용이 부담이 되 vercel로 배포를 하는건인데 팀 프로젝트로 하면 비용이 발생해서 해결법?을 기록해보겠습니다
먼저 개인 리포지토리를 따로 만드는 것입니다.
새롭게 하나 만들어주면 됩니다.
그리고 vercel에 개인 리포지토리로 연동해줍니다.
GitHub Actions를 사용하여 리포지토리에서 바로 소프트웨어 개발 워크플로를 자동화, 사용자 지정 및 실행합니다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유하고 완전히 사용자 정의된 워크플로에서 작업을 결합할 수 있습니다.
팀 프로젝트 리포지토리에서 Github Action을 사용하기 위해 설정을 해줄겁니다.
.yml
파일 만들기.github/workflows/.yml
로 만들어줍니다.
name: send
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
container: pandoc/latex
steps:
- uses: actions/checkout@v2
- name: Install mustache (to update the date)
run: apk add ruby && gem install mustache
- name: creates output
run: sh ./build.sh
- name: Pushes to another repository
id: push_directory
uses: cpina/github-action-push-to-another-repository@main
env:
API_TOKEN_GITHUB: ${{ secrets.AUTO_ACTION }}
with:
source-directory: 'output'
destination-github-username: "your-github-name"
destination-repository-name: "your-project-name"
user-email: ${{ secrets.OFFICIAL_ACCOUNT_EMAIL }}
commit-message: ${{ github.event.commits[0].message }}
target-branch: vercel
- name: Test get variable exported by push-to-another-repository
run: echo $DESTINATION_CLONED_DIRECTORY
secret 변수 총 2개 등록해줍니다.
branch는 사용하는 메인 브런츠를 적으면 됩니다.
settings -> Developer Settings -> Tokens (classic)
에서 토큰을 발급해주면 됩니다.
팀 리포지토리 -> Settings -> Secrets and variables(Actions)
에서 등록해줍니다.
build.sh
파일 만들기루트 경로로 build.sh
파일을 하나 만들어줍니다.
그리고 [team-repo-name]는 모두 지우고 리포지토리 이름으로 채워줍니다.
cd ../
mkdir output
cp -R ./[team-repo-name]/* ./output
cp -R ./output ./[team-repo-name]/
결론은 팀 리포지토리에서 개인 리포지토리로 옮겨서 개인 리포지토리로 배포를 하는 것입니다.
그러기 위해서 Github Action을 사용해서 CI/CD를 해서 옮기고 개인 리포지토리에 잘 옮겨졌는지 확인해보고 배포 환경에서도 잘 작동하는지 확인해보면 됩니다