codingBird

TIL - Github Action CI 본문

TIL

TIL - Github Action CI

김뚜루 2023. 4. 13. 11:42

성공

최근 프로젝트 서버와 데이터베이스를 Fly에서 AWS를 옮기고 CI/CD 파이프라인 구축을 하고 있는데 어제 저녁부터 Github Action과 싸운 끝에 결국 승리했냈다.

현재까지 진행된 과정은 아래와 같다.

  1. 로컬에서 Dockerfile을 이용해 Docker Image를 굽고 Dockerhub로 push
  2. AWS EC2에서 Dockerhub에 있는 Docker Image를 받고 Docker Container로 빌드
  3. AWS ROUTE53 호스팅을 통해 EC2 인스턴스 HTTPS 적용
  4. Github action을 사용해 자동화 빌드 및 테스트 적용

Github Action 사용시 주의할 점

  • application.properties에 민감한 정보가 담겨 .gitIgnore에 추가되어 있는 경우에는 Git secrets에 환경변수를 추가해서 사용해야 한다. 아래와 명령어를 Workflow에 작성하면 Git Runner는 git secrets APPLICATION 내용으로 application.properties 을 생성한다.
- name: Create resources folder
      run: mkdir -p ./src/main/resources

    - name: Create application.properties
      run: touch ./src/main/resources/application.properties

    - name: Setup application.properties
      run: echo "${{secrets.APPLICATION}}" > ./src/main/resources/application.properties
  • gradle을 이용해 build와 test를 하기 때문에 .gitIgnore 설정에 /gradle을 빼야한다.

이제 마지막 단계인 Github Action에 Workflow를 하나 더 추가해서 Github runner에서 도커이미지를 굽게하고 Dockerhub에 push하도록 해보자.