From a70306f3253fae0571f5aa1da1672e2e0862b20c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=AD=C3=B0ir=20Valberg=20Gu=C3=B0mundsson?= Date: Sun, 22 Jan 2023 00:28:47 +0100 Subject: [PATCH 1/3] Initial work on woodpecker ci.[1;5B --- roles/docker/defaults/main.yml | 7 ++++ roles/docker/tasks/services/woodpecker.yml | 46 ++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 roles/docker/tasks/services/woodpecker.yml diff --git a/roles/docker/defaults/main.yml b/roles/docker/defaults/main.yml index 626e9b3..b162d64 100644 --- a/roles/docker/defaults/main.yml +++ b/roles/docker/defaults/main.yml @@ -163,6 +163,13 @@ services: volume_folder: "{{ volume_root_folder }}/drone" version: 1 + woodpecker: + file: woodpecker.yml + domain: "ci.{{ base_domain }}" + volume_folder: "{{ volume_root_folder }}/woodpecker" + server_version: v0.15 + agent_version: v0.15 + mailu: file: mailu.yml version: 1.9 diff --git a/roles/docker/tasks/services/woodpecker.yml b/roles/docker/tasks/services/woodpecker.yml new file mode 100644 index 0000000..5adb172 --- /dev/null +++ b/roles/docker/tasks/services/woodpecker.yml @@ -0,0 +1,46 @@ +# vim: ft=yaml.ansible +--- +- name: set up woodpecker with docker runner + docker_compose: + project_name: woodpecker + pull: yes + definition: + version: "3.6" + services: + woodpecker-server: + image: "woodpeckerci/woodpecker-server:{{ services.woodpecker.server_version }}" + restart: unless-stopped + networks: + - external_services + - woodpecker + volumes: + - "{{ services.woodpecker.volume_folder }}:/data" + - "/var/run/docker.sock:/var/run/docker.sock" + environment: + WOODPECKER_GITEA: "true" + WOODPECKER_GITEA_URL: "https://{{ services.gitea.domain }}" + WOODPECKER_GITEA_CLIENT: "{{ woodpecker_secrets.oauth_client_id }}" + WOODPECKER_GITEA_SECRET: "{{ woodpecker_secrets.oauth_client_secret }}" + WOODPECKER_HOST: "https://{{ services.woodpecker.domain }}" + WOODPECKER_AGENT_SECRET: "{{ woodpecker_secrets.agent_secret }}" + + VIRTUAL_HOST: "{{ services.woodpecker.domain }}" + LETSENCRYPT_HOST: "{{ services.woodpecker.domain }}" + LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" + + woodpecker-agent: + image: "woodpeckerci/woodpecker-agent:{{ services.woodpecker.agent_version }}" + restart: unless-stopped + networks: + - woodpecker + volumes: + - "/var/run/docker.sock:/var/run/docker.sock" + environment: + WOODPECKER_SERVER: "woodpecker-server:9000" + WOODPECKER_AGENT_SECRET: "{{ woodpecker_secrets.agent_secret }}" + + networks: + woodpecker: + external_services: + external: + name: external_services -- 2.40.1 From abba9326933d63d029d3a98d14874418f4f8b678 Mon Sep 17 00:00:00 2001 From: Sam Al-Sapti Date: Sun, 22 Jan 2023 19:20:17 +0100 Subject: [PATCH 2/3] Simplify woodpecker.yml and change restart-policy to always --- roles/docker/tasks/services/woodpecker.yml | 25 +++++++++------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/roles/docker/tasks/services/woodpecker.yml b/roles/docker/tasks/services/woodpecker.yml index 5adb172..8cdf7ae 100644 --- a/roles/docker/tasks/services/woodpecker.yml +++ b/roles/docker/tasks/services/woodpecker.yml @@ -1,18 +1,18 @@ # vim: ft=yaml.ansible --- -- name: set up woodpecker with docker runner +- name: Set up Woodpecker CI with Docker runner docker_compose: project_name: woodpecker - pull: yes + pull: true definition: - version: "3.6" + version: "3.8" services: - woodpecker-server: + server: image: "woodpeckerci/woodpecker-server:{{ services.woodpecker.server_version }}" - restart: unless-stopped + restart: always networks: + - default - external_services - - woodpecker volumes: - "{{ services.woodpecker.volume_folder }}:/data" - "/var/run/docker.sock:/var/run/docker.sock" @@ -23,24 +23,19 @@ WOODPECKER_GITEA_SECRET: "{{ woodpecker_secrets.oauth_client_secret }}" WOODPECKER_HOST: "https://{{ services.woodpecker.domain }}" WOODPECKER_AGENT_SECRET: "{{ woodpecker_secrets.agent_secret }}" - VIRTUAL_HOST: "{{ services.woodpecker.domain }}" LETSENCRYPT_HOST: "{{ services.woodpecker.domain }}" LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" - woodpecker-agent: + agent: image: "woodpeckerci/woodpecker-agent:{{ services.woodpecker.agent_version }}" - restart: unless-stopped - networks: - - woodpecker + restart: always volumes: - "/var/run/docker.sock:/var/run/docker.sock" environment: - WOODPECKER_SERVER: "woodpecker-server:9000" + WOODPECKER_SERVER: "server:9000" WOODPECKER_AGENT_SECRET: "{{ woodpecker_secrets.agent_secret }}" networks: - woodpecker: external_services: - external: - name: external_services + external: true -- 2.40.1 From ae5281587671223eb51b2b10df8a021019d27614 Mon Sep 17 00:00:00 2001 From: Sam Al-Sapti Date: Sun, 22 Jan 2023 19:21:02 +0100 Subject: [PATCH 3/3] Woodpecker server and agent always have the same version https://github.com/woodpecker-ci/woodpecker/blob/master/.woodpecker/docker.yml --- roles/docker/defaults/main.yml | 3 +-- roles/docker/tasks/services/woodpecker.yml | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/roles/docker/defaults/main.yml b/roles/docker/defaults/main.yml index b162d64..610257d 100644 --- a/roles/docker/defaults/main.yml +++ b/roles/docker/defaults/main.yml @@ -167,8 +167,7 @@ services: file: woodpecker.yml domain: "ci.{{ base_domain }}" volume_folder: "{{ volume_root_folder }}/woodpecker" - server_version: v0.15 - agent_version: v0.15 + version: v0.15 mailu: file: mailu.yml diff --git a/roles/docker/tasks/services/woodpecker.yml b/roles/docker/tasks/services/woodpecker.yml index 8cdf7ae..6128842 100644 --- a/roles/docker/tasks/services/woodpecker.yml +++ b/roles/docker/tasks/services/woodpecker.yml @@ -8,7 +8,7 @@ version: "3.8" services: server: - image: "woodpeckerci/woodpecker-server:{{ services.woodpecker.server_version }}" + image: "woodpeckerci/woodpecker-server:{{ services.woodpecker.version }}" restart: always networks: - default @@ -28,7 +28,7 @@ LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" agent: - image: "woodpeckerci/woodpecker-agent:{{ services.woodpecker.agent_version }}" + image: "woodpeckerci/woodpecker-agent:{{ services.woodpecker.version }}" restart: always volumes: - "/var/run/docker.sock:/var/run/docker.sock" -- 2.40.1