젠킨스 내부 세팅을 하도록 하겠습니다.
먼저 예제 소스가 Spring Boot Maven이기 때문에 Jenkins에 Maven을 세팅하겠습니다.
자 이제는, Git Clone을 해올 때, 권한이 있어야 하기 때문에 Credentials를 만들어 주도록 하겠습니다.
먼저 IAM으로 가서 계정을 만들고 권한을 준 후 Git Credentials를 만들어서 Jenkins에 등록하겠습니다.
권한을 필수 레파지토리만 읽고 가져올 수 있도록 상세하게 구성하는 것이 가장 좋습니다.
위와 같이 유저를 생성한 후에 유저에 들어가서 보안 자격 증명 탭에서
CodeCommit Repository에 대한 Git Credentials를 만들 수 있습니다.
자 이제 만들어진 Git Credentials을 아래와 같이 젠킨스에 등록하겠습니다.
이제소스를 클론해서 빌드하고 업로드 해야 하기 때문에
Codecommit Repository를 Jenkins Job Name으로 만들겠습니다.
기존에 가지고 있던 예제 소스가 있기 때문에 이를 업로드하여 사용하도록 하겠습니다.
cb-test-api.zip 파일을 받아서 레파지토리를 클론 한 후 옮겨주시고 푸시해주세요
아래와 같이 레파지토리를 clone 했을 때, pom.xml이 있어야만
따로 젠킨스에서 pom.xml 경로를 적어주지 않아도 됩니다.
이제 Jenkins가 업로드할 S3 버킷을 만들겠습니다.
버킷 이름은 cb-test-deploy/Jenkins Job name으로 만들어서 사용하도록 하겠습니다.
자, 그렇다면 젠킨스 서버에서 S3 및 코드 디플로이에 대한 명령을 수행할 수 있는 권한이 있어야 하는 것이기 때문에
Jenkins가 설치된 서버에 해당 Role을 등록해 주어야 합니다.
먼저 IAM - Role에서 해당 롤을 구성해 주겠습니다. EC2를 선택해주시고,
S3와 CodeDeploy에 대한 권한을 줍니다. (각 정책을 상세하게 할 수록 좋습니다.)
이제 EC2 대시보드 인스턴스에서 IAM을 연결해 줍시다.
이제 코드디플로이와 젠킨스 잡 설정만 남았습니다.
이제 다음 포스트에서 실제 서비스에 배포까지 자동화 하는 부분을 구성해 보도록 하겠습니다.
'CICD > EC2' 카테고리의 다른 글
EC2 CICD Automation - 6. CodeDeploy (Blue/Green) (0) | 2020.01.28 |
---|---|
EC2 CICD Automation - 5. CodeDeploy (Rolling) (0) | 2020.01.25 |
EC2 CICD Automation - 4. Jenkins Job (0) | 2020.01.24 |
EC2 CICD Automation - 2. Jenkins 설치 (1) | 2020.01.23 |
EC2 CICD Automation - 1. Intro (0) | 2020.01.23 |