Commit Graph
100 Commits
Author SHA1 Message Date
Marcus Holl d21dd9c87b Dokumentation: Introduce Jenkins plugin dependencies 2019-05-21 15:33:05 +02:00
Marcus Holl cf08f3c7c8 print the mapping via jq 2019-05-17 16:47:55 +02:00
Marcus Holl 4cae7b9ace Switch to jenkins file runner approach 2019-05-17 16:47:55 +02:00
Marcus Holl a24c89ce12 fix code climate issues 2019-05-17 16:47:55 +02:00
Marcus Holl d7d36c9445 Merge remote-tracking branch 'github/master' into HEAD 2019-05-17 12:22:26 +02:00
Marcus HollandGitHub ef83584e53 Merge pull request #598 from marcusholl/pr/createStepSpecificPluginList
Create step specific plugin list
2019-05-17 12:20:33 +02:00
Marcus Holl 9f7056b73f Reuse getSteps from StepHelper in common step tests 2019-05-17 12:11:29 +02:00
Marcus Holl f83935d248 Merge remote-tracking branch 'github/master' into HEAD 2019-05-17 12:05:34 +02:00
Marcus HollandGitHub afb7116e36 Merge pull request #705 from marcusholl/pr/inlineRules
Tests: inline JUnit rules
2019-05-17 10:07:03 +02:00
Marcus HollandGitHub 22b1e9e129 Merge pull request #710 from marcusholl/pr/docuFixNullValues
fix: null is rendered when no default value is available instead of t…
2019-05-16 11:28:22 +02:00
Marcus HollandGitHub e00b28f143 Merge branch 'master' into pr/docuFixNullValues 2019-05-16 09:56:17 +02:00
Marcus Holl 80e8473de5 Merge remote-tracking branch 'github/master' into HEAD 2019-05-16 09:18:30 +02:00
Marcus Holl abdfa7b201 [refactoring] Increase readabiliy: inline rules without references 2019-05-15 17:03:41 +02:00
ee3f820e5f explict null check in order to render also false
Co-Authored-By: Christopher Fenner <Christopher.Fenner@sap.com>
2019-05-15 15:20:14 +02:00
Marcus HollandGitHub ed328b75af Merge pull request #701 from marcusholl/pr/defensiveCopy
Provide a deep config copy from ConfigHelper.use()
2019-05-15 15:06:09 +02:00
Marcus Holl 2ad52708fa fix: null is rendered when no default value is available instead of the empty string 2019-05-15 14:55:33 +02:00
Marcus Holl f38729c5eb Merge remote-tracking branch 'github/master' into HEAD 2019-05-15 14:23:38 +02:00
Marcus Holl a0649aa63f Explain what 'deepCopy' means 2019-05-15 14:21:19 +02:00
Marcus HollandGitHub 331c4bfd1a Merge pull request #698 from marcusholl/pr/DoNotReturnWrongValueIfOnlyAPartOfAPathCanBeResolved
[fix] do not return a wrong config value if only a part of the path c…
2019-05-15 10:26:43 +02:00
Marcus Holl 9d43f7abb3 [fix] do not return a wrong config value if only a part of the path could be resolved. 2019-05-15 09:30:21 +02:00
Marcus HollandChristopher Fenner 0431c29063 Fix exception list for step neoDeploy (#697)
due to wrong indentation in the md file the excpetions are not rendered as expected. The reasons
why an exception occures is on the same level like the exception, but should have only level more.
2019-05-14 12:56:47 +02:00
Marcus Holl 7a7fd3ebab Provide a deep config copy from ConfigHelper.use()
The config map prepared by ConfigHelper is a mix from several configuration levels. The lowest config level
(DefaultValueCache) is shared between several ConfigHelper invocations. In case a Map or Collection which is
inherited from the DefaultValueCache level gets modified, this is also visible for all subsequent steps. This
causes trouble and situation which are hard to debug.

With this change here each invocation of ConfigHelper.use() provides a deep defensive copy. With that we can
ensure that there is no configuration update from one step to another.
2019-05-14 12:43:18 +02:00
Marcus HollandGitHub f9047bc37a Merge pull request #616 from marcusholl/pr/neoLogInAnyFailureCase
provide the log in case of a failure always, not only in docker context
2019-05-10 09:26:37 +02:00
Marcus Holl cdc9e2c266 Merge remote-tracking branch 'github/master' into HEAD 2019-05-10 08:44:51 +02:00
Marcus Holl 46367263b6 Merge remote-tracking branch 'github/master' into HEAD 2019-05-09 15:49:26 +02:00
Marcus HollandGitHub 0e3f498761 Merge pull request #683 from alejandraferreirovidal/cleanNeoDeployTest
remove parameters not related to deployMode='warPropertiesFile'
2019-05-09 15:43:49 +02:00
Marcus Holl fb22711c2a Merge remote-tracking branch 'github/master' into HEAD 2019-05-09 15:29:45 +02:00
Marcus HollandGitHub 9b7b46132f Merge pull request #657 from marcusholl/pr/changeNamingForCreatingDocu
More fuzzy name for creating documentation
2019-05-03 13:05:28 +02:00
Marcus Holl 350ec78c9b Merge remote-tracking branch 'github/master' into HEAD 2019-05-03 11:22:05 +02:00
Marcus HollandGitHub 9a468568c8 Merge pull request #685 from marcusholl/pr/collectDependingOn
Collect depending on configurations and provide it in docu as some ki…
2019-05-03 10:09:23 +02:00
Marcus Holl 6a58277967 Merge remote-tracking branch 'github/master' into docuReadDefaultFromElswhere 2019-05-03 09:52:47 +02:00
Marcus Holl 5653484ddb Replace several replaceAll command by one. 2019-05-03 09:50:52 +02:00
Marcus Holl 0ce09f3578 Collect depending on configurations and provide it in docu as some kind of complex default 2019-05-02 15:29:12 +02:00
Marcus HollandGitHub 4af3a2a861 Merge pull request #632 from marcusholl/pr/noCachedWorkspaceStashes
Avoid phantom stashes: do not write stashes back into (default) config
2019-04-12 17:41:51 +02:00
Marcus Holl bb03cb02e5 Merge remote-tracking branch 'github/master' into HEAD 2019-04-12 14:46:08 +02:00
Marcus HollandGitHub bf267b7a92 Merge pull request #614 from marcusholl/pr/doNotSwallowOriginalException
Do not swallow original excpetion when we have trouble to cat the logs
2019-04-12 14:44:09 +02:00
Marcus Holl de539cc677 fetch possible values from @see
In case there is a @see tag provided for a parameter in the description,
the possible values are only fetched from the corresponding source in
case there is no explict value provided for the possible values.

In case the source does not contain a possible value tag nothing is
transfered.
2019-04-12 14:23:35 +02:00
Marcus Holl 71c0df4d5f Merge remote-tracking branch 'github/master' into HEAD 2019-04-12 13:48:31 +02:00
Marcus Holl ffcb712c4f More fuzzy name for creating documentation
The old name (Build & Deploy) is missleading since the documentation is not deployed in most of the cases.
Deployment happens only if we are one the master branch. The waste majority of the build happens on
pull request branches. In this case there is no deployment.
2019-04-12 13:17:56 +02:00
Marcus Holl fc93326805 Merge remote-tracking branch 'github/master' into HEAD 2019-04-12 13:13:31 +02:00
Marcus Holl 862729a703 Adjust test after merging early check for the deployable
In the meantime we check earlier if the deployable exists. Up to now the test used that late check. Now, as that
check happens earlier in the code we have to tune here. Now we assume a failure inside neo deploy instead.
2019-04-12 13:13:25 +02:00
Marcus Holl 28fa30fc8f Do not swallow original excpetion when we have trouble to cat the logs 2019-04-12 10:06:18 +02:00
Marcus HollandGitHub 2419a23866 Merge pull request #631 from marcusholl/pr/neoDeployCheckDeployableEarly
neoDeploy: assert deployable exists before starting deployment.
2019-04-11 08:29:58 +02:00
Marcus Holl 76901afb00 Merge remote-tracking branch 'github/master' into HEAD 2019-04-11 07:56:35 +02:00
Marcus Holl a92c01b640 Merge remote-tracking branch 'github/master' into HEAD 2019-04-05 11:19:24 +02:00
Marcus Holl 4a756e1f4b Merge remote-tracking branch 'github/master' into HEAD 2019-04-05 10:08:49 +02:00
Marcus Holl bc253d0036 Merge remote-tracking branch 'github/master' into HEAD 2019-04-04 15:54:52 +02:00
Marcus Holl a011c67d09 No update to the stash content list from dockerExecuteOnK8S
When dealing with stashes in dockerExecuteOnKubernetes the global
stash list was updated from the step. This resulted in stashes
transported between the steps, which in turn resulted in having
old stashes unstashed in a pod later down the build. E.g.: mtaBuild
followed by neoDeploy: mtaBuild created a stash, the stash was
rememebered in the default stash list and re-used later on by
neoDeploy. Since the stash was created before the mtaBuild the
deployable was missing in the step.
2019-04-03 13:38:43 +02:00
Marcus Holl dea2dbcbaa neoDeploy: assert deployable exists before starting deployment.
Up to now the presence of the deployable (source) was checked late
by the NeoCommandLineHelper. The code doing this is surrounded by
the try/catch which finally also puts the log written by the neo
toolset into the job log in case an exception occured.

The check for the deployable returns with the same type of
exception like a failed neo command. Hence we cannot distiguish (ok,
would be possible to parse the exception message, but that is ugly).
When the exception is triggered by the missing deployable we try to
cat the neo log into the job log. But at this point the neo log has
not been provided - neo has not been called at all in this case.
Hence `cat logs/neo/*` in turn fails.

In order to avoid such a failure we check now for the presence of the
deployable earlier before launching the neo toolset.

Since the deployable is used in any deploy mode case no further check
for the deploy mode is required prior to the check for the deployable.
2019-04-02 13:53:31 +02:00
Marcus Holl 6fb782ac3c put everything together 2019-04-01 09:30:46 +02:00
Marcus Holl db3507d57a init script for resolving plugins 2019-03-29 16:46:52 +01:00
Marcus Holl 80f14ff9a2 Resolve calls to plugin steps in a transitive way
We have the case that one piper step calls other piper steps.
In such cases we would like to get all the plugin calls. The direct
calls but also the calls performed by nested piper-lib step calls.

The plugin calls as we registed them during listing to the tests are
resolved with the script provided by this commit.
2019-03-29 16:44:53 +01:00
Marcus Holl 0aea255a37 Create step specific plugin lists: Make use of the step tracker 2019-03-29 16:43:31 +01:00
Marcus Holl 8cba85b63e Create step specific plugin lists: Helper class for tracking step calls
Before the test we remmber which test is currently running.
During the test we collect all the calls to steps.

Beside that we persist the names of all steps within this shared
lib itself.

After the test(s) we write a corresponding json file. In fact we
write the file after each test, which is too often. But since we
don't know which test is the last test we can't do better.

The resulting file can be used later on for resolving the plugins
contributing the particular steps.

With that we are able to create a list of required plugins for each
step.
2019-03-29 16:42:19 +01:00
Marcus Holl 463bdfabaa Introduce step helper 2019-03-29 16:42:18 +01:00
Marcus Holl 2b1b743082 provide the log in case of a failure always, not only in docker context
from property dockerImage we cannot conclude that we are in fact running inside a docker environment.
Step dockerExecute has some checks if we are in a docker context. If not there is a fallback to the
local environment.

The docker image property is provided from resources/default_pipeline_environment (value: 's4sdk/docker-neo-cli').
Hence a value will be present all the time (exception: someone configured null/ empty string explicitly). So we
will enter the corresponding code block anyway.

It is IMO also desirable to have the neo log in the job log when running inside a non-docker setup since this
simplifies troubleshooting anyway.
2019-03-29 16:31:09 +01:00
Marcus Holl 97c4ebf3dd provide the docu metadata as json 2019-03-27 17:21:08 +01:00
Marcus Holl 5ad99599ab Make use of the step tracker 2019-03-27 16:02:04 +01:00
Marcus Holl a42e727da2 Create step specific plugin lists: Helper class for tracking step calls
Before the test we remmber which test is currently running.
During the test we collect all the calls to steps.

Beside that we persist the names of all steps within this shared
lib itself.

After the test(s) we write a corresponding json file. In fact we
write the file after each test, which is too often. But since we
don't know which test is the last test we can't do better.

The resulting file can be used later on for resolving the plugins
contributing the particular steps.

With that we are able to create a list of required plugins for each
step.
2019-03-27 16:02:04 +01:00
Marcus Holl 5710ac48ec Introduce step helper 2019-03-27 15:54:25 +01:00
Marcus HollandGitHub ec58986ac5 Merge pull request #593 from marcusholl/pr/solmanMinVersion
Prerequiste transportRequestCreate: SOLMAN ST720 SP08 or higher
2019-03-27 13:57:17 +01:00
Marcus HollandGitHub 0e2c90bd79 Merge branch 'master' into pr/solmanMinVersion 2019-03-27 13:03:54 +01:00
Marcus Holl 397ec0c2fc Prerequiste transportRequestCreate: SOLMAN ST720 SP08 or higher 2019-03-26 14:35:52 +01:00
Marcus HollandGitHub db7e688294 Merge pull request #581 from IKirilova/patch-1
update documentation for neoDeploy step parameters
2019-03-21 14:48:24 +01:00
Marcus HollandGitHub 4d5b348bc6 Merge branch 'master' into patch-1 2019-03-21 14:20:36 +01:00
Marcus HollandGitHub 3a7e972093 Merge pull request #586 from IKirilova/master
enhance prepare stage with cleanup and checkout
2019-03-21 14:18:25 +01:00
Marcus Holl 1f949f27af Fix the unit test 2019-03-21 12:40:38 +01:00
Marcus HollandGitHub 149b89900b Merge pull request #572 from marcusholl/pr/useDockerForSolmanAndCts
Pr/use docker for solman and cts
2019-03-21 12:13:14 +01:00
Marcus Holl 3f8498e4dd Merge remote-tracking branch 'github/master' into HEAD 2019-03-21 10:43:27 +01:00
Marcus HollandChristopher Fenner 1a36a775f4 Fix sanity checks for warPropertiesFile deploy mode. (#574)
* Fix sanity checks for warPropertiesFile deploy mode.

* improve tests for the sanity checks

The sanity checks are performed per deploy mode.
All parameters are checked at once.

* Explict check for host, account not found by sanity checks for deploy mode war properties
2019-03-20 12:14:57 +01:00
Marcus Holl ad41c27458 Merge remote-tracking branch 'github/master' into HEAD 2019-03-19 16:05:58 +01:00
Marcus HollandGitHub d4d68a7a2b Merge pull request #561 from marcusholl/pr/neoDeployParamChecksEarly
Perform parameter validation early, do not truncate parameters
2019-03-19 10:26:43 +01:00
Marcus Holl 728464ae54 checkChangeInDevelopment with docker 2019-03-19 10:07:18 +01:00
Marcus Holl bdc0e487d6 release transport request for cts 2019-03-19 10:07:18 +01:00
Marcus Holl 3e8d4fc576 Release transport SOLMAN with docker 2019-03-19 10:07:18 +01:00
Marcus Holl 71fdcc3e53 docker for upload file SOLMAN 2019-03-19 10:07:18 +01:00
Marcus Holl 24cd9400d7 create transport request SOLMAN with docker 2019-03-19 10:07:18 +01:00
Marcus Holl 620e0c7d4a docker for transportRequestCreate CTS 2019-03-19 10:07:18 +01:00
Marcus Holl 94315bf006 use docker image for cts upload file 2019-03-19 10:07:18 +01:00
Marcus Holl 0fb68187af [fix] wrong default type for docker config 2019-03-19 10:07:18 +01:00
Marcus Holl c60700b524 Avoid NullPointerException in case docker config not present 2019-03-19 10:07:18 +01:00
Marcus Holl 2c0ab2be3e docker for SOLMAN and CTS 2019-03-19 10:07:18 +01:00
Marcus Holl 4d4b9de660 Merge remote-tracking branch 'github/master' into HEAD 2019-03-19 09:06:15 +01:00
Marcus HollandGitHub 86dcf17ef0 Merge pull request #560 from marcusholl/pr/documentIntegrationTestTrigger
Document how to trigger integration tests.
2019-03-18 09:21:38 +01:00
Marcus HollandGitHub 98c919c1a4 Merge pull request #565 from marcusholl/pr/docuNeoDeploy
Update docu for neoDeploy: neo.sh needs to be contained in path
2019-03-15 16:21:06 +01:00
Marcus Holl a1d8ea51f5 Merge remote-tracking branch 'github/master' into HEAD 2019-03-15 16:13:55 +01:00
Marcus Holl e8b4225749 Incorporate review feedback 2019-03-15 15:45:09 +01:00
Marcus HollandGitHub e874e40b9c Merge pull request #500 from weloli/pr/fixStageDoc
Fix generation of stage scope documentation
2019-03-15 15:30:48 +01:00
Marcus Holl bf48f18f3e take parameters keys into account again.
was removed since parameter keys does not appear anymore in the table denoting the
level where a parameter can be configured.

Nevertheless we need to take that parameter into account. We need to add the description for
that parameter, even if it cannot be configured on general or stage level.
2019-03-15 15:24:06 +01:00
Marcus Holl 52f3287cb3 Merge remote-tracking branch 'github/master' into HEAD 2019-03-15 15:01:12 +01:00
Marcus HollandGitHub b2b96b6367 Merge pull request #523 from weloli/pr/reduceRedundancies
Reduce redundancies in md files
2019-03-15 14:56:37 +01:00
Marcus Holl 17419f91d0 Merge remote-tracking branch 'github/master' into HEAD 2019-03-15 14:46:20 +01:00
Marcus Holl d8159e70d0 Adjust docu for npmExecute wrt docu generation 2019-03-15 14:14:15 +01:00
Marcus Holl 9a75c4a728 Update docu for neoDeploy: neo.sh needs to be contained in path 2019-03-15 08:23:47 +01:00
Marcus Holl 721aae4a8b configure docu generation for karmaExecuteTests 2019-03-14 14:01:48 +01:00
Marcus Holl 2b36909f38 Merge remote-tracking branch 'github/master' into HEAD 2019-03-14 13:53:18 +01:00
Marcus Holl 9cf49a51cb Merge remote-tracking branch 'github/master' into HEAD 2019-03-14 13:36:10 +01:00
Marcus HollandGitHub 466cee5e1d Merge pull request #512 from marcusholl/pr/unstashSkipNull
Unstash in loop only if identifier is available
2019-03-14 13:32:45 +01:00
Marcus Holl ad467a6ead Merge remote-tracking branch 'github/master' into HEAD 2019-03-14 13:21:19 +01:00
Marcus Holl d4b0549f74 Merge remote-tracking branch 'github/master' into HEAD 2019-03-14 13:07:30 +01:00