Skip to content
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

Migrate Jenkins deployment from Bash to Groovy #253

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

schnatterer
Copy link
Member

Reducing the burden of our bash legacy.

This also introduces some other minor improvements

  • All Jenkins config is done in value.ftl.yaml, no more imperative helming
  • Clean up value.ftl.yaml
  • Several versions strewn across the code base now moved into Config.groovy
  • Jenkins GID grepper is now a one-shot temporary pod
  • config.jenkins.helm.values allows for full customization of Jenkins helm deployment
  • Some more logging for all helm deployments
  • namespace variables in Jenkins, ScmManager and Registry
  • This lead to Application.setNamespaceListToConfig() to return redundant default namespaces 🤔 which this PR fixed
  • Boy scout: Also updated some docs/comments that became outdated when versions moved from ApplicationConfigurator to Config in Typed Config for GOP #241

Otherwise the gid grepper pod will keep running unnecessarily.

This implementation should also be easier to migrate to groovy later.
Because it is only a single command.

An alternative would have been to use kubectl wait --for=condition=complete pod/tmp-docker-gid-grepper
instead of until.
This makes explicit which values need to be changed per tests and
otherwise relies on defaults.

This way it became obvious that b38f42d (accidentally?) introduced a
change that resulted in most of the Jenkins config to be only executed
when config.registry.url was set.
This also implements config.jenkins.helm.values,
 allow for full customization of Jenkins helm deployment
* JCasC was not necessary
* sidecars.configAutoReload.enabled might reduce number of Jenkins
reboots (or might not be necessary at all)
* Update PATH to current agent image
  (jenkins/inbound-agent:3261.v9c670a_4748a_9-1 as of chart 5.5.11)
* Elaborate on comments
After they moved there from ApplicationConfigurator in #241
This allows for better logging.
Right now, our build on Jenkins returns empty string when grepping and
cutting.

This lead to the insight
that pretty print of the override JSON causes the gid grepper
command to return empty. 🙄
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant