Drone plugin for publishing Docker images using Docker-in-Docker (personal "fork" with focus on getting latest docker) https://hub.docker.com/r/immawanderer/drone-docker
Go to file
2019-03-27 13:16:00 +01:00
.github Properly configure permissions for protected branches 2019-01-22 10:52:39 +01:00
cmd Add ability to append lifecycle and repository policies 2019-03-04 20:40:16 -08:00
docker revert amd64 base image. 2019-02-12 21:25:20 +08:00
.drone.jsonnet Apply a proper libsonnet library 2019-02-10 14:14:28 +01:00
.drone.windows.jsonnet Apply a proper libsonnet library 2019-02-10 14:14:28 +01:00
.drone.windows.yml Apply a proper libsonnet library 2019-02-10 14:14:28 +01:00
.drone.yml Apply a proper libsonnet library 2019-02-10 14:14:28 +01:00
.gitignore replace govendor with dep 2017-10-30 23:05:06 -07:00
docker_test.go ability to disable purge 2017-11-09 13:28:19 -08:00
docker.go Merge branch 'master' into docker-data-root 2019-02-09 16:03:18 +01:00
go.mod Use FilePath enabled urfave/cli lib 2019-01-21 21:50:31 +01:00
go.sum feat(version): support 18.06.0 tag format. 2019-02-12 19:49:22 +08:00
LICENSE Initial commit 2015-05-14 16:58:41 -07:00
pipeline.libsonnet Apply a proper libsonnet library 2019-02-10 14:14:28 +01:00
README.md Export required env variables within readme 2019-01-22 11:27:13 +01:00
tags_test.go feat(version): support 18.06.0 tag format. 2019-02-12 19:49:22 +08:00
tags.go feat(version): support 18.06.0 tag format. 2019-02-12 19:49:22 +08:00

drone-docker

Build Status Gitter chat Join the discussion at https://discourse.drone.io Drone questions at https://stackoverflow.com Go Doc Go Report

Drone plugin to build and publish Docker images to a container registry. For the usage information and a listing of the available options please take a look at the docs.

Build

Build the binaries with the following commands:

export GOOS=linux
export GOARCH=amd64
export CGO_ENABLED=0
export GO111MODULE=on

go test -cover ./...

go build -v -a -tags netgo -o release/linux/amd64/drone-docker ./cmd/drone-docker
go build -v -a -tags netgo -o release/linux/amd64/drone-gcr ./cmd/drone-gcr
go build -v -a -tags netgo -o release/linux/amd64/drone-ecr ./cmd/drone-ecr
go build -v -a -tags netgo -o release/linux/amd64/drone-heroku ./cmd/drone-heroku

Docker

Build the Docker images with the following commands:

docker build \
  --label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
  --label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \
  --file docker/docker/Dockerfile.linux.amd64 --tag plugins/docker .

docker build \
  --label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
  --label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \
  --file docker/gcr/Dockerfile.linux.amd64 --tag plugins/gcr .

docker build \
  --label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
  --label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \
  --file docker/ecr/Dockerfile.linux.amd64 --tag plugins/ecr .

docker build \
  --label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
  --label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \
  --file docker/heroku/Dockerfile.linux.amd64 --tag plugins/heroku .

Usage

Execute from the working directory:

docker run --rm \
  -e PLUGIN_TAG=latest \
  -e PLUGIN_REPO=octocat/hello-world \
  -e DRONE_COMMIT_SHA=d8dbe4d94f15fe89232e0402c6e8a0ddf21af3ab \
  -v $(pwd):$(pwd) \
  -w $(pwd) \
  --privileged \
  plugins/docker --dry-run