[Cloudflare] Pages 배포 자동화하기 (Github Action)
원래 Github Page로 배포해놓고 쓰던 정적사이트가 하나 있었는데, 너무 불편하고 제약도 많아서 cloudflare page로 옮기게 됐다.
그리고 CI/CD는 github action으로 쓰려 한다.
github action 코드는 대충 이런식이면 된다.

# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [ master ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '16'
# Runs a single command using the runners shell
- name: install
run: npm install
- name: build
run: npm run build
- name: Publish to Cloudflare Pages
uses: cloudflare/pages-action@1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: 프로젝트명
directory: 배포경로
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
저기서 CLOUDFLARE_API_TOKEN와 CLOUDFLARE_ACCOUNT_ID란 것만 잘 찾아서 깃헙 시크릿에 넣어주면 된다.
cloudflare 페이지로 가보자
account id는 아무 도메인 리소스로 이동해서

저기 우측에 모자이크쳐놓은 Account ID를 가져다쓰면 된다.
토큰은 직접 만들어야 한다.
내 프로필에서 API Tokens로 이동하고

생성

커스텀 생성

Pages 권한을 넣어주고 만들면 된다.

그럼 이렇게 토큰값을 보여줄 것이다.
한번만 보여주고 마니, 잘 저장해놓자.
그리고 저 두개를
시크릿에 저장하고 배포만 하면 된다.
난 잘 됐다.


단점
이걸 쓰면 무조건 배포 브랜치가 main으로 고정되고, 바꿀 수가 없다.
브랜치를 마음대로 하려면 github action이 아니라 cloudflare에서 빌드를 돌려야 한다.