build
andock-build
andock-build — это роль Ansible, которая получает последний коммит вашего ветки, запускает все сборочные хуки для включения зависимостей, выполняет тесты и отправляет собранный артефакт в репозиторий артефактов git.
Требования
Чтобы собирать ваши приложения с помощью Andock, вам потребуется:
- Ansible на вашей машине для развертывания
- сборочные инструменты, такие как composer или что-то другое
- git на обеих машинах
Переменные роли
vars:
git_source_repository_path: [email protected]:andock/drupal-8-demo.git # Исходный репозиторий
git_target_repository_path: [email protected]:andock/drupal-8-demo-build.git # Целевой репозиторий. Может быть тем же репозиторием, что и исходный
build_path: ~/ansible # Путь, где происходит сборка
branch: "master" # Исходная ветка. Целевая ветка будет master-build
hook_build_tasks: "hooks/build_tasks.yml" # Путь к вашему файлу хуков сборки
Установка
Andock является ролью Ansible, распространяемой глобально с использованием Ansible Galaxy. Чтобы установить роль Andock, вы можете использовать следующую команду.
$ ansible-galaxy install andock.build
Обновление
Если вы хотите обновить роль, вам нужно использовать параметр --force при установке. Пожалуйста, проверьте следующую команду:
$ ansible-galaxy install --force andock.build
Пример плейбука
Полезно включить пример того, как использовать вашу роль (например, с переданными переменными в качестве параметров):
- name: Развернуть репозиторий в репозиторий сборки
hosts: localhost
roles:
- role: build
git_source_repository_path: [email protected]:andock/drupal-8-demo.git
build_path: ~/ansible
branch: "master"
hook_build_tasks: "hooks/build_tasks.yml"
Обработка .gitignore
Вы можете пометить части в своих файлах .gitignore с помощью "BEGIN REMOVE ANDOCK" --- END REMOVE ANDOCK-CI. andock удалит эти блоки перед коммитом в целевой репозиторий.
#Пример .gitignore файла для проекта drupal 8 с composer
.idea
#### BEGIN REMOVE ANDOCK-CI ###
docroot/core
docroot/modules/contrib
docroot/themes/contrib
docroot/profiles/contrib
vendor
#### END REMOVE ANDOCK-CI ###
сборочные хуки в .ansible/hooks/build.yml
- name: composer install
command: fin rc -T composer install
args:
chdir: "{{ build_path }}"
Лицензия
GPL
Авторская информация
Кристиан Видеманн (christian.wiedemann@key-tec.de)
ansible-galaxy install andock/build