Drone plugin for building and publishing Docker images using kaniko + personal patches
Go to file
surtur 665106ec23
All checks were successful
continuous-integration/drone/push Build is passing
Merge branch 'main' into dev
2021-08-20 14:26:10 +02:00
.github Working kaniko publish to docker 2020-11-16 23:41:59 +05:30
cmd Merge branch 'main' into dev 2021-08-20 14:26:10 +02:00
docker feat: upgrade to a cgroupv2-aware kaniko (#1) 2021-08-20 13:14:31 +02:00
scripts feat: build {amd64,pure docker} only 2021-05-02 01:15:12 +02:00
.drone.yml feat: build {amd64,pure docker} only 2021-05-02 01:15:12 +02:00
.gitignore Initial kaniko docker 2020-11-16 23:07:13 +05:30
LICENSE Initial kaniko docker 2020-11-16 23:07:13 +05:30
README.md chore: add a README note about this repo 2021-05-02 01:08:00 +02:00
go.mod feat: build {amd64,pure docker} only 2021-05-02 01:15:12 +02:00
go.sum Working kaniko publish to docker 2020-11-16 23:41:59 +05:30
kaniko.go Merge branch 'main' into dev 2021-08-20 14:26:10 +02:00
kaniko_test.go Working kaniko publish to docker 2020-11-16 23:41:59 +05:30

drone-kaniko

Note: this is a remote working branch of https://github.com/drone/drone-kaniko
with my personal changes on top. GH would call it a "fork".
Development occurs in the dev branch while the main branch remains a
perfect clone of the remote main (as long as I keep it updated).

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 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

docker run --rm \
    -e PLUGIN_TAGS=1.2,latest \
    -e PLUGIN_DOCKERFILE=/drone/Dockerfile \
    -e PLUGIN_REPO=foo/bar \
    -e PLUGIN_USERNAME=foo \
    -e PLUGIN_PASSWORD=bar \
    -v $(pwd):/drone \
    -w /drone \
    plugins/kaniko:linux-amd64