WIP: feat(jenkins): add role to deploy jenkins
This commit is contained in:
41
roles/jenkins/defaults/container.yml
Normal file
41
roles/jenkins/defaults/container.yml
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
jenkins_container_name: "jenkins"
|
||||
jenkins_container_image: >-2
|
||||
{{
|
||||
[
|
||||
jenkins_container_image_repository,
|
||||
jenkins_container_image_tag
|
||||
| default(jenkins_version + (
|
||||
((jenkins_container_image_flavour is string)
|
||||
and (jenkins_container_image_flavour | length > 0))
|
||||
| ternary(
|
||||
'-' + jenkins_container_image_flavour | default('', true),
|
||||
''
|
||||
)
|
||||
))
|
||||
] | join(':')
|
||||
}}
|
||||
jenkins_container_image_registry: docker.io
|
||||
jenkins_container_image_namespace: jenkins
|
||||
jenkins_container_image_name: jenkins
|
||||
jenkins_container_image_repository: >-2
|
||||
{{
|
||||
[
|
||||
jenkins_container_image_registry | default([], true),
|
||||
jenkins_container_image_namespace | default([], true),
|
||||
jenkins_container_image_name
|
||||
] | flatten | join('/')
|
||||
}}
|
||||
jenkins_container_image_source: "pull"
|
||||
jenkins_container_image_tag: ~
|
||||
jenkins_container_image_flavour: "jdk17"
|
||||
jenkins_container_env: ~
|
||||
jenkins_container_ports: ~
|
||||
jenkins_container_networks: ~
|
||||
jenkins_container_etc_hosts: ~
|
||||
jenkins_container_base_volumes:
|
||||
- "{{ jenkins_home_path }}:/var/jenkins_home"
|
||||
jenkins_container_volumes: ~
|
||||
jenkins_container_all_volumes: >-2
|
||||
{{ jenkins_container_base_volumes | default([], true)
|
||||
+ jenkins_container_volumes | default([], true) }}
|
9
roles/jenkins/defaults/main.yml
Normal file
9
roles/jenkins/defaults/main.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
jenkins_user: "jenkins"
|
||||
jenkins_versions:
|
||||
lts: "2.479.3"
|
||||
weekly: "2.496"
|
||||
jenkins_version_channel: "lts"
|
||||
jenkins_version: "{{ jenkins_versions[jenkins_version_channel] }}"
|
||||
|
||||
jenkins_home_path: "/var/lib/jenkins"
|
11
roles/jenkins/tasks/main.yml
Normal file
11
roles/jenkins/tasks/main.yml
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
- name: Ensure jenkins user '{{ jenkins_user }}' is {{ jenkins_state }}
|
||||
ansible.builtin.user:
|
||||
name: "{{ jenkins_user }}"
|
||||
state: "{{ jenkins_state }}"
|
||||
system: true
|
||||
register: jenkins_user_info
|
||||
|
||||
- name: Ensure jenkins is deployed using {{ jenkins_deployment_method }}
|
||||
ansible.builtin.include_tasks:
|
||||
file: "deploy-{{ jenkins_deployment_method }}.yml"
|
9
roles/jenkins/vars/main.yml
Normal file
9
roles/jenkins/vars/main.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
jenkins_states:
|
||||
- absent
|
||||
- present
|
||||
jenkins_deployment_methods:
|
||||
- docker
|
||||
jenkins_version_channels:
|
||||
- "lts"
|
||||
- "weekly"
|
Reference in New Issue
Block a user