feat: automatically setup forge (#10)

This commit is contained in:
Stephan Lüscher 2023-05-01 16:17:56 +00:00
parent c694947618
commit bbe78ee922
No known key found for this signature in database
GPG key ID: 445779060FF3D3CF
28 changed files with 1472 additions and 0 deletions

View file

@ -0,0 +1,42 @@
---
- name: Check for existing repositories
changed_when: false
ansible.builtin.uri:
url: "http://{{ ansible_host }}:3000/api/project/{{ semaphore_project_id }}/repositories"
method: GET
headers:
Cookie: "{{ semaphore_login.cookies_string }}"
status_code: 200
timeout: 5
register: semaphore_repositories
- name: Create Repository
changed_when: "semaphore_repository_created.status == 204"
ansible.builtin.uri:
url: "http://{{ ansible_host }}:3000/api/project/{{ semaphore_project_id }}/repositories"
method: POST
headers:
Cookie: "{{ semaphore_login.cookies_string }}"
body: "{{ lookup('ansible.builtin.template', 'repository.yml.j2') | from_yaml | to_json }}"
body_format: json
status_code: 204
timeout: 5
register: semaphore_repository_created
when: semaphore_repositories.json | selectattr('name', 'equalto', semaphore_repository_name) | length == 0
- name: Get repository id
changed_when: false
ansible.builtin.uri:
url: "http://{{ ansible_host }}:3000/api/project/{{ semaphore_project_id }}/repositories"
method: GET
headers:
Cookie: "{{ semaphore_login.cookies_string }}"
status_code: 200
timeout: 5
register: semaphore_repositories
- name: Parse semaphore_repository_id
ansible.builtin.set_fact:
semaphore_repository_id: "{{ semaphore_repositories.json \
| selectattr('name', 'equalto', semaphore_repository_name) \
| map(attribute='id') | first }}"