Can be used with Private docker registry to deploy things using #docker.
Pushing to private docker_registry
You should specify global_docker_login
, global_docker_password
, global_docker_registry
organizations variables in your drone. And docker_repo
variable for your repo as docker.yourdomain.com/your-image
.
This is example of .droneci
for private docker registry:
kind: pipelinename: buildtype: dockerplatform: os: linux arch: amd64steps: - name: build-master image: plugins/docker when: branch: - master settings: dockerfile: Dockerfile tag: - ${DRONE_BRANCH} username: from_secret: global_docker_login password: from_secret: global_docker_password registry: from_secret: global_docker_registry repo: from_secret: docker_repo
Docker-compose file for drone-ci
The drone
service is ui itself and drone-agent
is runner for builds, that can be started on different machine (or machines).
Change secret_id
, rpc_secret
and drone.url
to something you like.
version: "3"services: drone: container_name: drone image: drone/drone:latest environment: - DRONE_GITHUB_CLIENT_ID=secret_id - DRONE_GITHUB_CLIENT_SECRET=client_secret - DRONE_RPC_SECRET=rpc_secret - DRONE_SERVER_HOST=drone.url - DRONE_USER_CREATE="username:user,admin:true" - DRONE_SERVER_PROTO=https - DRONE_TLS_AUTOCERT=false - DRONE_GIT_ALWAYS_AUTH=false - DRONE_LOGS_DEBUG=true - DRONE_LOGS_TRACE=true restart: always volumes: - ./data:/data ports: - 8090:80 drone-agent: container_name: drone__agent image: drone/agent:latest command: agent restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - DRONE_RPC_SERVER=https://drone.url - DRONE_RPC_SECRET=rpc_secret
Caching builds
Haven't checked that yet, but there's a manual from Laszlo Fogas about that.
Get user info
export DRONE_SERVER=https://drone.urlexport DRONE_TOKEN=passworddrone info
Mark user as trusted
Sometimes it won't help, then connect to drone database with sqlite and change user's trusted flag to 1
.
drone repo update $1 --trusted=true && drone repo info $1