commit | 2991299ee8d42ddc741417864e75fc1832984fe5 | [log] [tgz] |
---|---|---|
author | Chesnay Schepler <chesnay@apache.org> | Fri Apr 24 10:42:05 2020 +0200 |
committer | Chesnay Schepler <chesnay@apache.org> | Tue Apr 28 13:02:33 2020 +0200 |
tree | 5fb2fcdee6657fe65f26ea10217faaaa984256f4 | |
parent | 1c4c876b6127e51569477250bec350c951acd47b [diff] |
[FLINK-17367] Add script for building with configurable download URL
This repo contains Dockerfiles for building Docker images for Apache Flink, and are used to build the “official” flink
images hosted on Docker Hub.
These Dockerfiles are maintained by the Apache Flink community, but the Docker community is responsible for building and hosting the images on Docker Hub.
official-images
repositorylibrary/flink
file in the official-images
repository.There are additional steps required when a new Flink minor version (x.y.0) is released.
latest
tag, so the aliases
array in generate-stackbrew-library.sh
must be updatedWhen a new release of Flink is available, the Dockerfiles in this repo should be updated and a new manifest sent to the Docker Library official-images
repo.
Updating the Dockerfiles involves 3 steps:
add-version.sh
with the GPG key ID of the key used to sign the new releaseAdd GPG key for x.y.z release
[example]rm -r 1.2
, if the new Flink version is 1.2.1
add-version.sh
with the appropriate arguments (-r flink-minor-version -f flink-full-version
)./add-version.sh -r 1.2 -f 1.2.1
Update Dockerfiles for x.y.z release
[example]A pull request can then be opened on this repo with the changes.
Once the pull request has been merged, a new manifest should be generated and a pull request opened on the Docker Library official-images
repo.
./generate-stackbrew-library.sh
to output the new manifest (see note below regarding usage of this script)official-images
repo, overwrite the file library/flink
with the new manifestUpdate to Flink x.y.z
[example]A pull request can then be opened on the official-images
repo with the new manifest. [example]
Once the pull request has been merged (often within 1 business day), the new images will be available shortly thereafter.
add-version.sh
and committed with the message Add GPG key for x.y.z release
x.y/
directories should be present)./add-version.sh -r x.y -f x.y.z
has been run, and the updated Dockerfiles committed with the message Update Dockerfiles for x.y.z release
aliases
array in generate-stackbrew-library.sh
has been updated with [x.y]='latest'
and committed with the message Update latest image tag to x.y
generate-stackbrew-library.sh
and a pull request opened on the official-images
repo with commit message Update to Flink x.y.z
generate-stackbrew-library.sh
is used to generate the library manifest file required for official Docker Hub images.
When the Dockerfiles in this repo are updated, the output of this script should replace the contents of library/flink
in the Docker official-images repo via a pull request.
Note: Since this script requires the bashbrew
binary and a compatible version of Bash, the script generate-stackbrew-library-docker.sh
can be used to invoke the script in a Docker container with the necessary dependencies.
Example:
./generate-stackbrew-library-docker.sh > /path/to/official-images/library/flink
Licensed under the Apache License, Version 2.0: https://www.apache.org/licenses/LICENSE-2.0
Apache Flink, FlinkĀ®, ApacheĀ®, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.