Git Action Json 생성

bbbooo·2023년 11월 21일
post-thumbnail

🚨 상황

gcp 키가 있는 json 파일을 gitIgonore로 처리하고 해당 파일을 action이 돌아갈때 원하는 경로에 secret.json 이라는 이름으로 생성되도록 하고자 했다.

기존에 yml도 비슷하게 작업한 경험이 있어서 처음에는 json도 그와 유사하게 작업하였다.

🛠️ 첫번째 방법

- name: create secrets file
        run: |
          touch ./src/main/resources/config/secret.json
          echo "${{ secrets.SECRET_JSON }}" >> ./src/main/resources/config/secret.json

경로를 보면 틀리진 않았는데 왜 못 찾는거지..? 코드상에서 문제는 보이질 않아 관련 자료가 있을까 싶어 서치를 해보다 다음의 라이브러리를 발견하여 두번째 방법을 시도해보았다.

create-json

🛠️ 두번째 방법

- name: create-json
        id: create-json
        uses: jsdaniell/create-json@1.1.2
        with:
          name: "secret.json"
          json: ${{ secrets.SECRET_JSON }}
          dir: 'src/main/resources/config/'

돌이켜보니, 애초에 config 디렉토리 안에 secret.json밖에 없는 상태고 해당 파일을 gitIgnore에 추가했기 때문에 해당 PR에 config 디렉토리 자체가 올라가지 않았었다

이때 두 가지 선택지가 있었다.

  1. config 디렉토리 안에 아무런 내용이 없는 더미 파일을 만든다.
  2. action 동작 시, config 디렉토리를 생성한다.

application.yml 생성할때는 전자로 했기에 이번에는 후자로 해보고 싶어 직접 생성해보았다.

🛠️ 세번째 방법

- name: Create config directory
        run: mkdir -p ./src/main/resources/config/
- name: create-json
        id: create-json
        uses: jsdaniell/create-json@1.1.2
        with:
          name: "secret.json"
          json: ${{ secrets.SECRET_JSON }}
          dir: './src/main/resources/config/'

업로드중..

성공적으로 해결하였다!

아쉬운 부분은 디렉토리 문제를 먼저 알아챘으면 금방 해결하지 않았을까 싶다.

0개의 댓글