GitHub Action 

: 깃헙에서 제공하는 CI/CD 및 자동화 서비스로 깃헙 레파지토리에서 발생하는 이벤트에 따라 워크플로우를 정의하고 이틍 통해 소트프웨어 빌드, 테스트, 배포 등을 자동으로 수행할 수 있다. 

  1. 깃헙에 업로드한 걸 로컬 컴퓨터에 Clone
  2. 코드를 수정해서 기능을 변경 또는 추가
  3. 깃헙에 Push
  4. CI 서버에서 자동으로 우분투 설치, JDK 설치, 코드 다운로드, 코드 테스트, build
  5. 정상이면 배포

CI 서버를 사용하기 위한 스크립트 deploy.yml 파일 작성

===> 프로젝트 이름에 main 브랜치에 푸시

===> 여러 작업은 'jobs' 섹션에서 정의하고 각 작업은 'steps'로 구성된다. steps에는 워크플로의 각 단계에 해당하는 작업을 정의한다.

== uses : actions/checkout@v3 (actions 라이브러리에서 제공하는 명령어로 먼저 저장소를 체크아웃해준다.)

== uses : actions/setup-java@v3 (actions 라이브러리 에서 제공하는 명령어로  java 설치)

== run : chmod + x ./gradlew (gradlew 파일 권한 부여)

===> 한국시간으로 시간 설정

===> run : | 은 여러 줄로 명령어를 작성하겠다는 의미

mkdir deploy : deploy 파일 생성

cp build/libs/*.jar deploy/application.jar : build/libs/*.jar에서 생성된 jar 파일을 deploy/application.jar에 복사

cp procfile deploy/procfile : procfile를 deploy/procfile에 복사

cp -r .ebextensions deploy/.ebextensions : ebextensions 폴더를 deploy.ebextensions 폴더로 복사

(엘라스틱 빈스톡의 .ebextensions 폴더가 프로젝트의 특정 디렉토리로 정리되어 배포를 위한 설정 파일들이 별도의 위치에 저장될 때 사용할 수 있는 명령어)

cp deploy && zip -r deploy.zip : 두 개의 명령어를 사용하여 실행하려는 듯한 구문이지만, 명령어 간의 &&로 연결되어 첫 번째 명령어가 성공하면 다음 두 번째 명령어가 실행되도록 하는 것.

 

 

 

 

 

 

 

 

[K-디지털] AWS 리눅스 기반 클라우드 데브옵스 기초 실무 과정 참고하며 작성하였습니다.

+ Recent posts