Sign inSign up

zenoss/zenkit-build

By zenoss

•Updated 2 days ago

A build image for zenkit microservices.

Image
Integration & delivery
0

50K+

zenoss/zenkit-build repository overview

⁠zenkit-build

A build image for zenkit services.

⁠Updating the zenkit-build image

This image is build automatically by the zenkit-build Jenkins job⁠ according to the Jenkinsfile. When the master branch is updated, a build-<#> image tag will be created, and the latest image tag will be updated. If a different branch is updated, a <branchname> image tag will be created or updated. When a tag is created, a <tagname> image tag will be created.

This means the process for updating zenkit-build is the usual process of opening a pull request that's associated with a Jira issue, getting it approved, then merging it. After that the next appropriate tag should be created from the master branch.

Tool and base image versions in the Dockerfile are pinned via ARGs. To see which pins have newer releases, run scripts/update-versions.sh --check. To rewrite the pins to the latest versions, run scripts/update-versions.sh --apply.

Each Go tool is built in its own Dockerfile stage (gocov, ginkgo, golangci-lint, ...) and copied into the final stage. Bumping one tool version rebuilds only that stage and changes only its layer. To verify, build with and without the change and compare the layer diff IDs:

docker image inspect zk:old | jq -r '.[0].RootFS.Layers[]' > old.txt
docker image inspect zk:new | jq -r '.[0].RootFS.Layers[]' > new.txt
diff old.txt new.txt

⁠Using transcoding mappings for HTTP

You can decorate your protobufs to enable HTTP transcoding to gRPC as described in this Google tutorial⁠.

To build protobufs with these transcodings, you can use zenkit-build:1.7.7 or higher, but you must also add the following to your protoc command(s) - --proto_path=${GOPATH}/googleapis.

Tag summary

Content type

Image

Digest

sha256:1f7c90027…

Size

523.3 MB

Last updated

2 days ago

docker pull zenoss/zenkit-build