1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2025-01-30 05:59:39 +02:00

17 Commits

Author SHA1 Message Date
Marcus Holl
edee92020c No versionBackup files for mvn versioning (#259) 2018-08-22 09:59:19 +02:00
Ramachandra Kamath Arbettu
c84114c3df
Enable support for executing on K8S as a step (#231)
* Create executeDockerOnKubernetes.groovy

* Update dockerExecute.groovy

* Create SysEnvTest.groovy

* Update default_pipeline_environment.yml

* Update executeDockerOnKubernetes.groovy

* Create utils object

* update docker image

* Update mavenExecute.groovy

* Use pipeline-lib than piper

* Check container name

* Always change ownership to 1000

* Check for map

* Fix command

* Move chmod to docker execute

* Use generic name for the pod

* runAsPod has been added

* Return false if script has no k8smapping

* fix syntax error

* Null checks

* Returnn dockerImage name

* Check method body

* Return container name

* Cleanup echos

* Use runAsPod

* Rename step

* Use official jenkins JNLP agent image

* Construct containersMap

* Check if kubernetes plugin is active

* Support JaaS

* pass script object

* Move configuration to default section

* Use generic flag to check if running in k8s

* fix jnlp agent name

* Solve travis errors

* Improvements to config and changes to name of the method

* Improvements to config

* Fix type

* Rename stash config

* add import

* Fix map order

* Fix jnlp agent name

* cleanup config usage

* Check if config is enabled

* Use nested k8s mapping

* Support custom docker workspace and move flag to env

* Feature/k8s stage (#1)

* Use nested k8s mapping

* Support custom docker workspace and move flag to env

* Check dockerOptions value

* Support local execution

* Add tests for dockerExecute

* Move config to step and Fix tests

* Use step configuration while running as a pod

* Streamline parameter and config initialization

* Streamline parameter and tests

* Cleanup and align variable name

* Use default JNLP agent if one not defined in config

* Add tests for runInsidePod. Ensure lowercase container names.

* Improve tests and remove unused code block

* Fix permission issues

* Perform stashing and unstashing inside container

* Use custom jnlp agent due to user id restriction

* Fix tests after jnlp agent change

* Address review comments

* Initialize script to default value if null

* Address review comments

* Update exeception handling and documentation

* Improve documentation

* correct indent

* Link documents to the index page

* Merge containerExecute and dockerExecuteOnKuberenetes step and address comments.

* Update dockerExecute.md

* Update dockerExecuteOnKubernetes.md

* Update default_pipeline_environment.yml

* update documentation

* Update documentation. Use annotation for singleton

* Update DockerExecuteOnKubernetesTest.groovy

* Update dockerExecute.groovy

* Update dockerExecuteOnKubernetes.groovy

* Improve documentation and test case names

* neoDeploy: switch to chained ConfigurationHelper (#244)

* switch neoDeploy to chained ConfigurationHelper

* update imports

* Improve tests

* Address review comments

* Improve documentation

* made dockerImage non-mandatory parm, improved test

* add comment regarding userid assumption
2018-08-21 15:45:59 +02:00
Marcus Holl
044e940dec No need for manipulating origin url
the gitSshUrl can be provided directly to the push call. This avoids footprint on the build
servers git repository.
2018-08-21 13:39:48 +02:00
Marcus Holl
6c6f106f26 Avoid several sh calls for consecutive git calls. 2018-08-21 13:39:48 +02:00
Oliver Nocon
65b582dc9d
artifactSetVersion - add new artifact types & cleanup (#242)
* artifactSetVersion - add new artifact types & cleanup

added:
* dlang
* golang
* npm
* pip
* scala

* add documentation update
2018-08-08 22:21:26 +02:00
Florian Wilhelm
6dc13801b0
Disable download logs in Maven by default (#159)
Disable download logs in Maven by default

This commit adds a flag to Maven by default, which disables the messages
like "Downloading from central".

The logger is set to level "warn", so errors will still be visible, but
successful messages won't clutter logs anymore.

This option is also set by default in the GitLab CI template file for
maven.

See [1] for reference on the option.

1: https://stackoverflow.com/a/35653426/8843830
2018-06-06 14:42:47 +02:00
Oliver Nocon
f8e5733486 speed up tests
* use new base class for testing
* initialize jenkins unit test framework only once for all test classes
* minor test cleanups
2018-06-06 11:19:19 +02:00
Marcus Holl
e61f16abfb Check if inside git repo via rev-parse --is-inside-work-tree
This approach works also in case we are in a subdirectory of the git repo,
e.g. in the closure of a dir statement.

The decission is delegate to git rather than using internal knowledge
about git file names. Well, the directory will be always named '.git',
but nevertheless ...

May endup in a false positive in case we did not clone a repo AND there
is another git repo somewhere upwards in the file system. Maybe some
other git repo is located upstairs containing e.g. the jenkins setup.
The advantage of working also for subdirectories outweights the disadvantage
for the false positive. It is not likely that we have to deal with another
git repo upstairs, since the pipeline script is expected to be located in
the payload git repo. A phantom repo upstairs looks like a pure academical
discussion.
2018-05-11 10:04:18 +02:00
Daniel Kurzynski
b29de61f3c Fix referencing script in setVersion (#128)
In order to use the configuration the script needs to be forwarded to

* Fix reference to script in tests and steps
2018-04-05 11:36:51 +02:00
Ramachandra Kamath Arbettu
aa681dd166 Fix the syntax error in artifactSetVersion step (#127)
* Update artifactSetVersion.groovy
* Fix tests for artifactSetVersion
2018-03-28 21:38:30 +02:00
Florian Wilhelm
f6c71a8484 Use executeMaven step for artifact versioning (#114)
* Execute Maven inside Docker container
* Fix test
2018-03-06 13:28:57 +01:00
Florian Wilhelm
ff46bb0f00 Make commit of new version optional in artifactSetVersion step (#112)
* Make commit of new version optional in `artifactSetVersion` step

You might not want to add a new commit for each version, when versions
are automatically created. This commit makes this feature optional, but
enabled by default to maintain API compatibility.

* Set `gitCommitId` if null

* Improve documentation of `commitVersion` parameter

* Allow to operate in a code checkout without `.git` directory
2018-03-05 09:04:53 +01:00
Florian Wilhelm
f18f11fafe Use UTC time zone for artifact version time stamp (#111)
By using UTC, we avoid potential issues when development happens in
different time zones. Also, daylight saving time does not exist in UTC.
2018-03-02 16:35:35 +01:00
Christopher Fenner
3ed2d64195
Update ArtifactSetVersionTest.groovy 2018-03-02 10:53:09 +01:00
Christopher Fenner
158a60aecc
use new rules 2018-02-28 13:11:09 +01:00
Christopher Fenner
4fcc911e6c
use new rules 2018-02-28 11:55:19 +01:00
Oliver Nocon
fbd03a88da
Step for automatic versioning (#65)
It contains:

* versioning step artifactSetVersion
* versioning implementation for Maven & Docker
* enhancements to commonPipelineEnvironment
* extended default configuration
* new utils object for git-related tasks
* automated tests incl. new Rules and resources
* incorporated PR feedback
* step documentation
2018-02-07 13:17:33 +01:00