Drone plugin for building and publishing Docker images using kaniko + personal patches
Go to file
2020-11-17 00:20:20 +05:30
.github Working kaniko publish to docker 2020-11-16 23:41:59 +05:30
cmd Added support to build and publish GCR image 2020-11-17 00:20:20 +05:30
docker Working kaniko publish to docker 2020-11-16 23:41:59 +05:30
.gitignore Initial kaniko docker 2020-11-16 23:07:13 +05:30
go.mod Working kaniko publish to docker 2020-11-16 23:41:59 +05:30
go.sum Working kaniko publish to docker 2020-11-16 23:41:59 +05:30
kaniko_test.go Working kaniko publish to docker 2020-11-16 23:41:59 +05:30
kaniko.go Working kaniko publish to docker 2020-11-16 23:41:59 +05:30
LICENSE Initial kaniko docker 2020-11-16 23:07:13 +05:30
README.md Working kaniko publish to docker 2020-11-16 23:41:59 +05:30

drone-kaniko

Drone kaniko plugin uses kaniko to build and publish Docker images to a container registry.

Build

Build the binaries with the following commands:

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

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

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/kaniko-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/kaniko-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/kaniko-ecr .

Usage

Notice: Be aware that the Docker plugin currently requires privileged capabilities, otherwise the integrated Docker daemon is not able to start.

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