Ajout du service Drone CI
This commit is contained in:
parent
154ca377e2
commit
f8e4f42cc2
|
@ -0,0 +1,37 @@
|
||||||
|
## DOCKER
|
||||||
|
|
||||||
|
COMPOSE_FILE=./docker-compose.yml:./docker-compose.gitea.yml:./docker-compose.traefik.yml
|
||||||
|
TRAEFIK_NETWORK_NAME=kifeart
|
||||||
|
|
||||||
|
|
||||||
|
## DRONE SERVER
|
||||||
|
|
||||||
|
# https://hub.docker.com/r/drone/drone/tags
|
||||||
|
DRONE_SERVER_IMAGE=drone/drone:1.7.0
|
||||||
|
|
||||||
|
DRONE_SERVER_VOLUME_NAME=drone-server
|
||||||
|
DRONE_SERVER_CONTAINER_NAME=drone-server
|
||||||
|
|
||||||
|
# https://docs.drone.io/server/reference/
|
||||||
|
DRONE_GIT_ALWAYS_AUTH=true
|
||||||
|
DRONE_RPC_SECRET=9VjG2Dj34Kdo2JYvn5iVxd7JjT5
|
||||||
|
DRONE_SERVER_HOST=ci.cool.life
|
||||||
|
DRONE_SERVER_PROTO=https
|
||||||
|
|
||||||
|
# https://docs.drone.io/server/provider/gitea/
|
||||||
|
DRONE_GITEA_SERVER=gitea.cool.life
|
||||||
|
DRONE_GITEA_CLIENT_ID=UI76T78G-HDZ8-7CSD-6SDZ-YUIDG8Z7DSQ8
|
||||||
|
DRONE_GITEA_CLIENT_SECRET=y9ruXnEqluXjKUcfs5yIFlH83yb1OpP32NCf0h5YJwg=
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## DRONE RUNNER
|
||||||
|
|
||||||
|
# https://hub.docker.com/r/drone/drone-runner-docker/tags
|
||||||
|
DRONE_RUNNER_IMAGE=drone/drone-runner-docker:1.3.0
|
||||||
|
DRONE_RUNNER_CONTAINER_NAME=drone-runner
|
||||||
|
DRONE_RUNNER_CAPACITY=2
|
||||||
|
DRONE_RUNNER_HOST=ci-runner.cool.life
|
||||||
|
DRONE_RUNNER_NAME=ci-runner.cool.life
|
||||||
|
DRONE_RUNNER_UI_USERNAME=kosssi
|
||||||
|
DRONE_RUNNER_UI_PASSWORD=$not$a$password
|
|
@ -0,0 +1,20 @@
|
||||||
|
# Drone CI
|
||||||
|
|
||||||
|
> Drone est construit avec Go et utilise Docker. Il peut être exécuté à l’intérieur d’un conteneur même avec très peu de configuration.
|
||||||
|
>
|
||||||
|
> <cite>[Codeflow][article]</cite>
|
||||||
|
|
||||||
|
## Liens
|
||||||
|
|
||||||
|
- [Site internet][site]
|
||||||
|
- [Code source][source]
|
||||||
|
- [Docker Hub][dockerhub]
|
||||||
|
|
||||||
|
## TODO
|
||||||
|
|
||||||
|
- Création d'un script de sauvegarde et restauration
|
||||||
|
|
||||||
|
[article]: https://www.codeflow.site/fr/article/how-to-perform-continuous-integration-testing-with-drone-io-on-coreos-and-docker
|
||||||
|
[site]: https://drone.io/
|
||||||
|
[source]: https://github.com/drone/drone
|
||||||
|
[dockerhub]: https://hub.docker.com/r/drone/drone
|
|
@ -0,0 +1,10 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
# https://docs.drone.io/server/provider/gitea/
|
||||||
|
|
||||||
|
services:
|
||||||
|
drone-server:
|
||||||
|
environment:
|
||||||
|
DRONE_GITEA_SERVER: ${DRONE_GITEA_SERVER}
|
||||||
|
DRONE_GITEA_CLIENT_ID: ${DRONE_GITEA_CLIENT_ID}
|
||||||
|
DRONE_GITEA_CLIENT_SECRET: ${DRONE_GITEA_CLIENT_SECRET}
|
|
@ -0,0 +1,22 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
name: ${TRAEFIK_NETWORK_NAME}
|
||||||
|
|
||||||
|
services:
|
||||||
|
drone-server:
|
||||||
|
labels:
|
||||||
|
traefik.enable: 'true'
|
||||||
|
traefik.docker.network: ${TRAEFIK_NETWORK_NAME}
|
||||||
|
|
||||||
|
traefik.http.routers.drone-server.rule: 'Host(`${DRONE_SERVER_HOST}`)'
|
||||||
|
traefik.http.routers.drone-server.entrypoints: 'web'
|
||||||
|
|
||||||
|
drone-runner:
|
||||||
|
labels:
|
||||||
|
traefik.enable: 'true'
|
||||||
|
traefik.docker.network: ${TRAEFIK_NETWORK_NAME}
|
||||||
|
|
||||||
|
traefik.http.routers.drone-runner.rule: 'Host(`${DRONE_RUNNER_HOST}`)'
|
||||||
|
traefik.http.routers.drone-runner.entrypoints: 'web'
|
|
@ -0,0 +1,41 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
drone-server:
|
||||||
|
name: ${DRONE_SERVER_VOLUME_NAME}
|
||||||
|
|
||||||
|
services:
|
||||||
|
drone-server:
|
||||||
|
container_name: ${DRONE_SERVER_CONTAINER_NAME}
|
||||||
|
image: ${DRONE_SERVER_IMAGE}
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
DRONE_GIT_ALWAYS_AUTH: ${DRONE_GIT_ALWAYS_AUTH}
|
||||||
|
DRONE_RPC_SECRET: ${DRONE_RPC_SECRET}
|
||||||
|
DRONE_SERVER_HOST: ${DRONE_SERVER_HOST}
|
||||||
|
DRONE_SERVER_PROTO: ${DRONE_SERVER_PROTO}
|
||||||
|
DRONE_LOGS_DEBUG: 'true'
|
||||||
|
volumes:
|
||||||
|
- drone-server:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
|
||||||
|
drone-runner:
|
||||||
|
container_name: ${DRONE_RUNNER_CONTAINER_NAME}
|
||||||
|
image: ${DRONE_RUNNER_IMAGE}
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- drone-server
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
environment:
|
||||||
|
DRONE_RPC_PROTO: http
|
||||||
|
DRONE_RPC_HOST: ${DRONE_SERVER_CONTAINER_NAME}
|
||||||
|
DRONE_RPC_SECRET: ${DRONE_RPC_SECRET}
|
||||||
|
DRONE_RUNNER_CAPACITY: ${DRONE_RUNNER_CAPACITY}
|
||||||
|
DRONE_RUNNER_NAME: ${DRONE_RUNNER_NAME}
|
||||||
|
DRONE_UI_USERNAME: ${DRONE_RUNNER_UI_USERNAME}
|
||||||
|
DRONE_UI_PASSWORD: ${DRONE_RUNNER_UI_PASSWORD}
|
||||||
|
DRONE_DEBUG: 'true'
|
Loading…
Reference in New Issue