Github Actions에서 비밀을 어떻게 사용하나요?
Oct 06 2020
나는 이것이 정말 어리석은 질문이라고 생각하지만 그것을 이해하지 못하는 것 같습니다. 나는 한 정말 간단한 Node.js를 프로젝트 설정 A를 API_KEY비밀로합니다.
에서 nodejs 행동 YML I는 다음이있다 :
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }}
env:
API_KEY: ${{ secrets.API_KEY }}
- run: export
- run: npm ci
- run: npm run build --if-present
- run: npm test
API_KEYexport내가 예상했던대로 표시되지 않으며 내가 console.log(process.env).
문서에 따르면 이것은있는 그대로 작동합니다. 정말 간단한 것을 놓치고있는 것 같습니다.
이것은 이 stackoverflow 질문에서 제안한 포크가 아닙니다 .
내 노드 스크립트에서 사용 가능한 API_KEY를 얻으려면 무엇을 놓치고 있습니까?
답변
1 BenjaminW. Oct 06 2020 at 22:04
환경 변수는 세 가지 수준에서 정의 할 수 있습니다.
- 전역 :라는 최상위지도 env
- 작업 별 수준 : jobs.
.env - 단계별 수준 : in jobs.
.steps.env
사용 가능한 가장 구체적인 변수가 선호됩니다. 예를 들면 :
env:
VAR: I am global
jobs:
job1:
steps:
- run: echo "$VAR" # "I am global" job2: env: VAR: I am on the job level steps: - run: echo "$VAR" # "I am on the job level"
- env:
VAR: I am on the step level
run: echo "$VAR" # "I am on the step level" - run: echo "$VAR" # "I am on the job level"
단계에서 환경 변수를 동적으로 설정하고 추가 단계에서 사용할 수 있도록하려면 환경 파일 을 사용해야 합니다 ( 최근 에 환경 변수에 대해 더 이상 사용되지 않는 워크 플로 명령 사용에서 변경됨 ).
steps:
- name: Set the variable
run: echo "foo=bar" >> "$GITHUB_ENV" - name: Print the variable run: echo "$foo" # bar
오래되고 이제는 더 이상 사용되지 않는 방법은 다음과 같이 설정합니다.
run: echo "::set-env name=foo::bar"
그러나 이것은 이제 사용 중단 경고를 트리거합니다.