1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
Commit Graph

744 Commits

Author SHA1 Message Date
Marcus Holl
6b7dc48c44 Be more flexible with JenkinsReadYaml rule
When we register a closure as file, the closure will be exectutd.
Otherwise we return what is registered.

This gives us a maximum level of flexibility. We can throw exceptions (e.g. FileNotFound) as
as test setup requires this, in simple cases we provide the yaml as a string.
2018-09-04 09:46:59 +02:00
Marcus Holl
fb425a4c70 Register empty pipeline config yml by default 2018-09-03 15:43:17 +02:00
Marcus Holl
94241f1a6c Register yaml content at beginning of test 2018-09-03 15:43:17 +02:00
Marcus Holl
26ecbe5013 Provide option for registering file for read yaml.
We can now registering files to JenkinsReadYamlRule by
providing the file name alongside with the expected content
(or e.g. an expception)

With that change it is possible to remove pwd statements
from mtaBuild. These statements was used in order to pass
a temporary directory inside the mtaBuild (code under test).
This is not needed anymore since we can register the files
directly.

Having pwd implies working with absolute pathes which is
also a no-go when working with docker, since the absolute
pathes inside and outside docker are normally not the same.

For pathes relative to a build root directory it is rather
easy to keep the pathes consistent the same.

Adjust sources according to registering yaml file to jenkins rule.

For mtaBuild this means also: get ride of absolute pathes for denoting the yaml file.
Having absolute pathes makes it difficult/impossible to work also with dockerized versions
of mtaBuild since the absolute pathes are most probably not the same inside and outside
the docker container, but the relatives pathes can be kept the same easily.
2018-09-03 15:43:15 +02:00
Marcus Holl
8a019f5b86 Remove read yaml rule from common rules
read yaml rule is a very frequently used rule. But having the rule in the common rules
means we cannot register text or files to that rule, which makes it less handy to work
with yaml files in the tests.
2018-08-31 10:22:46 +02:00
Marcus Holl
777cacf156
Merge pull request #272 from marcusholl/pr/docuFixMarkup
[docu] fix markup
2018-08-30 12:46:55 +02:00
Marcus Holl
2f9310b963
Merge branch 'master' into pr/docuFixMarkup 2018-08-30 12:42:34 +02:00
Christopher Fenner
704c5a1a17
neoDeploy: add web analytics (#269)
* add web analytics

* Update neoDeploy.groovy

* Update neoDeploy.groovy
2018-08-30 11:03:34 +02:00
Marcus Holl
42c1032f06 [docu] fix markup
The coding box was too long since the closing markup for the code box
had a leading blank, hence the end of the code box was not properly detected.
2018-08-30 08:52:15 +02:00
Christopher Fenner
4425629ee7
notify about deactivated SWA reporting (#261)
* report deactivated SWA reporting

* Update Utils.groovy

* add tests

* add test cases

* use hamcrest matchers in tests

* check for missing call to web analytics

* Update UtilsTest.groovy
2018-08-29 10:01:16 +02:00
Marcus Holl
23b4cd33e7
Merge pull request #266 from rodibrin/pr/changemanagement-quotefilepath
cmclient call needs to quote the file path
2018-08-29 09:27:05 +02:00
Roland Stengel
67429626a7 cmclient call needs to quote the file path 2018-08-28 15:29:08 +02:00
Thorsten Duda
e7d0f6b1ca
Merge pull request #264 from marcusholl/pr/emitCMCommandsToLog
Emit cm command line to log.
2018-08-28 11:45:22 +02:00
Marcus Holl
004c310d0e Emit cm command line to log. 2018-08-28 10:07:37 +02:00
Marcus Holl
8c84bc67cd
Merge pull request #260 from marcusholl/pr/artifactSetVersionInsideWorktree
[refactoring] artifactSetVersion: use gitUtils#insideWorkTree
2018-08-23 14:08:57 +02:00
Marcus Holl
21b8980153 Merge remote-tracking branch 'github/master' into HEAD 2018-08-23 14:04:50 +02:00
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
8ee298186d
Merge pull request #256 from marcusholl/pr/streamlineGitCalls
[refactoring] streamline git calls
2018-08-21 14:06:23 +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
Marcus Holl
0cb16d43ce artifactSetVersion: use gitUtils#insideWorkTree
rather than checking for existing .git folder. An existing .git folder is a necessarry, but not a sufficient
condition here.

Adapting the test is not necessary. The gitUtil itself is not mocked, but the underlying sh calls are
already mocked accordingly.
2018-08-21 08:23:05 +02:00
Marcus Holl
d1b7c8092f
Merge pull request #258 from marcusholl/pr/neoDeployMtaFromCPE
neoDeploy with archvive from CPE
2018-08-20 13:40:03 +02:00
Marcus Holl
3a72d16185 neoDeploy with archvive from CPE 2018-08-17 15:46:46 +02:00
Ramachandra Kamath Arbettu
2716054392 Make gitSshUrl non-mandatory (#246)
* Update artifactSetVersion.groovy

* Update artifactSetVersion.groovy

* Update artifactSetVersion.groovy

* fix build

* Avoid updating configuration map outside configuration helper
2018-08-16 09:43:32 +02:00
Christopher Fenner
7ab2c3ee22
Create PULL_REQUEST_TEMPLATE.md (#251)
* Create PULL_REQUEST_TEMPLATE.md

* Rename CONTRIBUTING.md to .github/CONTRIBUTING.md

* Update PULL_REQUEST_TEMPLATE.md
2018-08-15 12:00:32 +02:00
Christopher Fenner
6007f54074
use new config handler in steps (#253)
* use new config handler

* use new config handler

* add reporting

* Update checksPublishResults.groovy

* remove unused ConfigurationMerger methods

* fix typo

* revert changes on script loading

* remove outdated test case

* Add missing import
2018-08-15 11:53:28 +02:00
Oliver Nocon
17ee927807
batsExecuteTests - add step for executing bats-core (#254)
details are available in the documentation contained in this PR
2018-08-15 11:41:01 +02:00
Marcus Holl
e49633a7d2
Merge pull request #252 from marcusholl/pr/ConfigHelperMoreTypeSave
Be more typed inside ConfigurationHelper
2018-08-15 10:56:31 +02:00
Marcus Holl
d5cf3ec629 Be more typed inside ConfigurationHelper
... with that an IDE knowns more about the type.
2018-08-15 10:45:32 +02:00
Christopher Fenner
12637119b9
swtich stage/step config loading to correct order (#250) 2018-08-15 10:37:34 +02:00
Marcus Holl
f20bd62567
Merge pull request #247 from marcusholl/pr/trUploadFileApplicationIdFromConfiguration
Read applicationId also from step configuration
2018-08-15 10:12:04 +02:00
Christopher Fenner
8e40a4cf62
Merge branch 'master' into pr/trUploadFileApplicationIdFromConfiguration 2018-08-15 09:59:25 +02:00
Thorsten Duda
c84b8e7af7
Merge pull request #249 from SAP/cfStashingFix
cloudFoundryDeploy - update stashing behavior
2018-08-15 09:58:44 +02:00
Marcus Holl
45f4952c71 Read applicationId also from configuration 2018-08-15 09:48:59 +02:00
Thorsten Duda
c9914ff8b9
Merge branch 'master' into cfStashingFix 2018-08-15 09:48:10 +02:00
Oliver Nocon
be1d97cb5a cloudFoundryDeploy - update stshing behavior
adapt stashing behavior according to #230
2018-08-15 09:46:08 +02:00
Thorsten Duda
c560688574
Merge pull request #248 from SAP/cfDocumentation
Add documentation for cloudFoundryDeploy step
2018-08-15 09:45:45 +02:00
Thorsten Duda
f230d5563f
Merge branch 'master' into cfDocumentation 2018-08-15 09:42:27 +02:00
Christopher Fenner
450d34df4d
change TravisCI build (#245)
* use mvn clean verify

* deactivate findbugs

* limit push builds to master branch

* revert to "clean test"
2018-08-15 09:36:55 +02:00
Thorsten Duda
0ef2855f78
Merge branch 'master' into cfDocumentation 2018-08-15 09:33:45 +02:00
Oliver Nocon
08a284aac4 update docs 2018-08-15 09:30:35 +02:00
Christopher Fenner
5a742a310f
neoDeploy: switch to chained ConfigurationHelper (#244)
* switch neoDeploy to chained ConfigurationHelper

* update imports
2018-08-15 09:26:38 +02:00
Marcus Holl
5e805e4a42
Merge pull request #224 from marcusholl/pr/transportRequestReleaseDecoupleTests
Release transport request: decouple tests
2018-08-14 12:29:59 +02:00
Marcus Holl
bfb131407d Merge remote-tracking branch 'github/master' into HEAD 2018-08-14 12:13:30 +02:00
Christopher Fenner
8ee36e3c36
Merge pull request #241 from SAP/CCFenner/newman
newmanExecute: handle private test repositories
2018-08-13 09:22:28 +02:00
Christopher Fenner
c538e896f3
Merge branch 'master' into CCFenner/newman 2018-08-09 14:25:22 +02:00
Oliver Nocon
71f7f05427
add telemetry reporting to steps (#243)
add telemetry to all steps using ConfigurationHelper.
Other steps need to be switched to ConfigurationHelper first.

update docs
2018-08-09 11:35:33 +02:00
thorstenwillenbacher
5ea6eac6ed
Merge pull request #235 from thorstenwillenbacher/pr/refactorwithcredentials
Pr/refactorwithcredentials
2018-08-09 11:11:57 +02:00
Thorsten Willenbacher
9dfc7fcd01 refactor withCredentials to ChangeManagement util class
fix tests to match refactoring
2018-08-09 11:03:30 +02:00