New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stabilize ODS E2E tests and improve execution time by moving jenkins agents to a separated own project #766
Comments
Hi @metmajer @michaelsauter @clemensutschig @gerardcl this is a quick win that will provide stabilize the build of the ODSBox and execution of the E2E tests. I'd be more than happy if you can provide your feedback. |
LGTM One more thought on the proposed solution: What is holding us back from actually using those images directly from dockerhub instead of building them into the respective image streams of the ods namespace and get it from there? With this we could deliver new agent versions much faster and it is also much easier to maintain different flavors of them. Right now we have to do a lot of copy & paste in different places to introduce something like a nodejs 16 agent next to a nodejs 12 agent (se details here: #764). |
Thanks @cschweikert for the feedback... like you suggested our plan is to publish to dockerhub. The repository ods-docker-images was created for this. |
Ah, nice. Will have a look. |
Yes, the repo is created and next week I'll work with the pipeline in order to publish the images to DockerHub |
Current Problem:
The ODS E2E tests are regularly impacted by broken builds of the jenkins agents dockerfiles (located in folder
common
).This leads to permanent overhead of fixing the broken dockerfile.
The main problem is that the jenkins agent images are build from scratch (sequentially) during the setup of ODS E2E test environment (ODSBox).
This make the whole E2E tests strategy very unstable. Unstable E2E builds delay the merge of PRs.
Proposed Solution:
This request proposes to decouple the creation of the jenkins agent images from the build of ODS E2E tests environment.
To achieve this we would need to refactor out the folder
common
to its own repository. During the CI build of this new repository, the created docker images would be published to dockerhub. The published images would be imported during the tests execution.This strategy is not new for OpenDevStack project. It is currently applied to create the docker image
opendevstackorg/ods-jenkins-agent-base-centos7
, which is build during the CI build ofods-core
. Same strategy is used to release the provisioning app.Benefits:
By doing this the ODS E2E tests would depend on published docker image, instead of images build from scratch.
This will not only stabilize the whole E2E tests process, also the execution time will reduced by aprox. 1,5 hrs.
The text was updated successfully, but these errors were encountered: