* Make credential id name more descriptive
* Improve serviceKey description
* Change descriptions to add word service
Co-authored-by: Linda Siebert <linda.siebert@sap.com>
* Introduce docker config.json parameter for kubectl
* Use docker config.json parameter for helm
* Export definition of kube secret parameters
* fix username password existence check
* choose more fitting name for secret spec
* Adopt review suggestions
Co-authored-by: Roland Stengel <r.stengel@sap.com>
* Skip checkout flag
Defaults to null==false
We need the option to provide an scmInfo object by the user
* Check skipCheckout is Boolean
* Require scmInfo map in case checkout is skipped
* Move pull image parameters to general section
* Allow no nesting override
* Test dockerPullImage can be set to true
As the default is false, we need to make sure it can still be set to true.
First a bug fix is addressed in which the pull policy could not be configured to false by configuring the general configuration. It could neither be configured via dockerExecute or dockerExecuteOnKubernetes, even though this parameter is docker specific. Only by configuring the specific step where one wants to set the pull policy to false can it be configured.
As the bug stems from zero values being in the context config map, which is also addressed with this PR. That is the second part: Context config parameters are only set if they have a value.
* Don't set pull image if not configured
Otherwise, if the pull policy is not set explicitly for a step, dockerPullImage is set to true. Thus, before this change, it cannot be set in the general, or in dockerExecute or in dockerExecuteOnKubernetes configuration.
* Fix unit tests
* Add pullImage parameter test
* Do not place empty default values in context config
* Use putIfNotEmpty for sidecar container options
* Export common configuration
Keys that are set by both main and sidecar container can be exported
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
Without this change the default setting from dockerExecute
and dockerExecuteOnKubernetes are overruled.
With this change the user has to explicitly configure a step
if they want this behaviour.
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
* Move setting git info in cpe
Everything cpe related should be done in setupCommonPipelineEnvironment.
Thus a new parameter was introduced to accept the scmInfo object
returned by a checkout.
* Improve documentation
Only changes to master and PRs starts the travis job.
On PR Maven tests and mkdocs build for warnings and error check is done.
On change on master Maven is **not** run and the documentation is built
and deployed using a deploy key. The encrypted deploy key is not part of
this commit, it needs to be provided by an admin for this repository.
Before this commit the fileExists mock was not doing the same as the
real fileExists method. To stay close to reality we changed it construct
the absolute path and check for that when the fileExists method is
called.
Refactored to archiveName instead of archivePath, as this makes more
sense now.
When running on a slave we have to use the Pipeline method fileExists,
using the File class' exist on the absolute path fails.
The neo deployment uses the relative path as well.
The fileExists method is mocked with LesFurets.
To build the documentation mkdocs, a python package, is necessary. The
material theme is used and also needs to be installed.
Pass PEP370 --user to pip install, otherwise root privileges are needed.
Maven needs to be executed explicitely, as we are modifying the script
lifecycle phase.
In configurationLoader.md the reference to commonPipelineEnvironment.md
is wrong and will give you a 404, because commonPipelineEnvironment.md
lies in a separate folder called steps.
The change was already deployed to the gh-pages!
node() is not necessary in the LesFurets unit tests. This is especially
misleading for the pipelineExecute step, as the step itself opens a node
closure when loading a pipeline. If used like this in Jenkins
unnecessary executors will be used.
Mocking with LesFurets. Check that everything is at the right place.
1. Test with only the mandatory parameter 'repoUrl'.
1. Test setting all available parameters.
1. Test with no parameters throws Exception for missing mandatory
parameter 'repoUrl'.
A more convenient way to checkout the project sources. The idea is to
have a Jenkinsfile in the payload repository that only loads the shared
library and then runs this step. This step in turn loads a Jenkinsfile
from another repository.
The repo url, branch, Jenkinsfile path and credentials ID can be
provided to the step. The Jenkinsfile is first checked out to a
temporary folder, before it is loaded.
The payload repo must include a Jenkinsfile to be loaded with this
approach.