Github Actions - Django (secrets.json 이용)

leejm·2023년 5월 31일
0

Django를 이용한 Github Actions 세팅

세팅 순서

  1. 먼저 .github/workflows/ 경로에 yml 파일을 통해 workflow를 정의해주어야 합니다.
    처음부터 형식에 맞춰서 쓰는 것도 좋은 방법이지만, Github 레파지토리의 위 Actions 탭을 클릭하고 New workflow를 누르면, Github에서 많은 suggestion을 제공합니다.

  2. 이 중, 저는 Django를 선택했습니다. 아래와 같은 편집 창이 나옵니다.

  3. 해당 내용을 원하는 대로 수정하고 커밋해주시면 됩니다.

secrets.json 관리

Django를 쓰시면서 .env를 이용하시는 분들도 계시지만 secrets.json을 이용해 secret key를 json 형태로 분리한 뒤, 따로 관리하시는 분들도 많습니다.
후자의 경우에는 github actions을 사용할 때 어떻게 key를 적용해야하는지 말씀드리겠습니다.

base64 인코딩을 이용한 방법입니다.

  1. secrets.json을 인코딩한 후 secrets란 파일에 넣고 출력하는 명령어입니다.
cat secrets.json | base64 > secrets
  1. 이후에 출력된 내용을 runner에 변수로 넣어주어야 합니다.
    레포지토리의 settings 탭에서 Secrets and variables - Actions에 들어갑니다. 그리고 secrets 탭을 눌러주고 New repository secret 버튼을 클릭할 겁니다.
  1. 이런 화면이 나옵니다. 이름은 SECRETS_JSON, 내용은 아까 인코딩하여 출력된 내용을 넣어줍니다.

  2. 이후엔 yml 파일에 아래와 같이 넣어주시면 됩니다.

    - name: Setting Secrets
      run: |
        echo $SECRETS_JSON | base64 --decode | jq > secrets.json
      env:
        SECRETS_JSON: ${{secrets.SECRETS_JSON}}

env를 통해서 설정한 이름으로 변수를 불러올 수 있고
이를 환경변수로 활용하며 run에서 사용해주면 됩니다.

profile
Python Based Backend Engineer입니다. DevOps와 효율적으로 일하는 것에 관심이 있습니다.

1개의 댓글

comment-user-thumbnail
2023년 5월 31일

.

답글 달기