쿼카러버의 기술 블로그

[Github Action] Github Action 간단 시리즈 3탄 : Secret 및 Environment적용해보기 본문

[Infra & Server]/데브옵스

[Github Action] Github Action 간단 시리즈 3탄 : Secret 및 Environment적용해보기

quokkalover 2022. 1. 20. 21:11

앞 시리즈에서는 다음의 내용을 다루었다. 

 

1) Github Action의 Core 개념

https://etloveguitar.tistory.com/74

 

2) 내 레포에 Github Action에 간단한 CI 적용해보기

https://etloveguitar.tistory.com/75

 

 

그러면 이번 시리즈에서는 남들에게 노출되면 안되는 정보를 Secret, Environment(시크릿, 환경변수)에 담아 Github Action에  적용하는 법을 알아보자

 

Secret등록

레포의 Settings에 들어가보면 아래처럼 Secret을 설정할 수 있음

 

 

여기서 내가 원하는 Key이름을 정해주고 Value에 원하는 값을 담아주면 Github에서 암호화해서 정보를 보관하고 있다가 Github액션에서 해당 키로 Secret을 호출시에 해당 value를 추출해서 사용한다. 어떻게 적용되는지는 뒤의 예시 코드에서 살펴보도록 하겠다.

 

Environment 등록

위처럼 Secret으로 등록할 수도 있지만 환경변수를 명시적으로 등록해줄 수도 있다. 

아래 이미지 처럼 직접 Environement를 Configure해보고 원하는 Key와 Value를 적어보자

 

Github 액션에 적용해보기

 

무튼 위 처럼 Secret이나 Env를 설정하고 Github액션 실행해보면 정상 실행되는 것 확인 가능하다.

- 본 글에서는 Secret = HAHA key로, HAHAtest를 value로 설정했ㅎ고

- Environment로는 DFDF를 Key로, DFDFtest를 value로 설정했다.

 

아래 script를 간단히 보면 알듯이,

- shell: bash
        name: Secret Test
        env: 
          TEST_SECRET: ${{ secrets.HAHA }}
        run: |
          
          if [ $TEST_SECRET==HAHAtest ]; then echo same ; fi
          
      - shell: bash
        name: Environment Test
        run: |
          # if [ DFDFtest==DFDFtest ]; then echo same ; fi prints 'same'
          if [ $DFDF==DFDFtest ]; then echo same ; fi

TEST_SECRET이라는 변수에 HAHA scret의 value를 저장하고, 

커맨드를 통해 호출했을때 HAHAtest가 리턴되면 same을 출력, 아니면 아무것도 하지 않도록 했다.

또한 환경변수로는 DFDF라는 환경변수를 호출해서 DFDFtest라는 value가 리턴되면 same을 출력하도록 했다. 

 

자 한번 위의 수정사항을 반영해서 커밋을 날려보고 어떻게 깃헙액션이 적용됐는지 확인해보자

 

성공적으로 same이 출력되는 것을 확인할 수 있다.

 

위처럼 매우간단하게 SECRET과 Environment변수를 Github액션에 적용할 수 있다.

 

이번 1-3탄 까지의 시리즈의 코드 전체를 보려면 아래 repo를 참고하길 바란다.

https://github.com/getveryrichet/github_action_test

 

GitHub - getveryrichet/github_action_test

Contribute to getveryrichet/github_action_test development by creating an account on GitHub.

github.com

 

Comments