mirroir readonly du Gitit wiki.evolix.org (attention, ne rien commiter/merger sur ce dépôt) https://wiki.evolix.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

HowtoDroneCI.md 2.0 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. ---
  2. title: Howto DroneCI
  3. categories: sysadmin git ci
  4. ...
  5. * Documentation : <https://readme.drone.io/>
  6. [DroneCI](https://drone.io/) est un logiciel libre d'[intération continue](https://fr.wikipedia.org/wiki/Int%C3%A9gration_continue).
  7. ## Installation
  8. Depuis la version 1.0, DroneCI est exclusivement fournit sous forme de conteneur [Docker](HowtoDocker).
  9. ~~~
  10. apt install docker-compose
  11. ~~~
  12. On créé le fichier **docker-compose.yml** :
  13. ~~~
  14. version: '2'
  15. services:
  16. drone-server:
  17. image: drone/drone:1.0.0-rc.5
  18. ports:
  19. - 8080:80
  20. volumes:
  21. - /var/lib/drone:/data
  22. restart: always
  23. env_file:
  24. - /etc/drone/drone-server.env
  25. drone-agent:
  26. image: drone/agent:1.0.0-rc.5
  27. depends_on:
  28. - drone-server
  29. volumes:
  30. - /var/run/docker.sock:/var/run/docker.sock
  31. restart: always
  32. env_file:
  33. - /etc/drone/drone-agent.env
  34. ~~~
  35. ### Serveur
  36. Éditer le fichier **/etc/drone/drone-server.env** :
  37. ~~~
  38. DRONE_SERVER_HOST=drone.example.com
  39. DRONE_SERVER_PROTO=https
  40. DRONE_SERVER_PORT=:80
  41. DRONE_TLS_AUTOCERT=false
  42. DRONE_RPC_SECRET=XXXXXXXXXXXXXXXX
  43. # Gitea config
  44. DRONE_GITEA_SERVER=https://gitea.example.com
  45. DRONE_GIT_ALWAYS_AUTH=false
  46. # Logs config
  47. DRONE_LOGS_DEBUG=true
  48. DRONE_LOGS_TEXT=true
  49. DRONE_LOGS_PRETTY=true
  50. DRONE_LOGS_COLOR=true
  51. # Admins
  52. DRONE_USER_CREATE=username:admin,admin:true
  53. ~~~
  54. ### Agent
  55. Éditer le fichier **/etc/drone/drone-agent.env** :
  56. ~~~
  57. DRONE_RPC_SERVER=https://drone.example.com
  58. DRONE_RPC_SECRET=XXXXXXXXXXXXXXXX
  59. DRONE_RUNNER_CAPACITY=3
  60. # Logs config
  61. DRONE_LOGS_DEBUG=true
  62. DRONE_LOGS_TEXT=true
  63. DRONE_LOGS_PRETTY=true
  64. DRONE_LOGS_COLOR=true
  65. ~~~
  66. ### Lancement
  67. On peut maintenant lancer **DroneCI** via docker-compose :
  68. ~~~
  69. docker-compose up
  70. ~~~
  71. ## Utilisation
  72. DroneCI se configure via un fichier `.drone.yml` a la racine de vos projets **GIT**, voici un exemple simple qui lance l'utilitaire `shellcheck` sur un script shell :
  73. ~~~
  74. kind: pipeline
  75. name: default
  76. steps:
  77. - name: run shellcheck on script.sh
  78. image: vlaborie/shellcheck
  79. commands:
  80. - LC_ALL=C.UTF-8 shellcheck script.sh
  81. ~~~