download binary if deploy_mode is host
This commit is contained in:
parent
2f76958c89
commit
313c1212a5
@ -1,7 +1,7 @@
|
|||||||
deploy_gitea_runner
|
deploy_gitea_runner
|
||||||
=========
|
=========
|
||||||
|
|
||||||
A brief description of the role goes here.
|
This role installs and configure a gitea act runner on **debian-based** distributions.
|
||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
@ -20,7 +20,7 @@ A quick description of the variable, what it does, and how to use it.
|
|||||||
Dependencies
|
Dependencies
|
||||||
------------
|
------------
|
||||||
|
|
||||||
None.
|
|
||||||
|
|
||||||
Example Playbook
|
Example Playbook
|
||||||
----------------
|
----------------
|
||||||
|
@ -5,16 +5,16 @@
|
|||||||
daemon_reload: true
|
daemon_reload: true
|
||||||
listen: "systemctl-daemon-reload"
|
listen: "systemctl-daemon-reload"
|
||||||
|
|
||||||
- name: "Enable gitea-actions-runnner service"
|
- name: "Enable gitea-runnner service"
|
||||||
ansible.builtin.service:
|
ansible.builtin.service:
|
||||||
name: gitea-actions-runnner
|
name: gitea-runnner
|
||||||
enabled: true
|
enabled: true
|
||||||
listen: "systemctl-enable-gitea-actions-runnner"
|
listen: "systemctl-enable-gitea-runnner"
|
||||||
|
|
||||||
- name: "Start gitea-actions-runnner service"
|
- name: "Start gitea-runnner service"
|
||||||
ansible.builtin.service:
|
ansible.builtin.service:
|
||||||
name: gitea-actions-runnner
|
name: gitea-runnner
|
||||||
state: restarted
|
state: restarted
|
||||||
listen: "systemctl-restart-gitea-actions-runnner"
|
listen: "systemctl-restart-gitea-runnner"
|
||||||
throttle: 1
|
throttle: 1
|
||||||
when: deploy_gitea_runner_start_service
|
when: deploy_gitea_runner_start_service
|
||||||
|
@ -4,7 +4,7 @@ galaxy_info:
|
|||||||
namespace: 'ednxzu'
|
namespace: 'ednxzu'
|
||||||
role_name: 'deploy_gitea_runner'
|
role_name: 'deploy_gitea_runner'
|
||||||
author: 'Bertrand Lanson'
|
author: 'Bertrand Lanson'
|
||||||
description: 'Deploy gitea-actions CICD runners using docker-compose on Debian based distributions'
|
description: 'Deploy gitea-actions CICD runners on Debian based distributions'
|
||||||
license: 'license (BSD, MIT)'
|
license: 'license (BSD, MIT)'
|
||||||
min_ansible_version: '2.10'
|
min_ansible_version: '2.10'
|
||||||
platforms:
|
platforms:
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
# task/configure file for deploy_adguard
|
# task/configure file for deploy_adguard
|
||||||
- name: "Copy gitea-actions-runnner.service file"
|
- name: "Copy gitea-runnner.service file"
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "gitea-actions-runnner.service.j2"
|
src: "gitea-runnner.service.j2"
|
||||||
dest: "/etc/systemd/system/gitea-actions-runnner.service"
|
dest: "/etc/systemd/system/gitea-runnner.service"
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
@ -20,8 +20,8 @@
|
|||||||
group: root
|
group: root
|
||||||
mode: '0600'
|
mode: '0600'
|
||||||
notify:
|
notify:
|
||||||
- systemctl-enable-gitea-actions-runnner
|
- systemctl-enable-gitea-runnner
|
||||||
- systemctl-restart-gitea-actions-runnner
|
- systemctl-restart-gitea-runnner
|
||||||
|
|
||||||
- name: "Copy config.yaml"
|
- name: "Copy config.yaml"
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
@ -32,4 +32,4 @@
|
|||||||
mode: '0600'
|
mode: '0600'
|
||||||
when: deploy_gitea_runner_config != {}
|
when: deploy_gitea_runner_config != {}
|
||||||
notify:
|
notify:
|
||||||
- systemctl-restart-gitea-actions-runnner
|
- systemctl-restart-gitea-runnner
|
||||||
|
@ -1,46 +1,54 @@
|
|||||||
---
|
---
|
||||||
# task/install_compose file for install_docker
|
# task/install_host file for deploy_gitea_runner
|
||||||
- name: "Get release for compose:{{ install_docker_compose_version }}"
|
- name: "Get release for gitea_runner:{{ deploy_gitea_runner_version }}"
|
||||||
vars:
|
vars:
|
||||||
_docker_compose_url_ext: "{% if install_docker_compose_version == 'latest'%}releases{% else %}releases/tags{% endif %}"
|
_gitea_actions_url_ext: "{% if deploy_gitea_runner_version == 'latest'%}releases{% else %}releases/tags{% endif %}"
|
||||||
ansible.builtin.uri:
|
ansible.builtin.uri:
|
||||||
url: "{{ install_docker_compose_github_api }}/{{ _docker_compose_url_ext }}/{{ install_docker_compose_version }}"
|
url: "{{ deploy_gitea_runner_gitea_api }}/{{ _docker_compose_url_ext }}/{{ install_docker_compose_version }}"
|
||||||
return_content: true
|
return_content: true
|
||||||
register: _docker_compose_new_release
|
register: _gitea_runner_new_release
|
||||||
|
|
||||||
- name: "Check current compose version"
|
- name: "Check if gitea_runner is already installed"
|
||||||
ansible.builtin.command: "{{ install_docker_compose_path }} --version --short"
|
ansible.builtin.stat:
|
||||||
register: _docker_compose_old_release
|
path: "{{ deploy_gitea_runner_directory }}/.version"
|
||||||
|
changed_when: false
|
||||||
|
check_mode: false
|
||||||
|
register: _gitea_runner_is_installed
|
||||||
|
|
||||||
|
- name: "Check current gitea_runner version"
|
||||||
|
ansible.builtin.command: "cat {{ deploy_gitea_runner_directory }}/.version"
|
||||||
|
register: _gitea_runner_old_release
|
||||||
check_mode: false
|
check_mode: false
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: false
|
when: _gitea_runner_is_installed.stat.exists
|
||||||
|
|
||||||
- name: "Set facts for wanted compose release"
|
- name: "Set facts for wanted gitea_runner release"
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
install_docker_compose_wanted_version: "{{ _docker_compose_new_release.json['tag_name']|regex_replace('v', '') }}"
|
deploy_gitea_runner_wanted_version: "{{ _gitea_runner_new_release.json['tag_name']|regex_replace('v', '') }}"
|
||||||
when: _docker_compose_new_release.json is defined
|
when: _gitea_runner_new_release.json is defined
|
||||||
and (_docker_compose_new_release.json | length > 0)
|
and (_gitea_runner_new_release.json | length > 0)
|
||||||
|
|
||||||
- name: "Set facts for current compose release"
|
- name: "Set facts for current gitea_runner release"
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
install_docker_compose_current_version: "{{ _docker_compose_old_release.stdout | regex_replace('v', '') }}"
|
deploy_gitea_runner_current_version: "{{ _gitea_runner_old_release.stdout | regex_replace('v', '') }}"
|
||||||
when: _docker_compose_old_release.stdout is defined
|
when: _gitea_runner_old_release.stdout is defined
|
||||||
and (_docker_compose_old_release.stdout | length > 0)
|
and (_gitea_runner_old_release.stdout | length > 0)
|
||||||
|
|
||||||
- name: "Remove old compose binary if different"
|
- name: "Install gitea_runner"
|
||||||
ansible.builtin.file:
|
when: deploy_gitea_runner_current_version is not defined
|
||||||
path: "{{ install_docker_compose_path }}"
|
or deploy_gitea_runner_wanted_version not in deploy_gitea_runner_current_version
|
||||||
state: absent
|
block:
|
||||||
register: _docker_compose_binary_removed
|
- name: "Download and install gitea_runner version:{{ hashi_consul_envoy_version }}"
|
||||||
when: install_docker_compose_current_version is defined
|
|
||||||
and install_docker_compose_wanted_version not in install_docker_compose_current_version
|
|
||||||
|
|
||||||
- name: "Download and install compose:{{ install_docker_compose_version }}"
|
|
||||||
ansible.builtin.get_url:
|
ansible.builtin.get_url:
|
||||||
url: "{{ install_docker_compose_github_url }}/releases/download/v{{ install_docker_compose_wanted_version }}/docker-compose-linux-{{ ansible_architecture }}"
|
url: "{{ deploy_gitea_runner_gitea_url }}/releases/download/v{{ deploy_gitea_runner_wanted_version }}/act_runner-{{ deploy_gitea_runner_wanted_version }}-linux-{{ deploy_gitea_runner_arch_map[ansible_distribution] }}"
|
||||||
dest: "{{ install_docker_compose_path }}"
|
dest: "{{ hashi_consul_envoy_path }}"
|
||||||
|
force: true
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
when: (install_docker_compose_current_version is not defined)
|
|
||||||
or (_docker_compose_binary_removed.changed)
|
- name: "Update version file"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
content: "{{ deploy_gitea_runner_wanted_version }}"
|
||||||
|
dest: "{{ deploy_gitea_runner_directory }}/.version"
|
||||||
|
mode: "0600"
|
||||||
|
@ -1,2 +1,11 @@
|
|||||||
---
|
---
|
||||||
# vars file for deploy_gitea_runner
|
# vars file for deploy_gitea_runner
|
||||||
|
deploy_gitea_runner_path: "/usr/local/bin/act-runner"
|
||||||
|
deploy_gitea_runner_gitea_api: https://gitea.com/api/v1/repos/gitea/act_runner
|
||||||
|
deploy_gitea_runner_gitea_url: https://gitea.com/gitea/act_runner
|
||||||
|
deploy_gitea_runner_arch_map:
|
||||||
|
x86_64: 'amd64'
|
||||||
|
aarch64: 'arm64'
|
||||||
|
armv7l: 'arm-7'
|
||||||
|
armv5tel: 'arm-5'
|
||||||
|
armv6l: 'arm-6'
|
Loading…
Reference in New Issue
Block a user