cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 7주차 정리입니다.
Oauth란 무엇인가요?
✅ 인증을 대신 해 주는 기술
- 아래와 같은 로그인 창을 보셨을 것입니다. 별도의 회원가입 없이 로그인을 제공하는 플랫폼의 아이디만 있으면 서비스를 이용 할 수 있습니다
- 이러한 기술은 어떻게 이루어져있을까요?
- 자세한 내용은 다음 생활코딩 강좌를 참고하시길 바랍니다.
https://www.youtube.com/watch?v=hm2r6LtUbk8&list=PLuHgQVnccGMA4guyznDlykFJh28_R08Q-
1. Github Provider 연동 하기
- VCS와 직접 통합되어 별도 워크플로 작성 없이도 풀 리퀘스트에 대한 Plan 결과를 확인할 수 있으며 지정된 브랜치에 병합이 발생하면 테라폼을 실행하는 자동화된 구성이 가능하다. 지원되는 VCS는 아래와 같다
- Github.com / Github.com (OAuth) / Github Enterprise
- Gitlab.com / Gitlab EE와 CE
- Bitbucket Cloud / Bitbucket Server
- Azure DevOps Server / Azure DevOps Services
- TFC Org → Setting → Provider ⇒ [Add a VCS provider] 클릭 : Github.com (Custom) 선택 후 → [register a new OAuth Application] 클릭
- Provider 선택
- Add a VCS Provider 클릭 > Github.com(Custom)
- register a new Oauth Application 클릭
- github에 정보 입력 > register Application
Application name: Terraform Cloud (themapisto-org)
Homepage URL: https://app.terraform.io
Application description: Any description of your choice
Authorization callback URL: https://app.terraform.io/auth/{{변수값}}/callback
- Client ID 와 Secret 획득
- 완료
2. TFC 워크스페이스 연동
- 이전에 사용한 워크스페이스 선택 → Setting → Version Control 선택 ⇒ [Connect to version control] 클릭
- 연동된 VCS목록에서 [My Github.com] 선택
- 포크된 저장소 선택
- Confirm changes :Auto Apply 선택, Always trigger runs 선택, VCS branch(main 입력), Pull Request(Automatic… 체크) → 하단 Update VCS Setting 클릭
- 워크스페이스와 VCS간 최초 연동되면 마지막 커밋 내용을 기반으로 Run이 실행된다.
- 마지막 Run 확인
3. TFC 워크스페이스 실행
- VCS를 통한 풀 리퀘스트 동작 확인
- main.tf 파일 수정 : terraform.cloud 블록 주석 처리 ← VCS 연동으로 더 이상 필요하지 않음
terraform {
# cloud {
# organization = "themapisto-org"
# hostname = "app.terraform.io" # default
# workspaces {
# name = "terraform-aws-tfc-workflow"
# }
# }
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.0"
}
}
}
**** 중략
- tfc-workflow 브랜치 생성, 커밋, 푸시
git branch -M tfc-workflow2
git add .
git commit -m "tfc workflow2"
git push origin HEAD
- 자신의 github 에서 PR 생성 → Merge pull request : Confirm
- TFC 워크스페이스에서 확인
- TFC에서 생성된 리소스 삭제 : TFC 워크스페이스 Setting → Destruction and Delete ⇒ Queue destroy plan 로 생성된 리소스 삭제
'DevOps > Terraform' 카테고리의 다른 글
[T102 7주차] (19) 테라폼 Cloud 사용법(2) (0) | 2023.08.16 |
---|---|
[T102 7주차] (18) Github Action과 TFC 연동 방법 (0) | 2023.08.14 |
(17) 테라폼 Cloud 사용법 (1) (0) | 2023.08.09 |
[T102 6주차] (16) 테라폼 협업 ( 깃Pull Request 통한 협업 ) (0) | 2023.08.08 |
(15) 테라폼 모듈 (3) VPC & EKS (0) | 2023.07.25 |