Skip to content

Qvil Blog

Github actions environment variables

Blog, Github, Gatsby, Google Analytics, Google AdSense1 min read

Google analytics와 adsense 정보를 .env로 관리하는데 배포된 블로그에 적용이 안되는 이슈가 있었다.

내 경우 plugin을 사용하는데 아래와 같은 방식으로 .env를 참조하게 해놨다. 그래서 실제 배포 시 .env가 배포되지 않으므로 plugin이 정상동작하지 않았다.

gatsby.config.js

1{
2 resolve: `gatsby-plugin-google-analytics`,
3 options: {
4 trackingId: process.env.GOOGLE_ANALYTICS_ID,
5 },
6},

그래서 아래와 같은 전략으로 env를 관리하도록 수정했다.

  • development
    1. gatsby.config.js가 local의 .env 파일 참조
  • production
    1. github secrets에 .env에서 사용하던 환경변수 추가
    2. github actions(workflow) 동작 시 secrets를 참조하여 env추가
    3. development와 동일하게 gatsby.config.js가 production의 .env 파일 참조

1. github secrets에 .env에서 사용하던 환경변수 추가

github-secrets

2. github actions(workflow) 동작 시 secrets를 참조하여 env추가

.github/workflows/main.yml

1name: Gatsby Publish
2
3on:
4 push:
5 branches:
6 - develop
7
8jobs:
9 build:
10 runs-on: ubuntu-latest
11 steps:
12 - uses: actions/checkout@v1
13 - uses: enriikke/gatsby-gh-pages-action@v2
14 with:
15 access-token: ${{ secrets.ACCESS_TOKEN }}
16 env:
17 GOOGLE_ANALYTICS_ID: ${{ secrets.GOOGLE_ANALYTICS_ID }}
18 GOOGLE_ADSENSE_ID: ${{ secrets.GOOGLE_ADSENSE_ID }}

참고