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

Проекты

Команда 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.

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