Bootstrap runner repo

This commit is contained in:
Luke Murphy 2020-03-24 15:46:51 +01:00
parent 81c2eec28b
commit def15e192e
No known key found for this signature in database
GPG Key ID: 5E2EF5A63E3718CC
10 changed files with 42 additions and 62 deletions

View File

@ -1,3 +1,9 @@
FROM drone/drone:1 FROM drone/drone-runner-docker:1
EXPOSE 8000 EXPOSE 3000
COPY . ${WORKDIR}
COPY sbin/* /sbin/
ENTRYPOINT ["/sbin/entrypoint.sh"]

View File

@ -1,4 +1,4 @@
# drone # drone-docker-runner
> https://drone.io/ > https://drone.io/
@ -38,6 +38,6 @@ $ pip install -r requirements.txt
## Deploy ## Deploy
```bash ```bash
$ git remote add dokku dokku@dokku.autonomic.zone:drone $ git remote add dokku dokku@dokku.autonomic.zone:drone-docker-runner
$ git push dokku $ git push dokku
``` ```

View File

@ -4,37 +4,37 @@
tasks: tasks:
- name: Load variables - name: Load variables
include_vars: include_vars:
dir: "{{ dokku_lib_root }}/data/ansible/drone/vars/" dir: "{{ dokku_lib_root }}/data/ansible/drone-docker-runner/vars/"
extensions: extensions:
- yml - yml
- name: Set HTTP 80 port proxy - name: Set HTTP 80 port proxy
dokku_ports: dokku_ports:
app: drone app: drone-docker-runner
mappings: mappings:
- "http:80:8000" - "http:80:3000"
state: present state: present
- name: Setup LE certificates - name: Setup LE certificates
shell: dokku letsencrypt drone shell: dokku letsencrypt drone-docker-runner
args: args:
creates: /home/dokku/drone/letsencrypt/certs creates: /home/dokku/drone-docker-runner/letsencrypt/certs
- name: Setup LE certificates renew cron job - name: Setup LE certificates renew cron job
shell: dokku letsencrypt:cron-job --add shell: dokku letsencrypt:cron-job --add
args: args:
creates: /home/dokku/drone/letsencrypt/cron-job creates: /home/dokku/drone-docker-runner/letsencrypt/cron-job
- name: Remove automatically configured ports - name: Remove automatically configured ports
dokku_ports: dokku_ports:
app: drone app: drone-docker-runner
mappings: mappings:
- "http:8000:8000" - "http:3000:3000"
state: absent state: absent
- name: Set HTTP 443 port - name: Set HTTP 443 port
dokku_ports: dokku_ports:
app: drone app: drone-docker-runner
mappings: mappings:
- "https:443:8000" - "https:443:3000"
state: present state: present

View File

@ -4,41 +4,31 @@
tasks: tasks:
- name: Load variables - name: Load variables
include_vars: include_vars:
dir: "{{ dokku_lib_root }}/data/ansible/drone/vars/" dir: "{{ dokku_lib_root }}/data/ansible/drone-docker-runner/vars/"
extensions: extensions:
- yml - yml
- name: "Configure {{ domain }} domain" - name: "Configure {{ domain }} domain"
dokku_domains: dokku_domains:
app: drone app: drone-docker-runner
domains: domains:
- "{{ domain }}" - "{{ domain }}"
state: present state: present
- name: Create application directory - name: Specify docker volume mount
file:
path: /var/lib/drone
state: directory
owner: dokku
group: dokku
become: true
- name: Specify docker volume mounts
dokku_storage: dokku_storage:
app: drone app: drone-docker-runner
mounts: mounts:
- /var/lib/drone:/data - /var/run/docker.sock:/var/run/docker.sock
- name: Configure the app environment - name: Configure the app environment
dokku_config: dokku_config:
app: drone app: drone-docker-runner
restart: false restart: false
config: config:
DOKKU_LETSENCRYPT_EMAIL: "{{ autonomic_admin_mail }}" DOKKU_LETSENCRYPT_EMAIL: "{{ autonomic_admin_mail }}"
DRONE_GITEA_CLIENT_ID: "{{ gitea_client_id }}" DRONE_RPC_HOST: "{{ drone_domain }}"
DRONE_GITEA_CLIENT_SECRET: "{{ gitea_client_secret }}" DRONE_RPC_PROTO: "https"
DRONE_GITEA_SERVER: "{{ gitea_domain }}"
DRONE_GIT_ALWAYS_AUTH: "true"
DRONE_RPC_SECRET: "{{ rpc_secret }}" DRONE_RPC_SECRET: "{{ rpc_secret }}"
DRONE_SERVER_HOST: "{{ domain }}" DRONE_RUNNER_CAPACITY: "2"
DRONE_SERVER_PROTO: "https" DRONE_RUNNER_NAME: "drone-docker-runner"

View File

@ -1,2 +0,0 @@
#!/bin/sh
ssh -p {{ ssh_listen_port }} -o StrictHostKeyChecking=no git@{{ dokku_container_ip }} "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@"

View File

@ -1,4 +1,4 @@
--- ---
domain: "drone.autonomic.zone" domain: "drone-docker-runner.autonomic.zone"
autonomic_admin_mail: "helo@autonomic.zone" autonomic_admin_mail: "helo@autonomic.zone"
gitea_domain: "git.autonomic.zone" drone_domain: "drone.autonomic.zone"

View File

@ -1,7 +0,0 @@
gitea_client_id: !vault |
$ANSIBLE_VAULT;1.1;AES256
64653961323438353332343365626333303863343839383030383231396233376663613665393637
3839643333633535623931323738323839313331626230390a386662393636343266326632333362
62643765656239613065663366353533383635303930353237623235623332646639333735363630
3330333836653664320a623432633961343664613230323665373934656630366138393264353231
63383937396336383730656666303437646662356538656565373538316336663234

View File

@ -1,8 +0,0 @@
gitea_client_secret: !vault |
$ANSIBLE_VAULT;1.1;AES256
36373362613266363063383964333434666435383862336136393632653038313039623438343264
6537376539363338333632656365353766363536343431620a633736306232323230363263666635
33353338386235306665363532623432353363666366393636623163666134633538393161386232
6138343930623965340a386338383637633161363238633031396431323665353635303461363438
32393835623132656237356538306634666164343034343735376131313032396636353733303761
3235333336373138393731303531396164323731623039663835

View File

@ -1,3 +1,4 @@
---
rpc_secret: !vault | rpc_secret: !vault |
$ANSIBLE_VAULT;1.1;AES256 $ANSIBLE_VAULT;1.1;AES256
33346331663332396364613536313365316561616465656465653330646139333039326130336632 33346331663332396364613536313365316561616465656465653330646139333039326130336632

View File

@ -1,5 +1,5 @@
{ {
"name": "drone", "name": "drone-docker-runner",
"description": "Automate Software Testing and Delivery", "description": "Docker based build runner for the Drone controller",
"repository": "https://git.autonomic.zone/autonomic-cooperative/drone" "repository": "https://git.autonomic.zone/autonomic-cooperative/drone"
} }