-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
35 lines (30 loc) · 1.12 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "web"'
when: always # Trigger pipeline only from web
- when: never # For other cases, don't trigger
stages:
- predeploy
- deploy
image: registry.gitlab.com/tgupta3/docker-ansible-runner@sha256:618252856d1b43d48cdc04339ac34be44f0ffdac38f8e74402eb7e45e0823d7a
variables:
ANSIBLE_HOST_KEY_CHECKING: 'false'
ANSIBLE_FORCE_COLOR: 'true'
TARGET:
value: 'nuc'
description: "Target to run the playbook on"
PLAYBOOK:
value: 'none.yml'
description: "Playbook to run"
predeploy:
stage: predeploy
script:
- cd nuc-client
- ansible -i hosts ${TARGET} -m ping --extra-vars "ansible_password=${ANSIBLE_SSHKEY}"
- ansible-playbook ${PLAYBOOK} -i hosts --extra-vars "target=${TARGET} ansible_become_pass=${ANSIBLE_SSHKEY} ansible_password=${ANSIBLE_SSHKEY}" --check
configure_hosts:
stage: deploy
allow_failure: false
script:
- cd nuc-client
- ansible-playbook ${PLAYBOOK} -i hosts --extra-vars "target=${TARGET} ansible_become_pass=${ANSIBLE_SSHKEY} ansible_password=${ANSIBLE_SSHKEY}"