Merge branch 'chore(Ansible)_Inital_Template' into 'master'
chore(Ansible): Hinzufügen von Ansible deployment CI Templates See merge request gilden/ci/gitlab-ci-templates!38
This commit is contained in:
commit
0681b0b29a
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, ob 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 .gitlab.yml setzen. Statt dessen durch den CI Maintainer in den Gitlab Settings setzen lassen. | Nicht gesetzt. Muss in den Gitlab CI Variablen in den Settings gesetzt werden.
|
||||||
|
|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]
|
include::chapters/generalInformation.adoc[leveloffset=1]
|
||||||
|
|
||||||
|
== Ansible Templates
|
||||||
|
|
||||||
|
include::chapters/templates/ansible.adoc[leveloffset=2]
|
||||||
|
|
||||||
== Container Templates
|
== Container Templates
|
||||||
|
|
||||||
include::chapters/templates/container-publish.adoc[leveloffset=2]
|
include::chapters/templates/container-publish.adoc[leveloffset=2]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user