Implement a CI job to build official image for hived, haf HafAH, hivemind images
The built images should allow to start a 'instance' of service and at least in hive and haf, its creation is performed by build_instance.sh script spawn.
Job should be triggered only when protected tag (matching to v1.xx.x
or 1.xx.x
pattern) is created on master branch. Maybe there is some gitlab API to verify tag protection status, if not let's stick to similar patterns as defined above.
Image should be tagged and pushed to the registry.gitlab.syncad.com like also to HiveIO. Credentials to authenticate to both registries should be passed by environment variables defined on CI/CD gitlab configuration.
Base job definition should be prepared, next to inherit it in each final repository and pass actual parameters via variables exposed by base job definition.
Example qualified name of built imaage (specific to Hived 1.27.0 release):
hiveio/hive:v1.27.0
registry.gitlab.syncad.com/hive/hive/instance:instance-v1.27.0
Each image should be finally stored in the Gitlab container registry specific to source repository.
Each container repository should have extended cleanup rules to prevent automatic cleanup of given image.