63 lines
1.4 KiB
YAML
63 lines
1.4 KiB
YAML
- name: Create directories
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
mode: "0755"
|
|
loop:
|
|
- "{{ jenkins_root }}"
|
|
- "{{ jenkins_build_dir }}"
|
|
- "{{ jenkins_data_dir }}"
|
|
|
|
- name: Template plugins list
|
|
template:
|
|
src: templates/plugins.txt.j2
|
|
dest: "{{ jenkins_build_dir }}/plugins.txt"
|
|
mode: "0644"
|
|
|
|
- name: Template Dockerfile
|
|
template:
|
|
src: templates/Dockerfile.j2
|
|
dest: "{{ jenkins_build_dir }}/Dockerfile"
|
|
mode: "0644"
|
|
|
|
- name: Build custom Jenkins image (plugins baked in)
|
|
community.docker.docker_image:
|
|
name: "{{ jenkins_image_name }}"
|
|
build:
|
|
path: "{{ jenkins_build_dir }}"
|
|
source: build
|
|
register: build_img
|
|
|
|
- name: Template JCasC config
|
|
template:
|
|
src: templates/jenkins-casc.yaml.j2
|
|
dest: "{{ jenkins_data_dir }}/casc.yaml"
|
|
mode: "0640"
|
|
|
|
- name: Ensure ownership for Jenkins data (uid/gid 1000)
|
|
file:
|
|
path: "{{ jenkins_data_dir }}"
|
|
state: directory
|
|
owner: "1000"
|
|
group: "1000"
|
|
recurse: true
|
|
|
|
- name: Template docker-compose.yaml
|
|
template:
|
|
src: templates/docker-compose.yaml.j2
|
|
dest: "{{ jenkins_root }}/docker-compose.yaml"
|
|
mode: "0644"
|
|
|
|
- name: Up jenkins stack
|
|
community.docker.docker_compose_v2:
|
|
project_src: "{{ jenkins_root }}"
|
|
files: ["docker-compose.yaml"]
|
|
state: present
|
|
register: dc
|
|
|
|
- name: Wait for Jenkins HTTP
|
|
wait_for:
|
|
host: 127.0.0.1
|
|
port: "{{ jenkins_http_port }}"
|
|
delay: 3
|
|
timeout: 180 |