WIP: Initial work on woodpecker ci. #152

Draft
valberg wants to merge 3 commits from woodpeckerci into main
2 changed files with 47 additions and 0 deletions

View file

@ -163,6 +163,12 @@ services:
volume_folder: "{{ volume_root_folder }}/drone"
version: 1
woodpecker:
file: woodpecker.yml
domain: "ci.{{ base_domain }}"
volume_folder: "{{ volume_root_folder }}/woodpecker"
version: v0.15
mailu:
file: mailu.yml
version: 1.9

View file

@ -0,0 +1,41 @@
# vim: ft=yaml.ansible
---
- name: Set up Woodpecker CI with Docker runner
docker_compose:
project_name: woodpecker
pull: true
definition:
version: "3.8"
services:
server:
image: "woodpeckerci/woodpecker-server:{{ services.woodpecker.version }}"
restart: always
networks:
- default
samsapti marked this conversation as resolved
Review

Unless you add purge_networks: yes the default network is implicitly added (IMHO an annoying default). I think we should either add purge_networks: yes or leave out default.

Unless you add `purge_networks: yes` the `default` network is implicitly added (IMHO an annoying default). I think we should either add `purge_networks: yes` or leave out `default`.
Review

default is needed for server to be able to communicate with the other Compose services. (Why is it an annoying default?)

`default` is needed for `server` to be able to communicate with the other Compose services. (Why is it an annoying default?)
- external_services
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 }}"
agent:
image: "woodpeckerci/woodpecker-agent:{{ services.woodpecker.version }}"
restart: always
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
environment:
WOODPECKER_SERVER: "server:9000"
WOODPECKER_AGENT_SECRET: "{{ woodpecker_secrets.agent_secret }}"
networks:
external_services:
external: true