AWS CodeBuild Plugin 사용하여 AWS 연동하기
다양한 상황에 대응하기 위해 여러가지 복잡한 구조가 필요한 상황이 있을 수 있다. 예를 들어 젠킨스에서 빌드하고 Tag 값을 CodeBuild 에 전달하기 위한 상황에서 AWS 에 권한이 없다거나 하는 경우가 있다. 이러한 상황을 해결하기 위해 Jenkins 에서 CodeBuild 를 호출하는 방법을 정리했다. 또한 원하는 변수 값을 같이 전달한다.
Jenkins 에서 AWS CodeBuild 를 호출하기 위해선 Access Key 와 Secret Key 가 필요하다.
AWS 계정을 식별할 수 있어야 해당 계정 안에 있는 CodeBuild 를 접근할 수 있기 때문이다. 또한 외부에서 아무나 접근이 가능하면 비용적인 문제가 있을 수 있기 때문에 해당 key는 엄격히 관리 되어야 한다.
https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/id_credentials_access-keys.html
Access Key 와 Secret Key 를 발급받았다면 Jenkins 에서 연동할 Plugin 을 설치한다.
해당 문서에는 Pipeline 에서 사용하는 방법만 작성되어 있어서 불편하다. 해당 작업할 때 Pipeline 으로 구성할 만큼 내용이 많지도 않아서 job 설정에서 처리하였다.
https://plugins.jenkins.io/aws-codebuild/
Plugin 이 설치된다면 jenkins job 의 build step 에서 AWS CodeBuild 항목을 찾을 수 있다.
해당 항목에 값을 입력해서 jenkins job 이 실행되면 codebuild 를 수행할 수 있도록 할 예정이다.
CodeBuild 는 사전에 설정이 완료되어 있어야 한다.
앞서 언급한 Access Key 와 Secret Key 가 발급되어 있어야 한다. AWS Configuration 에 값을 입력해준다.
정상적으로 입력했다면 원하는 AWS 계정에 접근이 가능해진다. 해당 키는 외부와 공유하면 안되는 Key 로 유출된다면 반드시 변경이 필요하다.
Project Configuration 에서는 AWS Codebuild 의 region 과 이름을 작성해서 호출할 프로젝트 정보를 제공한다.
만약 jenkins 에서 값을 변경하고 싶다면 빌드할 Repository 의 주소 와 브랜치를 작성할 수 있다.
Repository 의 주소는 CodeCommit 뿐 아니라 GitHub, S3, BitBucket 등 다양한 저장소를 사용할 수 있다.
여기서는 기존 CodeBuild 에서 CodeCommit Repository 가 설정되어 있기 때문에 branch 정보만 입력해서 호출하는 식으로 하였다.
빌드할 때 변수 값을 jenkins 에서 codebuild 로 전달할 필요가 있을 수 있다.
이때는 Build Configuration 항목의 Environment Variables Override 항목에 설정이 가능하다.
상단에서 value 변수에 값을 설정한 후 Environment Variables Override 항목에 Codebuild 에 전달할 변수 이름, 전달할 값을 순서대로 입력하여 작성해주면 해당 값을 환경변수로 Codebuild 를 호출하게 된다.
실행한 결과를 보면 Project Name, Source Branch, 원하는 환경 변수 값 등을 가지고 호출하는 것을 볼 수 있다.
'⇥ DevOps Tech 🙋🏻♀️ > ✏️ Jenkins' 카테고리의 다른 글
Jenkins 에서 빌드한 artifact 를 Ansible 로 넘기는 방법 [nginx file hosting] (1) | 2023.10.16 |
---|---|
Jenkins Pipeline 으로 git clone , build 수행하기 (0) | 2023.10.11 |
Bitbucket 과 AWS CodeCommit Jenkins를 이용한 Mirroring (0) | 2023.10.10 |
Jenkins 와 Ansible Tower (AWX) 연동, API 사용 (0) | 2023.10.10 |
BACKUPSET 을 이용한 JENKINS 복구 방법 (1) | 2022.12.26 |
댓글
이 글 공유하기
다른 글
-
Jenkins 에서 빌드한 artifact 를 Ansible 로 넘기는 방법 [nginx file hosting]
Jenkins 에서 빌드한 artifact 를 Ansible 로 넘기는 방법 [nginx file hosting]
2023.10.16 -
Jenkins Pipeline 으로 git clone , build 수행하기
Jenkins Pipeline 으로 git clone , build 수행하기
2023.10.11 -
Bitbucket 과 AWS CodeCommit Jenkins를 이용한 Mirroring
Bitbucket 과 AWS CodeCommit Jenkins를 이용한 Mirroring
2023.10.10 -
Jenkins 와 Ansible Tower (AWX) 연동, API 사용
Jenkins 와 Ansible Tower (AWX) 연동, API 사용
2023.10.10