Hi all,
I am currently working on improving plugin management flows in Plugin Installation Manager, Custom WAR Packager and Jenkinsfile Runner. All repositories depend on Jenkins update centers and download sites in some configurations. Currently we run some integration tests against production update centers, and some use Mocked versions. Both these options are not ideal, because they either rely on external environment or use a simplified model.
I would like to introduce new integration tests that provision the Jenkins Update Center in a container for a test, with necessary caching between tests to improve performance.
https://www.testcontainers.org/ provides such feature, and I would like to use this library instead of our in-house
Docker Fixtures.
A few questions:
- Would anyone else be interesting in creating such a TestContainer? It might be useful for some integration tests in the Jenkins core and plugins, e.g. multi-site-update-center plugin
- Would we be fine w.r.t building a Dockerized version of the Update Center as a part of the https://github.com/jenkins-infra/update-center2 deployment flow? It would allow to ship update center images for each release/deployment, and it could help users who want to deploy local update centers but do not want to maintain everything on their own
- If not, I would like to ask for a permission to create a new repository within jenkinsci
And a few more strategic questions:
- What would everyone say about introducing dependency on testcontainers into Jenkins Test Harness directly? It is already used in multiple plugins, and it seems to be a better way for new development than our Docker Fixtures
- Should we go ahead and deprecate Docker Fixtures in favor of Testcontainers?
Best regards,
Oleg Nenashev