playbooks: added setup-nwl-jenkins playbook

Signed-off-by: Marc Mattmüller <marc.mattmueller@netmodule.com>
This commit is contained in:
Marc Mattmüller 2023-06-20 23:22:50 +02:00
parent db36bd8e18
commit 439a894fef
1 changed files with 66 additions and 0 deletions

View File

@ -0,0 +1,66 @@
- name: Setup Jenkins Instance
hosts: linux
gather_facts: false
vars:
root_path: "~/nwl-ci"
git_ssh_keyname: "testvm_ed25519"
git_ssh_pw: !vault |
$ANSIBLE_VAULT;1.1;AES256
61323235356163363166663139613464303262333231656236313335313133373330316431333139
3135643639363966653938663666653831393132633765340a306665393864343466376637386661
39353535616366393631333161613065356666626266396138633866346462316365663339613263
6564643935326565630a386266376230613230336564363066373730363239303763663666363462
35353634626464656436633165316336323839616463333064633363306337353534
nexus_pw: !vault |
$ANSIBLE_VAULT;1.1;AES256
31383362376639616336323766366261303531366434343435626333306337393237396339656133
6432323230653332653939633964636537353434643931650a313335313962313264643239613466
37393737316636646237653333316231373430366134623237323634366164363234626464613831
3438616463633162630a343631363762616531396535333465363539353831646234623464666265
6136
jk_admin_pw: !vault |
$ANSIBLE_VAULT;1.1;AES256
34353166656466343735353337303439353964393932376166636564396132653763663030666563
6634316263636461396435313232313063393132626462350a333231383662633639376462353032
64356565626261653430306564373533663463386531636337343666373634313139393339336563
3337353435643261380a313533663332646634653363343233663564666235626137346563353433
33313763353739616531303764393135363733633637653935366661623230643238
jk_dev_pw: !vault |
$ANSIBLE_VAULT;1.1;AES256
62613264353836383332333761333962343737336162653730353463363535303566323063313437
3131343036383763353639336532383232626364333366330a646563363466393031613839656565
36323934633132353464613862326634313266663366346634323837396163666234346431393065
6166363132333835310a613838326263363762616231656532633530393565396137356435343761
6262
tasks:
- name: Setup the Base Directories for the Jenkins docker environment
register: setupJenkins
ansible.builtin.shell: |
mkdir -p jenkins_home
mkdir -p secrets/pw
mkdir -p secrets/.cacerts
mkdir -p secrets/.ssh
mkdir -p yocto-downloads
args:
chdir: "{{root_path}}"
executable: /bin/bash
- name: Display setup
debug:
msg: "{{setupJenkins.stdout_lines}}"
- name: Prepare the Jenkins docker environment content
register: prepareJenkins
ansible.builtin.shell: |
echo -n "{{git_ssh_pw}}" | base64 > ./pw/gitSsh
echo -n "{{nexus_pw}}" | base64 > ./pw/nexusUser
echo -n "{{jk_admin_pw}}" | base64 > ./pw/jenkinsUserAdmin
echo -n "{{jk_dev_pw}}" | base64 > ./pw/jenkinsUserDeveloper
cat ~/.ssh/{{git_ssh_keyname}} | base64 > ./.ssh/{{git_ssh_keyname}}
cat ~/.ssh/{{git_ssh_keyname}}.pub | base64 > ./.ssh/{{git_ssh_keyname}}.pub
cat .ssh/testvm_ed25519.pub > ./.ssh/authorized_keys
ssh-keyscan -t ecdsa -H bitbucket.gad.local > ./.ssh/known_hosts 2>/dev/null
args:
chdir: "{{root_path}}/secrets"
executable: /bin/bash
- name: Display preparation
debug:
msg: "{{prepareJenkins.stdout_lines}}"