วันนี้เราจะมาพูดถึงเกี่ยวกับ Drone ซึ่งเป็น Tool ในการทำ CI/CD โดยเจ้าตัวนี้ได้เข้าร่วมกับ CNCF ด้วยแถมยังเป็น Container-Native อีกด้วย !

Run Drone CI

docker run \
  --volume=/var/run/docker.sock:/var/run/docker.sock \
  --volume=/var/lib/drone:/data \
  --env=DRONE_GITHUB_SERVER=https://github.com \
  --env=DRONE_GITHUB_CLIENT_ID={} \
  --env=DRONE_GITHUB_CLIENT_SECRET=[]] \
  --env=DRONE_RPC_SECRET=[]] \
  --env=DRONE_RUNNER_CAPACITY=2 \
  --env=DRONE_SERVER_HOST=[]] \
  --env=DRONE_SERVER_PROTO=https \
  --env=DRONE_TLS_AUTOCERT=true \
  --env=DRONE_USER_FILTER=N8NNY \
  --env=DRONE_USER_CREATE=username:N8NNY,admin:true \
  --publish=80:80 \
  --publish=443:443 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone:1

Runner

docker run -d \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DRONE_RPC_PROTO=https \
  -e DRONE_RPC_HOST=[] \
  -e DRONE_RPC_SECRET=[] \
  -e DRONE_RUNNER_CAPACITY=2 \
  -e DRONE_RUNNER_NAME=${HOSTNAME} \
  -p 3000:3000 \
  --restart always \
  --name runner \
  drone/drone-runner-docker:1