51 lines
1.2 KiB
YAML
51 lines
1.2 KiB
YAML
---
|
|
# file: roles/semaphore/tasks/main.yml
|
|
|
|
- name: Create Semaphore directory
|
|
ansible.builtin.file:
|
|
path: "{{ semaphore_compose_dir }}"
|
|
state: directory
|
|
owner: wed
|
|
group: docker
|
|
mode: '0755'
|
|
|
|
- name: Copy Compose file from boilerplate
|
|
ansible.builtin.copy:
|
|
src: "{{ playbook_dir }}/../../boilerplates/semaphore/compose.yaml"
|
|
dest: "{{ semaphore_compose_dir }}/compose.yaml"
|
|
owner: wed
|
|
group: docker
|
|
mode: '0644'
|
|
|
|
- name: Deploy Semaphore .env file
|
|
ansible.builtin.template:
|
|
src: env.j2
|
|
dest: "{{ semaphore_compose_dir }}/.env"
|
|
owner: wed
|
|
group: docker
|
|
mode: '0600'
|
|
|
|
- name: Copy SSH key for Ansible authentication
|
|
ansible.builtin.copy:
|
|
src: "{{ semaphore_ssh_key_file }}"
|
|
dest: "{{ semaphore_compose_dir }}/ansible_key"
|
|
owner: "1001"
|
|
group: "1001"
|
|
mode: '0600'
|
|
|
|
- name: Start Semaphore containers
|
|
community.docker.docker_compose_v2:
|
|
project_src: "{{ semaphore_compose_dir }}"
|
|
state: present
|
|
register: semaphore_compose
|
|
|
|
- name: Wait for Semaphore to be ready
|
|
ansible.builtin.uri:
|
|
url: "http://localhost:3000/api/ping"
|
|
method: GET
|
|
status_code: 200
|
|
register: semaphore_health
|
|
retries: 48
|
|
delay: 5
|
|
until: semaphore_health.status == 200
|