Перейти к основному содержимому

Terraform/OpenTofu

С помощью Semaphore UI вы можете запускать код Terraform. Для этого нужно создать шаблон Terraform-кода.

  1. Перейдите в раздел Шаблоны задач и нажмите кнопку Новый шаблон.
  2. Выберите Terraform в качестве типа приложения.
  3. Настройте шаблон и нажмите кнопку Создать.
  4. Нажмите Запустить, чтобы выполнить шаблон.

Передача переменных

Переменные из выбранных групп переменных передаются как переменные окружения. Добавьте к именам префикс TF_VAR_, чтобы Terraform воспринимал их как входные переменные:

Ключ группы переменныхПеременная Terraform
TF_VAR_regionvar.region
TF_VAR_instance_typevar.instance_type

Для конфиденциальных значений используйте вкладку Секреты в группах переменных — они хранятся в зашифрованном виде.

Рабочие пространства

Semaphore нативно поддерживает рабочие пространства (workspaces) Terraform/OpenTofu. См. Рабочие пространства, чтобы узнать, как создавать и переключать рабочие пространства и использовать SSH-ключи для приватных модулей.

Переопределение бэкенда и HTTP-бэкенд (Pro)

Вы можете переопределить бэкенд в шаблоне, чтобы использовать встроенный HTTP-бэкенд без изменения вашего Terraform-кода. Подробнее см. HTTP-бэкенд (Pro).

Флаг destroy и миграция состояния

Диалог запуска задачи содержит переключатели для -destroy и -migrate-state. Используйте их при удалении инфраструктуры или миграции состояния Terraform.

Примечания

  • Semaphore автоматически выполняет terraform init перед каждым запуском.
  • Состояние управляется тем бэкендом, который настроен в вашем Terraform-коде (local, S3, GCS и т. д.), если только вы не используете встроенный HTTP-бэкенд (Pro).