하나의 공유 공간에서 Terraform 변경 실행

Terraform 코드를 Semaphore에 연결하세요. 워크스페이스를 선택하고 plan 출력을 검토하여 Apply를 실행하며, 팀이 실행 기록을 확인할 수 있게 하세요.

변경은 검토됐습니다. 실행도 반복할 수 있나요?

코드는 Git에 있지만 터미널 세션마다 워크스페이스, 변수, 자격 증명이 다를 수 있습니다. 다음 엔지니어에게도 같은 출발점이 필요합니다.

각 인프라 작업의 설정 저장

  • 설정 디렉터리 및 워크스페이스 저장
  • 재사용 가능한 변수 그룹으로 변수 제공
  • Plan과 Apply를 별도 기록 작업으로 검토

Terraform 작업을 팀 프로세스에 통합

애플리케이션 환경 프로비저닝

설정 디렉터리와 워크스페이스에 맞는 템플릿을 만드세요. 변수 그룹으로 환경 입력을 제공합니다.

준비된 작업 공유

인프라 변경 제안 검토

Plan 전용 작업을 시작하고 출력을 공유하세요. 팀이 변경할 준비가 되었을 때 별도 동작으로 Apply를 실행합니다.

준비된 작업 공유

인프라 드리프트 재점검

Plan 전용 템플릿을 예약해 설정과 인프라를 비교하고 각 plan의 출력을 보관하세요. 플랜에서 차이를 검토합니다.

예약 설정

Terraform을 설정하고 Plan 전용 실행 시작

프로비저닝에서 설정된 서비스까지 이어서 진행

성공한 Terraform 단계는 인프라 출력을 자동으로 게시합니다. 해당 값을 Ansible 작업의 입력에 매핑한 다음 Python으로 설정된 서비스를 검증하세요. 워크플로는 작업과 데이터, 성공 및 실패 경로를 연결합니다.

애플리케이션 환경 롤아웃워크플로
인프라 프로비저닝
성공 시출력 → 입력
서비스 설정
성공 시출력 → 입력
배포 검증
실패 시
진단 정보 수집

Terraform 작업의 워크스페이스, 입력, 상태

계획과 적용 분리

적용하지 않고 변경 제안을 보려면 Plan을 선택하세요. Apply는 별도 실행입니다. 나중의 Apply가 이전 Plan 작업의 저장된 출력을 자동으로 사용하지는 않습니다.

워크스페이스 및 입력 선택

템플릿의 인벤토리 필드로 Terraform 워크스페이스를 선택하세요. 입력에는 TF_VAR_ 이름의 변수 그룹을 사용합니다. 워크스페이스를 선택해도 다른 변수나 자격 증명이 자동 선택되지는 않습니다.

기존 백엔드 유지 또는 Semaphore 백엔드 사용

Terraform 코드의 백엔드를 계속 사용하세요. Pro는 잠금, 상태 버전, UI 관리를 제공하는 Semaphore HTTP 백엔드로 재정의할 수 있습니다.

일관된 Terraform 런타임 준비

Semaphore는 실행 전에 init을 수행합니다. 작업을 실행하는 서버나 러너에 Terraform 버전, 프로바이더, 비공개 모듈 자격 증명, API 접근을 준비하세요.

FAQ

Semaphore에서 기존 Terraform 설정을 실행할 수 있나요?

네. 리포지토리와 설정 디렉터리를 가리키는 Terraform 작업 템플릿을 만드세요. 워크스페이스를 선택하고 변수 그룹으로 입력을 제공하며 필요한 Terraform 런타임을 준비합니다. Semaphore가 설정을 실행하고 작업 출력과 실행 상태를 보관합니다.

Terraform 상태를 Semaphore로 옮겨야 하나요?

아니요. Terraform은 코드에 설정된 백엔드를 계속 사용할 수 있습니다. Pro에서는 상태 잠금, 버전 기록, UI 관리를 위한 Semaphore HTTP 백엔드를 선택할 수 있습니다. 기존 접근 및 복구 프로세스에 맞는 백엔드를 선택하세요.

Terraform 워크스페이스를 선택하면 변수와 자격 증명도 바뀌나요?

아니요. 워크스페이스 선택은 상태 워크스페이스를 선택합니다. 작업에 필요한 변수와 자격 증명은 별도로 설정하세요. 입력이 다른 환경에는 의도한 작업 템플릿 및 변수 그룹 조합을 사용하고 템플릿 이름으로 범위를 명확히 하세요.

Apply는 이전 작업의 plan을 사용하나요?

나중에 실행한 Apply가 이전 Plan 작업의 저장된 출력을 자동으로 사용하는 것은 아닙니다. 둘은 별도 실행입니다. Plan으로 변경 제안을 검토한 다음 의도한 Apply 작업을 선택하세요. 작업 기록에는 각 실행의 출력과 결과가 남습니다.

Terraform plan 예약이 드리프트 검토에 도움이 되나요?

네. Plan 전용 템플릿을 예약하고 출력에서 설정과 인프라의 차이를 확인하세요. 실행마다 기록이 있습니다. 이는 검토할 plan을 정기적으로 제공하는 것이며 plan에서 감지한 모든 드리프트의 자동 알림은 아닙니다.

Terraform 프로비저닝 다음에 Ansible 설정을 수행할 수 있나요?

네. 워크플로에서 Terraform 작업 템플릿을 Ansible 템플릿 앞에 놓고 Python 준비 점검 같은 검사를 추가하세요. 각 단계를 시작하는 조건을 설정합니다. Terraform plan과 상태는 워크플로 조정과 분리되어 유지됩니다.

Terraform 변수와 자격 증명은 어떻게 제공하나요?

템플릿에 변수 그룹을 연결합니다. Terraform 입력 변수에는 TF_VAR_ 이름을, 인증에는 프로바이더가 기대하는 환경 값을 사용하세요. 민감한 값은 비밀 항목에 저장하고 실행 환경에 모듈 및 백엔드 접근을 준비하세요.

이것은 Semaphore Terraform 프로바이더와 같은 것인가요?

아니요. 이 연동은 인프라 Terraform 설정을 Semaphore 작업으로 실행합니다. Semaphore Terraform 프로바이더는 반대 방향으로 작동하며 Terraform으로 지원되는 Semaphore 리소스를 관리합니다. 각각 독립적으로 사용하거나 설정에서 결합할 수 있습니다.