seek-oss / docker-ecr-publish-buildkite-plugin Goto Github PK
View Code? Open in Web Editor NEWBuild, tag, and push Docker images to Amazon ECR
License: BSD 3-Clause Clear License
Build, tag, and push Docker images to Amazon ECR
License: BSD 3-Clause Clear License
I'd like to download build artefacts from previous steps so that they are available to the docker build command.
We have a vanilla build pipeline
I cant find a hook point to add buildkite-agent artifact download ...
Is this possible at the moment?
It would be great if I could specify the region the ECR is located in, Our build setup has all of our builds running in US-WEST-2 but yet our ECR is located in US-EAST-1
In the docker build
line https://github.com/seek-oss/docker-ecr-publish-buildkite-plugin/blob/master/hooks/command#L131
It would be very useful to copy the great idea used in the cache plugin to specify additional arguments to docker build
, see https://github.com/seek-oss/docker-ecr-cache-buildkite-plugin/blob/master/hooks/pre-command#L196
The main use case is passing --progress=plain
for setting DOCKER_BUILDKIT=1
(see https://docs.docker.com/develop/develop-images/build_enhancements/#new-docker-build-command-line-build-output)
We have ECR repositories in multiple regions — how can we configure this plugin so that it pushes to a given region?
Seeing as this plugin uses aws
cli, I figured that we may be able to configure it as follows:
- branches: stable
label: ":ecr: Stable image (me-south-1)"
env:
AWS_DEFAULT_REGION: me-south-1
plugins:
- seek-oss/docker-ecr-publish#v1.2.0:
ecr-name: calibre/reporter
tags:
- stable
This returns an error, stating: An error occurred (RepositoryNotFoundException) when calling the DescribeRepositories operation: The repository with name 'calibre/reporter' does not exist in the registry with id '<account id removed from paste>
Hi,
I would like to be able to configure the behaviour of adding the 'latest' tag to images if on the master branch. Our ECR repos do not allow tags to be mutable (Tag immutability toggle is turned off) and hence using the latest tags is causing us issue.'
Thanks!
We encountered a race condition when running two buildkite agents on the same host.
We had two builds, build A and build B running concurrently:
{ecr_name}
, as no version was specified it defaulted to latest
.{ecr_name}:latest
I've raised a pull request with a suggested fix #33
Error message:
--- Saving Docker image digest to Buildkite metadata: my-metadata-variable
/var/lib/buildkite-agent/plugins/github-com-seek-oss-docker-ecr-publish-buildkite-plugin-v2-4-0/hooks/command: line 229: image: unbound variable
�[31m🚨 Error: The command exited with status 1�[0m
^^^ +++
^^^ +++
user command error: The plugin docker-ecr-publish command hook exited with status 1
~~~ Running global pre-exit hook
�[90m$�[0m /etc/buildkite-agent/hooks/pre-exit
~~~ Stopping ssh-agent 15751
Basic pipeline
steps:
- plugins:
- seek-oss/docker-ecr-publish#v2.5.0:
ecr-name: e2e-smoke-tests
save-digest-as-metadata: my-metadata-variable
If an ECR repository is configured with immutable tags, this plugin will fail when it tries to push the latest
tag.
Are you open to making that default tag optional so it can be skipped for immutable repositories?
It appears there's a mistake for the target parameter introduced in #16 which appears to default the target parameter to a dot ("."). This conflicts with build context and probably should be blank. Specifically this line should not have the final dot inside the curly braces.
This blocks #17 not to mention might cause errors for people using v1.3.0.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.