DroneCI
Definition
DroneCI is a continuous integration and continuous deployment (CI/CD) platform that automates the software release process. It is container-native, leveraging Docker to run builds in isolated environments, and supports a wide range of plugins for integration with various tools and services. DroneCI is designed to be scalable and flexible, allowing developers to define their pipelines using a simple YAML configuration file.
Secure Settings Example
kind: pipeline
type: docker
name: secure-pipeline
steps:
- name: build
image: golang:1.17
commands:
- go build
environment:
- GOLANG_ENV=production
secrets: [ docker_username, docker_password ]
volumes:
- name: cache
host:
path: /var/lib/drone/cache
workspace:
base: /drone
path: src
trigger:
event:
- push
- pull_request
# Enforce TLS for all communications
server:
tls:
enabled: true
cert: /etc/drone/certs/server.crt
key: /etc/drone/certs/server.key
Insecure Settings Example
kind: pipeline
type: docker
name: insecure-pipeline
steps:
- name: build
image: golang:1.17
commands:
- go build
environment:
- GOLANG_ENV=development
secrets: [ docker_username, docker_password ]
volumes:
- name: cache
host:
path: /tmp/drone/cache
workspace:
base: /drone
path: src
trigger:
event:
- push
- pull_request
# No TLS configuration, allowing unencrypted communication
server:
tls:
enabled: false