1. 어려웠던 부분 

  • 우리팀은 계속해서 CD 과정에 오류를 겪고 있었다. 우리는 application-local.properties 파일에 깃헙이나 외부에 노출되면 안되는 정보들을 담아주고 있고, 이 파일을 깃헙에서 Secrets 파일로 설정해 놓았다. 

  • 그런데, CD를 하는 과정에서 계속 이 properties 파일이 포함되지 않고 빠지는 오류가 있었다. 이 부분을 우리팀 트러블슈팅 해결사 소영님이 해결해 주셨다. 아래는 우리 프로젝트의 gradle.yml파일 일부분이다.
  • 오류가 났던 경우엔 키 정보 있는 properties 부분이 #build 부분 아래에 위치하고 있었다. 즉, 빌드를 다 하고 나서야 암호화된 부분이 작동하기 때문에 빌드에 반영이 되지 않았던 것이다.
      # 키 정보 있는 properties 따로 관리
      - name: make application.properties
        if: true
        run: |
          cd ./src/main/resources
          touch ./application.properties
          echo "${{ secrets.PROPERTIES }}" > ./application.properties
        shell: bash

      # gradlew 권한 설정
      - name: Grant execute permission for gradlew
        run: chmod +x ./gradlew
        shell: bash

      # build
      - name: Build with Gradle
        run: ./gradlew clean build -x test
        shell: bash
  • 아래는 소영님 블로그에서 발췌한 부분이다. 

📍gradle.yml 수정 (메인이되는 yml 파일)

yml 파일에서 jobs > steps 부분에서 아래 코드를 추가해야하는 데 반드시 build과정 전에! 이 코드가 있어야한다. 

깃헙 프로젝트 배포 과정에서 application-secret.properties를 포함시켜준 뒤 빌드를 하고 그 jar를 복사해 EC2에서 실행해야 하기 때문. 빌드 뒤에 들어가버리면 jar파일에서 빠져버려 정상 작동하지 않는다.

 

2. 느낀 점 : 

  • 드디어 CD 까지 성공하였다 ! 일주일 내내 고생하신 팀원분들에 너무 감사하다. 항해99 솔직히, 부트캠프에서 제공해주는 자료를 통해 배우는 것보다 팀원분들과 반 분들에게 배운게 더 많은 것 같다. 

 

3. 새로 알게 된 내용 :

  • gradle.yml 파일의 경우, 프로젝트마다 customized 되기 때문에 구글링을 통해 코드를 긁어오기보다 맡은 프로젝트의 성격에 맞게 새로  추가되는 부분이 많았다. 주의할 점은 이 파일의 코드는 위에서부터 아래로 실행 된다는 것이다. 따라서 순서를 유의해서 작성해야 한다.

 

4. 셀프칭찬 (오늘 잘한 일) 

  • 오늘도 부족한 나는 천천히 내 속도에 맞춰서 앞으로 가는 중!

 

5. 내일 할 일 : 리프레시 토큰 유효기간 설정하는 코드 추가하기


[오늘 공부한 부분]

 

[20] Spring CI/CD (2) CI 실전편

 

[20] Spring CI/CD (2) CI 실전편

지난 번에 개념을 공부했으니 오늘은 Github을 이용하여 CI를 구현하는 방법을 포스팅 : ) 미래의 나를 위한 포스팅이다. 1. Actions -> new workflow -> Java with Gradle [configure] 클릭 2. Edit new file 에 코드 추

leejincha.tistory.com

 

+ Recent posts