andock.build
andock-build
andock-build ist eine Ansible-Rolle, die den letzten Commit Ihres Branches auscheckt, alle Build-Hooks ausführt, um Abhängigkeiten einzuschließen, Tests durchführt und das erstellte Artefakt im Git-Artefakt-Repository speichert.
Anforderungen
Um Ihre Apps mit Andock zu bauen, benötigen Sie:
- Ansible auf Ihrer Bereitstellungsmaschine
- Build-Tools wie Composer oder etwas Ähnliches
- Git auf beiden Maschinen
Rollenvariablen
vars:
git_source_repository_path: [email protected]:andock/drupal-8-demo.git # Das Quell-Repository
git_target_repository_path: [email protected]:andock/drupal-8-demo-build.git # Das Ziel-Repository. Kann dasselbe Repository wie das Quell-Repository sein
build_path: ~/ansible # Der Pfad, wo der Build stattfindet
branch: "master" # Der Quell-Branch. Der Ziel-Branch wäre master-build
hook_build_tasks: "hooks/build_tasks.yml" # Der Pfad zu Ihrer build_tasks Hook-Datei
Installation
Andock ist eine Ansible-Rolle, die global über Ansible Galaxy verteilt wird. Um die Andock-Rolle zu installieren, können Sie den folgenden Befehl verwenden.
$ ansible-galaxy install andock.build
Aktualisierung
Wenn Sie die Rolle aktualisieren möchten, müssen Sie den Parameter --force beim Installieren übergeben. Bitte überprüfen Sie den folgenden Befehl:
$ ansible-galaxy install --force andock.build
Beispiel-Playbook
Ein Beispiel, wie Sie Ihre Rolle verwenden können (zum Beispiel mit übergebenen Variablen), ist für Benutzer immer hilfreich:
- name: Repository in das Build-Repository bereitstellen
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"
Umgang mit .gitignore
Sie können Teile in Ihren .gitignore-Dateien mit "BEGIN REMOVE ANDOCK" --- END REMOVE ANDOCK-CI kennzeichnen. andock wird diese Blöcke entfernen, bevor sie ins Ziel-Repository committet werden.
#Beispiel .gitignore-Datei für ein Drupal 8 Composer-Projekt
.idea
#### BEGIN REMOVE ANDOCK-CI ###
docroot/core
docroot/modules/contrib
docroot/themes/contrib
docroot/profiles/contrib
vendor
#### END REMOVE ANDOCK-CI ###
Build-Hooks unter .ansible/hooks/build.yml
- name: composer install
command: fin rc -T composer install
args:
chdir: "{{ build_path }}"
Lizenz
GPL
Autoreninformation
Christian Wiedemann (christian.wiedemann@key-tec.de)