opendevstack / ods-quickstarters

Contains project quickstarters (boilerplates) for Nginx, Go, Java (Spring Boot), Python (Flask), Rust (Axum), Scala (Play), TypeScript (Express), Angular, Ionic, Jupyter, RShiny - all including CI/CD integration & Jenkins build agents
Apache License 2.0
27 stars 39 forks source link

Push the docker images built by ods-quickstarters to DockerHub so we can reuse them when building ODS Boxes. #836

Open victorpablosceruelo opened 2 years ago

victorpablosceruelo commented 2 years ago

Is your feature request related to a problem? Please describe. No, it is not related to a problem. When the docker images are built by the GitHub actions, please upgrade resulting images to the DockerHub account ( https://hub.docker.com/u/opendevstackorg ), so we can reuse them when building ODS Boxes and reduce time spent in that task (about 5h 30m right now).

Describe the solution you'd like When the docker images are built for the branches master, 4.x, etc, push them to GitHub with the expected tag (latest, 4.x, etc).

Describe alternatives you've considered

Additional context For this to work, we need username/password for the DockerHub account, which are currently in other repositories like ods-core, ods-provisioning-app, ods-document-generation-svc, ... See: https://hub.docker.com/u/opendevstackorg

tbugfinder commented 2 years ago

Well, what does an „admin user“ expect of an image tagged 4.x? Is it a build of latest released version or a build of latest commit? I’d think we should have a clearer view about the meaning of a 4.x tag and the purpose of image builds.

victorpablosceruelo commented 2 years ago

Hi @tbugfinder You're right. This needs to be clear before going on with the task.

But there is something more: tailor is used to inject values into Build Config files ( bc.yml ) used by oc to generate docker images. Since this bc.yml files are used to build docker images, that images have a lot of "static" parameters inside. This means the images cannot be reused without recompilation. Some examples of parameters are the proxy configuration or the nexus url.

If we do not change the way the docker images use that parameters, we cannot do what we propose in this issue without having problems. Right now this is a blocker for implementing this enhancement... :-(