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

Проекты

Команда semaphore projects экспортирует и импортирует проекты в виде файлов резервных копий. Резервная копия — это один JSON-документ, содержащий шаблоны, inventory, репозитории, окружения, ключи, расписания и связанные настройки проекта.

semaphore projects --help

project — псевдоним для projects.

У неё две подкоманды:

КомандаНазначение
projects exportЗаписать резервную копию проекта в файл (или stdout).
projects importВосстановить один или несколько проектов из файлов резервных копий.

Экспорт проекта (projects export)

Экспортирует один проект, заданный либо числовым ID, либо именем.

# Export by ID to a file:
semaphore project export --project-id 3 --file project-3.backup

# Export by name to stdout:
semaphore project export --project-name "My Project"
ФлагОписание
--project-id <id>ID экспортируемого проекта.
--project-name <name>Имя экспортируемого проекта (без учёта регистра).
--file <path>Записать резервную копию в этот файл. Если не указан, резервная копия выводится в stdout.

Требуется ровно один из флагов --project-id или --project-name — указание обоих или ни одного является ошибкой.

Импорт проектов (projects import)

Импортирует одну или несколько резервных копий проектов. Можно импортировать один файл или все резервные копии из каталога. Каждый импортируемый проект создаётся как новый проект, принадлежащий существующему администратору (первому администратору в базе данных или первому пользователю, если администраторов нет), поэтому импорт никогда не перезаписывает существующий проект.

# Import a single backup:
semaphore project import --file project-3.backup

# Import a single backup under a new name:
semaphore project import --file project-3.backup --project-name "My Project (copy)"

# Import every backup in a directory:
semaphore project import --dir /path/to/backups
ФлагОписание
--file <path>Путь к одному файлу резервной копии для импорта.
--dir <path>Каталог для поиска файлов резервных копий. Импортируются файлы с расширениями .json, .backup или .bk в отсортированном порядке.
--project-name <name>Переопределить имя импортируемого проекта. Допустимо только вместе с --file.

Требуется ровно один из флагов --file или --dir — указание обоих или ни одного является ошибкой. --project-name можно сочетать только с --file.

При импорте каталога файлы, которые не удалось импортировать, отмечаются и пропускаются; команда продолжает работу с остальными и завершается с ненулевым статусом только в том случае, если ничего не было импортировано.