WIP: Initial work on woodpecker ci. #152

Draft
valberg wants to merge 3 commits from woodpeckerci into main
2 changed files with 53 additions and 0 deletions
Showing only changes of commit a70306f325 - Show all commits

View file

@ -163,6 +163,13 @@ services:
volume_folder: "{{ volume_root_folder }}/drone" volume_folder: "{{ volume_root_folder }}/drone"
version: 1 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: mailu:
file: mailu.yml file: mailu.yml
version: 1.9 version: 1.9

View file

@ -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
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?)
- 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