chore(Ansible): Hinzufügen von Ansible deployment CI Templates
This commit is contained in:
parent
287fc78e5b
commit
41ec1bbb5c
35
ansible.gitlab-ci.yml
Normal file
35
ansible.gitlab-ci.yml
Normal file
@ -0,0 +1,35 @@
|
||||
.ansible_lint:
|
||||
image: quay.io/ansible/toolset:3.5.0
|
||||
stage: lint
|
||||
variables:
|
||||
EXTRA_ARGS: ""
|
||||
script:
|
||||
- ansible --version
|
||||
- ansible-lint $EXTRA_ARGS
|
||||
|
||||
.ansible_playbook_validate:
|
||||
extends: .ansible_playbook_run
|
||||
rules:
|
||||
- when: always
|
||||
script:
|
||||
- ansible --version
|
||||
- ansible-playbook -i $INVENTORY_PATH $PLAYBOOK_PATH $EXTRA_ARGS --check
|
||||
|
||||
.ansible_playbook_run:
|
||||
image: quay.io/ansible/toolset:3.5.0
|
||||
variables:
|
||||
ANSIBLE_HOST_KEY_CHECKING: 'false'
|
||||
ANSIBLE_FORCE_COLOR: 'true'
|
||||
PLAYBOOK_PATH: playbook.yml
|
||||
INVENTORY_PATH: inventory.yml
|
||||
EXTRA_ARGS: ""
|
||||
rules:
|
||||
- when: manual
|
||||
before_script:
|
||||
- 'command -v ssh-agent >/dev/null || ( apt-get update && apt -y install openssh-client )'
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
|
||||
- mkdir -p ~/.ssh
|
||||
- chmod 700 ~/.ssh
|
||||
script:
|
||||
- ansible-playbook -i $INVENTORY_PATH $PLAYBOOK_PATH $EXTRA_ARGS -vv
|
||||
33
documentation/chapters/templates/ansible.adoc
Normal file
33
documentation/chapters/templates/ansible.adoc
Normal file
@ -0,0 +1,33 @@
|
||||
:sourcedir: ../../../
|
||||
|
||||
= Ansible-template
|
||||
|
||||
Template Sammlung zur einfachen automation mit Ansible innerhalb der Gitlab CI.
|
||||
|
||||
Erwartet das $SSH_PRIVATE_KEY in den Gitlab CI Variablen gesetzt ist.
|
||||
|
||||
.Angebotene Templates:
|
||||
|===
|
||||
|Name |Description
|
||||
|.ansible_lint | Ruft den Linter von Ansible auf.
|
||||
Der Output wird dann in der CI gezeigt und kann den Stil der Playbooks verbessern.
|
||||
|.ansible_playbook_validate | Validiert das die Playbooks ausgeführt werden können und syntaktisch Sinn ergeben.
|
||||
|.ansible_playbook_run | Führt die Playbooks auf dem Inventar aus.
|
||||
|===
|
||||
|
||||
.Variables
|
||||
|===
|
||||
|Name |Description | Default Value
|
||||
|SSH_PRIVATE_KEY | SSH Key der von Ansible benutzt wird, um sich im Inventar anzumelden.
|
||||
!!
|
||||
Nicht in den .gitlab.yml setzen. sondern in CI Maintainer muss in Settings setzen. | Nicht gesetzt muss in die Gitlab CI Variablen in den Settings.
|
||||
|PLAYBOOK_PATH | Path zum Playbook das ausgeführt werden soll | "playbook.yml"
|
||||
|INVENTORY_PATH | Path zum Inventory das ausgeführt werden soll | "inventory.yml"
|
||||
|EXTRA_ARGS | Extra Argumente für die Scripte | ""
|
||||
|===
|
||||
|
||||
.Ansible-template
|
||||
[source,yaml]
|
||||
----
|
||||
include::{sourcedir}/ansible.gitlab-ci.yml[]
|
||||
----
|
||||
@ -34,6 +34,10 @@ toc::[]
|
||||
// ###########################################################################
|
||||
include::chapters/generalInformation.adoc[leveloffset=1]
|
||||
|
||||
== Ansible Templates
|
||||
|
||||
include::chapters/templates/ansible.adoc[leveloffset=2]
|
||||
|
||||
== Container Templates
|
||||
|
||||
include::chapters/templates/container-publish.adoc[leveloffset=2]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user