0. 사전 준비 사항
- Github 계정
- Jenkins 서버
- Terraform backend용 S3, DynamoDB
1. Terraform 플러그인 설치 [Jenkins]
1-1) Jenkins 관리 > 플러그인 관리 > 설치 가능 > terraform 검색 후 설치
1-2) Jenkins 관리 > Global Tool Configuration
Terraform > Terraform installations > Add Terraform 클릭
1-3) Jenkins 서버 Terraform CLI 설치
링크 : https://www.terraform.io/downloads>
참고) Jenkins를 Docker Image로 배포한 경우 Docker Image 수정 필요
2. 신규 레파지토리 생성 및 파일 업로드 [Github]
2-1) 신규 레파지토리 생성
* Private 선택 시 Github Access Token 발급 필요
2-2) 신규 레파지토리 로컬 git clone
git clone [github 레퍼지토리 url]
2-3) .gitignore, basicinfo.tf, Jenkinsfile, terraform 자원 파일 업로드
[주의] Terraform backend용 S3, DynamoDB 자원을 보유하고 있어야 함
basicinfo.tf내 S3, DynamoDB 자원을 본인의 자원명으로 변경 후 업로드 필요
파일 참고 :
3. 신규 Item 생성 [Jenkins]
새로운 Item > item 명 입력 > Pipeline 선택 > OK
4. Github webhook 설정
4-1) [Github] 설정
Settings > Webhooks > Add webhook
5. AWS IAM User credential 설정
5-1) Jenkins 관리 > Security > Manage Credentials 클릭
5-2) Jenkins 클릭 > Global credentials 클릭 > Add Credentials 클릭
5-3) AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_ACCOUNT_ID 등 개별 Credential 생성
6. 파이프라인 실행을 위한 Github push
7. 파이프라인 시작 확인
Status > Proceed 클릭 (terraform plan 승인 단계)
8. Terraform 정상 배포 확인 [AWS]
참고 자료
- Github Access Token 발급 (https://curryyou.tistory.com/344)
- Jenkins에 Terraform 파이프라인 설정하기 (https://medium.com/nerd-for-tech/deploying-aws-resources-using-terraform-and-jenkins-pipeline-1c706f1a2e7c)
'Cloud & DevOps > CICD' 카테고리의 다른 글
[Jenkins] Jenkins agent 파드에 toleration 추가하는 방법 (0) | 2024.08.31 |
---|---|
[Jenkins] JCasC로 프로젝트(job) 이름 규칙 정하기 (0) | 2023.02.18 |
[Jenkins] jnlp agent (0) | 2023.02.18 |
[Gitlab] Private registry에 등록된 Docker image 사용 방법 (0) | 2023.01.03 |
Docker Machine deprecated에 따른 gitlab 오류 현상 (0) | 2022.07.11 |