Commit Graph
78 Commits
Author SHA1 Message Date
Oliver NoconandGitHub 729cd0ab30 detectExecuteScan - add doc to docs structure (#699) 2019-05-10 08:06:38 +02:00
Oliver NoconandGitHub e20eb3c320 pipeline initialization - support nested keys (#695)
* pipeline initialization - support nested keys

support a nested structure for config keys for initialization conditions, like

```
Acceptance:
    stepConditions:
      cloudFoundryDeploy:
        configKeys:
          - 'cfSpace'
          - 'cloudFoundry/space'
```

* optimize code
2019-05-08 12:04:47 +02:00
Oliver NoconandGitHub a67f850fdb add step for Synopsis Detect Scans (#690)
* add step for Synopsis Detect Scans

tool was formerly calles Blackduck Hub Detect.
Details about the tool can be found here: https://synopsys.atlassian.net/wiki/spaces/INTDOCS/pages/62423113/Synopsys+Detect
2019-05-08 11:36:01 +02:00
Oliver NoconandGitHub 14efc51d24 whitesourceExecuteScan - fix stashing behavior for golang (#688)
* whitesourceExecuteScan - fix stashing behavior for golang
**changes:**

golang scan requires sources to be present. They are already part of the `checkmarx` stash which can be used here.

* fix tests
2019-05-03 16:21:36 +02:00
Oliver NoconandGitHub 46a6525c4e Pipeline resilience - be more verbose (#677)
* Pipeline resilience - be more verbose

Be more verbose about when a pipeline gets into 'UNSTABLE' state.

Collect step name centrally to be able to inform end-users at a later point inside a pipeline (e.g. during an approval step).

* address PR feedback
2019-05-03 14:06:49 +02:00
Oliver NoconandGitHub 6c5d9f2f61 Pipelines - extend init conditions (#676)
extends init condition with condition `configKeys`
This condition allows to specify a list of configuration keys which if any key is set will activate the respective step & stage
2019-05-02 22:09:15 +02:00
Oliver NoconandGitHub d207aeadd4 Merge branch 'master' into pr/collectDependingOn 2019-05-02 19:48:41 +02:00
Oliver NoconandGitHub 700a6e2e4e Add step kanikoExecute for Docker builds using Kaniko (#684)
* Add step kanikoExecute for Docker builds using Kaniko
* Update kanikoExecute.md
* address PR feedback
2019-05-02 17:29:11 +02:00
Oliver NoconandGitHub 99821afab8 Doc - Add missing possible values (#679) 2019-04-29 11:43:26 +02:00
Oliver NoconandGitHub e296f5c5ed Merge branch 'master' into docGeneration 2019-04-12 13:58:40 +02:00
Oliver NoconandGitHub 4b02143ba3 Merge branch 'master' into pr/noCachedWorkspaceStashes 2019-04-12 11:59:31 +02:00
Oliver NoconandGitHub 5d9dc6541b Merge branch 'master' into docGeneration 2019-04-10 19:50:31 +02:00
Oliver NoconandGitHub 761022d575 Merge branch 'master' into docGeneration 2019-04-10 15:08:51 +02:00
Oliver NoconandGitHub 35ced01ffa Avoid unwanted behavior when using resilience options (#650)
Certain steps should always fail, even though resilience option `failOnError=false` is used.

* Docker execution typically happens in another step. We should not hide errors here but rather handle their resilience in the step which uses `dockerExecute` and `dockerExecuteOnKubernetes`.
* Wrapper steps like `pipelineExecute`, `pipelineRestartSteps` should not hide errors. If an error occured this has to be considered as **intentional** and not hidden accidentially in case resilience option is switched on.
2019-04-08 20:10:54 +02:00
Oliver NoconandGitHub 4d945c8557 handlePipelineStepErrors - allow step timeouts (#644)
* handlePipelineStepErrors - allow step timeouts

This adds another resilience option:
A timeout can be configured for steps in order to stop step execution, continue with the pipeline while setting build status to "UNSTABLE"
2019-04-05 11:16:34 +02:00
Oliver NoconandGitHub 138656b49b Allow resilient error handling in pipelines (#583)
* add resilience to error handling
* adapt documentation
* make ConfigLoader more resilient
2019-04-04 08:38:54 +02:00
Oliver NoconandGitHub 24563db155 update stashing behavior (#628)
* update stashing behavior

close #619

* add test
2019-04-02 13:13:25 +02:00
Oliver NoconandGitHub 27c4db47e4 Merge branch 'master' into whitesource-step 2019-03-26 16:46:45 +01:00
Oliver NoconandGitHub ff15efef20 bump version (#562) 2019-03-20 13:58:12 +01:00
Oliver NoconandGitHub 857bd2794a uiVeri5ExecuteTests, documentation update (#545) 2019-03-11 17:27:37 +01:00
Oliver NoconandGitHub 23d08f0f38 Merge branch 'master' into pr/unstashSkipNull 2019-02-21 16:29:21 +01:00
Oliver NoconandChristopher Fenner 793df723cf add step slackSendNotification (#338)
* add step slackSendNotification

This step allows to send Slack notifications in case of pipeline failures.

* add SWA reporting

* remove allowBuildFailure

* add GENERAL_CONFIG_KEYS

* update STEP_NAME

* add missing import

* fix MD findings

* adjust rule name to be aligned with #455
2019-02-13 16:45:35 +01:00
Oliver NoconandGitHub 567d31797c Merge branch 'master' into pr/seeAnnotationInDocu 2019-02-05 15:44:10 +01:00
Oliver NoconandGitHub 74366631b5 Project "Piper" Template: framework and structure (#476)
* Project "Piper" Template: framework and structure

This is the first in a series of Pull-Requests to provide a fully functional Pipeline template into the library.

This PR contains:
* general Pipeline structure incl. tests
* Pipeline initialization incl. tests
* Hollow pipeline stages incl. tests
* first set of default values
* add gitUrls to commonPipelineEnvironment
* set correct git information on commonPipelineEnvironment
2019-02-05 15:37:59 +01:00
Oliver NoconandGitHub dde4e0abef Fix regression introduced with #474 (#483)
Fix stashing behavior to include all files in workspace.
This was for example an issue for PR-voting in Docker pipeline since `Dockerfile` has been excluded from stashing
2019-02-05 09:07:47 +01:00
Oliver NoconandGitHub 3b2e42c74f Add step containerExecuteStructureTest (#441)
* add step containerExecuteStructureTest
* include PR-review feedback
* documentation
2019-01-31 09:39:13 +01:00
Oliver NoconandGitHub 05e0d958da dockerExecute - fix issue when image does not contain which (#458)
command `which` requires a dedicated OS package to be installed.
In case a Jenkins Master or Jenkins Slave Image does not contain `which`, although `docker` command is available the step took a wrong turn.

This removes the check using `which` since checking `docker ps` is sufficient.
2019-01-23 14:19:36 +01:00
Oliver NoconandGitHub 27c3891685 deployToCloudFoundry - patch mta blue-green deployment (#457)
mta deploy plugin has flag:
` --no-confirm` which is described as _"Do not require confirmation for deleting the previously deployed MTA apps"_

This flag is essentials for performing fully automated blue-green deployments.
2019-01-22 16:13:59 +01:00
Oliver NoconandGitHub e11478ca00 cloudFoundryDeploy - add deployment reporting to Influx (#421)
Add reporting of operations-related data to Influx (if configured), like:
* Version of deployed artifact
* Deployment time
* Target infrastructure for deployment
2019-01-18 08:25:22 +01:00
Oliver NoconandGitHub 98139bb498 influxWriteData - support Influx tags (#420)
* influxWriteData - support Influx tags

In order to better query data in Influx, tags needs to be written.
This change allows filling tag data via the Influx plugin.
2019-01-17 15:42:03 +01:00
Oliver NoconandGitHub e0da4aedfe bump version (#433) 2019-01-16 14:17:55 +01:00
Oliver NoconandGitHub 20a54cf094 dockerExecute - extend Kubernetes capabilities (#432)
allow `dockerExecute` to pass on to dockerExecuteOnKubernetes
* containerCommand
* containerShell
2019-01-14 14:43:07 +01:00
Oliver NoconandGitHub 4064e6ffe1 piperStageWrapper - switch to parameter map for extensions (#424)
switch to using a parameter map
2019-01-14 10:25:47 +01:00
Oliver NoconandGitHub 724a851bcd executeDockerOnKubernetes - specify custom shell (#428)
Depending on the Docker image used the default shell will not work in certain cases.
This extends the executeDockerOnKubernetes step to be able to use a custom shell according to https://github.com/jenkinsci/kubernetes-plugin#specifying-a-different-shell-command-other-than-binsh
2019-01-08 19:44:28 +01:00
Oliver NoconandGitHub 130e607446 influxWriteData - fix issue when running in POST (#413)
influxWriteData requires a node to be executed.
In a declarative pipeline the POST section by default does not provide a node/agent.

This adds a parameter to force creation of a node/agent.
2018-12-12 17:33:36 +01:00
Oliver NoconandGitHub e556fba950 add wrapper for stages contained in library (#341)
* add wrapper for stages contained in library

`piperStageWrapper` provides a wrapper for stages which we may include into the library.
It will take care about extension capabilities, locking, node handling, ... which should be a capability of every stage contained in the library.
2018-12-12 11:45:11 +01:00
Oliver NoconandGitHub 74193bd98d Documentation Update - streamline library alias (#402)
Change name to how vast majority of current users is using it.

Library alias can also be defined differently by users. Then `@Library` statement just needs to reflect the different name.
2018-12-05 13:37:15 +01:00
Oliver NoconandGitHub 3ba9a2d18f Merge branch 'master' into pr/improveDocuGenerator 2018-12-04 21:42:57 +01:00
Oliver NoconandGitHub 90765697aa Docker execution - make sure that script is passed (#403) 2018-11-28 10:46:47 +01:00
Oliver NoconandGitHub 2881877322 newmanExecute - adapt to changes (#400)
* script now mandatory, thus passing it to dockerExecute
* html reporter needs to be installed separately
2018-11-28 09:25:34 +01:00
Oliver NoconandGitHub 6dc3ebe38c cloudFoundryDeploy - fix stashing (#398) 2018-11-27 16:29:38 +01:00
Oliver NoconandGitHub d1d07f241d cloudFoundryDeploy - fix stashing behavior (#396)
This change fixes an error which only occurs in a Kubernetes landscape.
When initial stashes are filled, the deployment will fail since it misses the artifact to be deployed.

When providing an empty stash as default, Docker execution on Kubernetes will respect all content in the current workspace.
2018-11-27 16:02:06 +01:00
Oliver NoconandGitHub 8d141a7183 sendNotificationMail - add resilience (#392)
Do not create failure in case `gitSshKeyCredentialsId` is not configured.
Only provide warning message.
2018-11-20 15:56:00 +01:00
Oliver NoconandChristopher Fenner db4e184967 cloudFoundryDeploy - adapt to changes in dockerExecute (#390)
pass script to call `dockerExecute`
2018-11-19 11:35:37 +01:00
Oliver NoconandGitHub d65a010158 testsPublishResults: Make jUnit pattern more universal (#386)
* Make jUnit pattern more universal
* update documentation & test
2018-11-16 08:57:09 +01:00
Oliver NoconandGitHub 5ec37170fc cloudFoundryDeploy - blue-green plugin extensions (#355)
* cloudFoundryDeploy - blue-green plugin extensions

* support blue-green application cleanup with new plugin flag
* enhance error reporting in case no app name is available

* include PR feedback
2018-11-07 10:39:30 +01:00
Oliver NoconandGitHub 09bad853cd Merge branch 'master' into pr/scriptAsMandatoryParameter 2018-10-31 10:56:14 +01:00
Oliver NoconandGitHub 2dbfeed813 Merge branch 'master' into pr/adjustConfigKeySetsInSteps 2018-10-31 10:43:38 +01:00
Oliver NoconandGitHub 60f44752c7 remove redundant condition 2018-10-31 10:36:38 +01:00
Oliver NoconandGitHub 1b2fa0398a Merge branch 'master' into pr/fixTrailingWhitespaces 2018-10-25 16:56:40 +02:00
Oliver NoconandGitHub a8a29b753a add step githubPublishRelease (#345)
This step allows to easily create a new release for your GitHub repository

* include PR review feedback - add additional labels
* consider return status of api call
2018-10-25 16:56:09 +02:00
Oliver NoconandGitHub 455461d3c1 add step pipelineRestartSteps (#337)
This step allows to restart a set of steps in order to retry in case of e.g. infrastructure failures which first need to be fixed.

* update documentation
2018-10-18 08:51:48 +02:00
Oliver NoconandGitHub 0e5ccabdae add step gaugeExecuteTests (#340)
* seleniumExecuteTests - fixes
* add step gaugeExecuteTests incl. tests
* add documentation
* add more config options
2018-10-17 16:44:20 +02:00
Oliver NoconandGitHub 1f8b94528c add step mailSendNotification (#336)
This step allows to send email notifications in case of pipeline failures.
2018-10-17 12:05:11 +02:00
Oliver NoconandChristopher Fenner b83222726a enhance commonPipelineEnvironment with additional information (#344)
* enhance commonPipelineEnvironment with additional information

add additional git information to `commonPipelineEnvironment`:
* https url
* git branch
* github organization
* github repository

* rename github-related variables

* rename github-related variables
2018-10-17 09:54:04 +02:00
Oliver NoconandGitHub f60dab8181 Merge branch 'master' into healthCheck-patch 2018-10-16 19:44:34 +02:00
Oliver NoconandGitHub fe9dc7547b Bump version 2018-10-15 16:33:00 +02:00
Oliver NoconandGitHub 17e8390511 add step healthExecuteCheck (#339)
This step allows to perform a basic health check on an installed application.
It verifies that your app has a simple health endpoint available and that there is no error when calling it.
2018-10-12 16:06:41 +02:00
Oliver NoconandGitHub aeb814fc2b Merge branch 'master' into pr/noExplictGetterAnDSettersInCommonPipelineEnvironment 2018-10-08 09:45:14 +02:00
Oliver NoconandGitHub 0ee27774f6 Merge branch 'master' into pr/assertOrderOfGitCommands 2018-10-08 09:43:16 +02:00
Oliver NoconandGitHub 130fe6a941 Merge branch 'master' into pr/swaPushOldConfigUsed 2018-10-08 09:42:33 +02:00
Oliver NoconandGitHub bf753814e4 seleniumExecuteTests - Documentation Update (#327) 2018-10-05 16:10:26 +02:00
Oliver NoconandGitHub 7965b5a78d Bump version (#328) 2018-10-05 13:56:57 +02:00
Oliver NoconandGitHub 7a961ef38e seleniumExecuteTests - add step to run Selenium tests (#318)
It comes with an extension to executeDocker and executeDockerOnKubernetes to run sidecar containers.

This helps to execute Selenium tests using two Docker images:

1. Execution runtime for tests (e.g. node image)
2. Selenium instance which holds Selenium server + browser

* add documentation & some name cleanup
* include PR feedback
* add step documentation to structure
2018-10-04 17:06:42 +02:00
Oliver NoconandGitHub 518a08bdb4 Update CONTRIBUTING.md 2018-09-19 09:25:40 +02:00
Oliver NoconandGitHub 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
Oliver NoconandGitHub 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
Oliver NoconandGitHub 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
Oliver NoconandGitHub 31c0ac95ff Use fixx mkdocs version (#240) 2018-08-08 10:22:18 +02:00
Oliver NoconandGitHub cd4a9f226e Add collection of library telemetry data (#239)
* add telemetry collection
* add telemetry reporting for first steps
* fix documentation formatting
2018-08-06 08:57:36 +02:00
Oliver NoconandGitHub 745b6d471d fix issue with resource naming conflict (#234) 2018-07-30 12:06:35 +02:00
Oliver NoconandGitHub d844b23b90 add cloudFoundryDeploy step (#173)
* add cloudFoundryDeploy step
* added cf-cli docker image
* support existing parameters
* support check script with flexible STATUS_CODE
* add mandatory parameters
* fix compatibility handling
* address PR feedback
* fix access to smokeTest script
* make credentialsId mandatory to avoid NPE
2018-07-30 09:28:24 +02:00
Oliver NoconandGitHub e2d3a6171d Bump version 2018-06-20 10:16:26 +02:00
Oliver NoconandGitHub cf17510641 Update pom.xml 2018-06-08 08:48:58 +02:00
Oliver NoconandGitHub 4ae3998458 Update pipelineStashFiles.md 2018-06-04 16:36:05 +02:00
Oliver NoconandGitHub 9e9de1fd6e Bump Version 2018-05-09 11:09:15 +02:00
Oliver NoconandGitHub 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
Oliver NoconandGitHub 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