commit | 2cfe20eb0ab518d173fdc7921a6f42184e3e5f14 | [log] [tgz] |
---|---|---|
author | Fabio Ponciroli <ponch78@gmail.com> | Thu Nov 24 21:53:00 2022 +0100 |
committer | Luca Milanesio <luca.milanesio@gmail.com> | Tue Jan 17 11:15:37 2023 +0000 |
tree | 7785cdde6ab709f318f29364b98ca89ed137e4e9 | |
parent | 101e63eeaf8929bd1ecf26a3a69a00977855a7f0 [diff] |
Bump Jenkins server to 2.375.2 Jenkins doesn't support Java 8 as of 2.361.x [1], so it's been removed from the Dockerfile. We have also introduced a change in the way we manage plugins to make plugin upgrades simpler. We now have a `required_plugins.txt` file which is the list of plugins that we depend on directly, and a separate `plugins.txt` file which contains all our plugins, including the required plugins' transitive dependencies. Any plugin version changes should be done in `required_plugins.txt`, and we should then rebuild Jenkins for its new plugin manager tool [2] to work out which dependencies need fetching. This list can then be used to build subsequent iterations of the image. There is a comment detailing this process in the server's Makefile. We may want to automate the plugin update process in a separate make target in a subsequent change. [1] https://www.jenkins.io/doc/upgrade-guide/2.361/ [2] https://github.com/jenkinsci/plugin-installation-manager-tool Bug: Issue 16536 Change-Id: I257615905dba0e72a903b0e3e469bc51c7f94f37
This project uses Jenkins Jobs Builder [1] to generate jobs from yaml descriptor files.
To add new jobs reuse existing templates, defaults etc. as much as possible. E.g. adding a job to build an additional branch of a project may be as easy as adding the name of the branch to an existing project.
To ensure well readable yaml-files, use yamllint [2] to lint the yaml-files. Yamllint can be downloaded using Python Pip:
pip3 install yamllint
To run the linter, execute this command from the project's root directory:
yamllint -c yamllint-config.yaml jenkins/**/*.yaml
Yamllint will not fix detected issues itself.
[1] https://docs.openstack.org/infra/jenkins-job-builder/index.html [2] https://pypi.org/project/yamllint/