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

217 Commits

Author SHA1 Message Date
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
Christopher Fenner
f2c0ecbc8c
Update testsPublishResults.groovy 2018-04-05 09:27:32 +02:00
Christopher Fenner
b08d26f5fd
Merge pull request #4 from SAP/master
get changes from master
2018-04-05 09:06:09 +02:00
Daniel Kurzynski
fe4707faeb
Improve Docker options configuration and forward from mavenExecute (#123) 2018-03-29 14:13:11 +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
Marcus Holl
c8fdbcf263
Merge pull request #124 from IKirilova/master
generate mta.yml from package.json and given applicationName
2018-03-23 10:28:45 +01:00
Irina Kirilova
a65d5d75e9 remove trailing spaces 2018-03-23 10:19:49 +01:00
Irina Kirilova
f70ae7f986 rework after code review 2018-03-21 13:07:26 +01:00
Irina Kirilova
29da70fd72 generate mta from package.json and given applicationName 2018-03-15 14:21:27 +01:00
Christopher Fenner
e65d217428
use commonPipelineEnvironment instead of script 2018-03-14 12:29:21 +01:00
Christopher Fenner
da67c2741d
correct import 2018-03-12 22:23:10 +01:00
Christopher Fenner
c56f7f4b59
use ConfigLoader 2018-03-12 22:19:45 +01:00
Alejandra Ferreiro Vidal
36788e2b45 remove null value from merge 2018-03-08 17:16:20 +01:00
Marcus Holl
9529954acd Disable tool validation inside neoDeploy and mtaBuild
We know about two issues:

1.) groovy based file systems checks seems to be executed on Jenkins
    master even if there is a node which is dispatched to a slave.
2.) Environment variable contained in the value of a provided
    variable are not expanded. Example: In case we describe neoHome like
    "$JENKINS_HOME/tools/neo" we do not expand $JENKINS_HOME. Hence the
    file exists check for file '$JENKINS_HOME/tools/neo' fails.
2018-03-08 11:23:56 +01:00
Marcus Holl
840f93208c Merge tag 'mtaMerge2' into HEAD 2018-03-06 17:24:58 +01:00
Marcus Holl
86ab0e04c3 Merge remote-tracking branch 'mholl/pr/javaHomeValidationInsideNeoDeploy' into HEAD 2018-03-06 17:24:31 +01:00
Marcus Holl
690e59f4d2 erge remote-tracking branch 'mholl/pr/javaHomeValidationInsideMtaBuild' into HEAD 2018-03-06 17:16:21 +01:00
Marcus Holl
b59b7123e2 Add comment in case mta toolset is used from current working dir 2018-03-06 16:53:14 +01:00
Willenbacher
93a2f028cd replaced mta.jar with DEFAULT_MTA_JAR_NAME 2018-03-06 16:53:14 +01:00
Marcus Holl
d4c4f864fc Provide variable for default mta jar file name. 2018-03-06 16:53:14 +01:00
Marcus Holl
3cafd0b6d5 Validating mta jar inside mtaBuild 2018-03-06 16:53:14 +01:00
Marcus Holl
b8760201c7 Emit log message in case tool validation is skipped. 2018-03-06 16:44:11 +01:00
Marcus Holl
d93b865f8d java home validation inside mtabuild 2018-03-06 16:44:11 +01:00
Marcus Holl
c6f4ce4b68 Introduce variable for default neo cmd 2018-03-06 16:12:57 +01:00
Marcus Holl
23e6e87b75 Validation of neo toolset inside neoDeploy 2018-03-06 16:12:53 +01:00
Marcus Holl
1c45b043e5 java home validation inside neoDeploy 2018-03-06 15:37:52 +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
Marcus Holl
efafd9a44a [refactoring] resolve data inside merge (#101) 2018-02-28 11:42:19 +01:00
Marcus Holl
1137fd0928 Remove empty string as default for neo credentials id
We have a default value configured at the level of the shipped defaults.

grep neoCredentialsId resources/default_pipeline_environment.yml
2018-02-20 12:40:58 +01:00
Alejandra Ferreiro Vidal
e7bf3b1b0f mtaJarLocation as step configuration 2018-02-20 12:02:33 +01:00
Marcus Holl
5fe76eb9dc Replace usage of lists for denoting keys by sets.
The characteristics of a list are
  o the order of the entries is significant
  o duplicates are allowed

The characteristics of a set are
  o the order is not significant
  o duplicates are not allowed.

When describing keys for a step the characteristics of a
set applies here, whereas the characteristics of a list does
not apply.
2018-02-19 12:53:08 +01:00
Christopher Fenner
26bbee5fb4
use perfReport step 2018-02-19 10:26:50 +01:00
Christopher Fenner
69df5dc5e5 use perfReport step 2018-02-19 10:11:12 +01:00
Christopher Fenner
98b5590d53
Merge branch 'master' into publishTestResults 2018-02-16 10:32:24 +01:00
Christopher Fenner
be5b5ec9fa
Merge pull request #58 from CCFenner/publishCheckResults
add new step checkResultsPublish
2018-02-16 10:30:59 +01:00
Christopher Fenner
78321e35f1
defile static tool list 2018-02-16 10:08:48 +01:00
Willenbacher
9663b33203 remove fetchUrl Step 2018-02-15 16:06:47 +01:00
Alejandra Ferreiro Vidal
df9a3b3c14 improve log 2018-02-12 10:03:35 +01:00
Alejandra Ferreiro Vidal
9210583bd5 remove unused checks 2018-02-12 10:03:35 +01:00
Christopher Fenner
60691dde5b
Merge branch 'master' into publishCheckResults 2018-02-12 08:37:15 +01:00
Christopher Fenner
7b894c02ea
rework step to fit to new config merger 2018-02-08 16:10:02 +01:00
Christopher Fenner
b443ac0e41 Merge branch 'master' into publishTestResults5 2018-02-08 14:14:07 +01:00
Alejandra Ferreiro Vidal
9dafdd1cc0 mtaBuild with new config framework 2018-02-08 13:26:48 +01:00
Christopher Fenner
d97769b56c cleanup 2018-02-08 10:53:48 +01:00
Christopher Fenner
a4b8d3828c rename method 2018-02-08 10:52:10 +01:00
Christopher Fenner
c48d0a7416 simplify parameter preparation 2018-02-08 10:51:39 +01:00
Christopher Fenner
c6300f4570 correct handling of parameter maps 2018-02-08 10:50:11 +01:00
Christopher Fenner
4abbff8b70 remove null options for parsers 2018-02-08 10:43:24 +01:00
Christopher Fenner
8adf79bfe1 use MapUtils 2018-02-08 10:28:42 +01:00
Christopher Fenner
f278bbbd14 use empty defaults 2018-02-08 10:28:42 +01:00
Christopher Fenner
54d5196f1a use flat list for parameter filtering 2018-02-08 10:28:42 +01:00
Christopher Fenner
be41b71b84
Merge branch 'master' into publishCheckResults 2018-02-08 08:53:04 +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
Christopher Fenner
87de7417ca add further tests 2018-02-05 13:48:39 +01:00
Christopher Fenner
64046b6de2 rename step to checksPublishResults 2018-02-02 14:50:26 +01:00
Christopher Fenner
577871468b remove debug logs 2018-02-02 12:58:10 +01:00
Christopher Fenner
b538189e3e remove testResultsPublish 2018-02-02 12:43:03 +01:00
Christopher Fenner
99ccf0a516 rename step 2018-02-02 12:25:28 +01:00
Christopher Fenner
6a593744ab
remove unused method 2018-02-02 12:20:57 +01:00
Marcus Holl
87f899a731 Merge remote-tracking branch 'github/master' into HEAD 2018-02-02 09:34:27 +01:00
Christopher Fenner
72251eb07e remove unused imports 2018-02-02 09:33:38 +01:00
Christopher Fenner
f3d0a70786 use config framework 2018-02-02 09:04:01 +01:00
Christopher Fenner
c5188ef1cd use configuration framework 2018-02-01 12:57:25 +01:00
Christopher Fenner
5df94aee3a correct parameter name to fit purpose 2018-02-01 08:22:12 +01:00
Christopher Fenner
22103fadca add step name to echo 2018-01-31 16:56:18 +01:00
Christopher Fenner
ccd7819465 add performance reporting 2018-01-30 21:19:55 +01:00
Christopher Fenner
a6a55e31e3 add new step testResultPublish 2018-01-30 20:40:04 +01:00
Marcus Holl
e3590c8603 [fix] ensure backward compatitility for credentials id 2018-01-30 17:09:17 +01:00
Christopher Fenner
9d4a9304db add further test cases 2018-01-30 15:26:54 +01:00
Christopher Fenner
8710495e17 add @NonCPS annotations 2018-01-30 13:15:49 +01:00
Christopher Fenner
790f2b7ea3 remove body parameter from step 2018-01-30 13:15:08 +01:00
Christopher Fenner
00b44315ec remove deprecated testMode parameter 2018-01-30 13:14:37 +01:00
Christopher Fenner
55166f3cac fix issue with pattern 2018-01-30 13:14:05 +01:00
Christopher Fenner
573ded75dc correct step file name 2018-01-30 11:17:01 +01:00
Christopher Fenner
2d2cc3a893 Merge branch 'master' into publishCheckResults3 2018-01-30 11:15:26 +01:00
Christopher Fenner
dad65ba5ff change name of class parameter 2018-01-30 10:06:35 +01:00
Christopher Fenner
a0bc00870d correct eslint default pattern 2018-01-29 16:47:40 +01:00
Christopher Fenner
5f6ba2f4b6 add step javadoc, correct step name 2018-01-29 16:47:22 +01:00
Christopher Fenner
795eece19a add new step checkResultsPublish 2018-01-29 16:29:00 +01:00
Marcus Holl
f52cbbe36a Fix wrong backward compatibility handling for deployHost, deployAccount. 2018-01-29 15:11:02 +01:00
Marcus Holl
678b55e771 null docker image in case of missing docker daemon. 2018-01-25 16:41:27 +01:00
Marcus Holl
147d29a714 Check for running docker daemon with docker ps. 2018-01-25 16:41:27 +01:00
Marcus Holl
9a96acff57 change default for neo toolset from neo to neo.sh
The bash script is named 'neo.sh', not 'neo'. 'neo' as default will not work
despite somebody takes extra action to make it work.
2018-01-25 16:41:27 +01:00
Marcus Holl
bc2fb93551 Use dockerExecute inside neoDeploy 2018-01-25 16:41:27 +01:00
Marcus Holl
1ff46861e0 Introduce new config framework into neoDeploy 2018-01-25 16:41:26 +01:00
Marcus Holl
e267622309 [refactor/streamline ]Use CPE is case the script is not available 2018-01-25 09:07:06 +01:00
Oliver Feldmann
58d3907093 Use fileExists to check whether archivePath really exists
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.
2018-01-24 13:11:04 +01:00
Oliver Nocon
749aa5e7ed
InfluxDB support (#52)
* adding step for writing metrics to InfluxDB including dependencies
* added documentation
* incorporated PR feedback
2018-01-24 09:55:38 +01:00
Milko Todorov
48fb7c76e3 Bug when checking for valid warAction 2018-01-17 13:48:26 +01:00
Milko Todorov
62b0cae3ac Changing IllegalArgumentException to general Exception
Requested by Oliver Nocon
2018-01-17 11:19:02 +01:00
Milko Todorov
98a0c5b548 Converting parameters names to lower-case
Requested by Oliver Nocon
2018-01-17 11:17:24 +01:00
Milko Todorov
dd4f9a1b1d Exception in case of illegal arguments + tests 2018-01-16 10:54:17 +01:00
Milko Todorov
d3d35cc140 Unit tests for the new deployMode in NeoDeploy 2018-01-12 15:56:29 +01:00
Milko Todorov
ced5307eb5 Adjusting UnitTests 2018-01-10 17:40:07 +01:00
Milko Todorov
ac27605e7a Check for invalid deployment mode && Refactoring 2018-01-10 15:01:41 +01:00
Milko Todorov
33daaa2c9c Add support for WAR file deployment/rolling-update 2017-12-28 13:10:11 +01:00
Marcus Holl
4987382cd5 Avoid having the step name redundant 2017-12-27 10:10:18 +01:00
Marcus Holl
66a65d3907 Make docker more resilent wrt to environment
We check
  1.) if docker-workflow plugin is installed
  2.) if docker itself is installed on the system hosting Jenkins

If one of the conditions is not fullfilled we try to execute
locally.
2017-12-14 14:53:27 +01:00
Oliver Feldmann
14e43d9e0e
Merge pull request #17 from o-liver/documentation
Documentation overhaul
2017-12-06 14:34:50 +01:00
Oliver Feldmann
8e70c72ea9 Documentation improvements
Slight improvements on various md files.
Deletion of method-based commonPipelineEnvironment documentation as it
is not used.
2017-12-06 13:24:01 +01:00
Daniel Kurzynski
22ee06dc17 Enable configuration via yaml file + mavenExecute as example (#18)
* Enable configuration via yaml file
* Add documentation 
* Add tests
2017-12-06 12:03:06 +01:00
Marcus Holl
1245528cfa
Merge pull request #22 from marcusholl/pr/fixQuotationInsideNeoDeploy
fix quotation inside neo deploy
2017-12-04 12:12:08 +01:00
Alejandra Ferreiro Vidal
c8c0352058
Merge pull request #24 from alejandraferreirovidal/docuIssue
add further information to library step
2017-12-04 11:08:14 +01:00
Marcus Holl
02d9ed6239 Merge remote-tracking branch 'github/master' into HEAD 2017-12-04 11:05:42 +01:00
Alejandra Ferreiro Vidal
8cc797d53c add further information 2017-12-04 10:53:16 +01:00
Marcus Holl
36837ad3b8 Prevent pointing to pipelineExecute in case of an failure inside foreign pipeline
In case there is an error in another pipeline step inside a foreign pipeline we got
nevertheless an error explaining there is an issue inside the pipeline load step.
2017-12-04 10:51:42 +01:00
Marcus Holl
88ac3ae43e Rename externalPipelineExecute to pipelineExecute 2017-12-04 10:51:42 +01:00
Marcus Holl
bbe799fd19 Rename centralPipelineLoad step to externalPipelineExecute 2017-12-04 10:51:42 +01:00
Marcus Holl
67630d829b change naming of parameter holding the path to the pipeline script. 2017-12-04 10:51:42 +01:00
Marcus Holl
13139da01e Use a dedicated node() instead of a temporary directory. 2017-12-04 10:51:42 +01:00
Oliver Feldmann
5d5a82929c centralPipelineLoad step
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.
2017-12-04 10:51:42 +01:00
Marcus Holl
d3efa3edb7 [fix] missing quotes in neoDeploy shell exectution
Without proper quotation characters with a special semantics
on shell level (e.g. "${}", "!", """ gets escaped on shell level
before handed over to the neo tool.

neoExecutable is surrounded by double quotes since we may have
shell ${variables} inside the groovy variable.

All other variables (user, host, account, password) are surrounded
by single quotes since we do not expect to be variables used here.

The neoExecutable is
2017-12-01 09:51:54 +01:00
kbarnold
26e093f3e4
Merge pull request #1 from marcusholl/pr/handleSpaceWithNeoDeploy
[fix] neo deploy fails with blanks in path of the deployable.
2017-11-13 13:26:57 +01:00
Marcus Holl
9d61638eb4 [fix] sed'ing timestamp during mta build fails with blanks in file path. 2017-11-13 11:22:55 +01:00
Marcus Holl
083cb1bcde [fix] neo deploy fails with blanks in path of the deployable. 2017-11-13 10:51:26 +01:00
Oliver Nocon
47c195805f Initial version of piper-lib. 2017-11-10 16:30:52 +01:00