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

1116 Commits

Author SHA1 Message Date
Kevin Stiehl
dfab156427
Feature/approle secret id rotation (#2311)
* add new step vault secret

* add debug log

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-11-17 13:49:31 +01:00
Stephan Aßmus
0491bf3712
Always use artifactPrepareVersion (#2360)
artifactSetVersion was documented as being "deprecated" since a while, but was still used.
2020-11-16 16:38:17 +01:00
Christopher Fenner
81c8553d6a
refactor(hadolint): implement step in GO (#1169)
* initial commit of yaml file

* initial commit for HaDoLint in GO

* add helper function to load file from url

* load config file

* write report information to disk

* comment the code

* refactor groovy code

* remove download function from FileUtils

* use http.Downloader

* rename step files

* update generated files

* update generated files

* remove duplicate commands

* add credentials for config url

* add generated test file

* reuse piperExecuteBin functions

* correct step name

* update go step

* deactivate test

* fix import

* use differing go step name

* rename step

* correct result publishing

* correct command name

* expose tls insecure flag

* hand through error

* disable tls verification

* fix tls disabling

* use credentials

* mow

* reformat

* add qgate only if set

* correct report name

* remove old defaults

* add qgate to defaults

* handle report name

* restore default

* remove unused step config

* use piperExecuteBin

* remove obsolete type

* add test cases

* remove groovy tests

* move client parameter handling to run function

* use custom interfaces and mockery

* remove commented code

* correct struct names

* rename parameter dockerfile

* add further asserts

* cleanup

* change file permission to read/write

* remove tokenize

* add further comments

* init http client only if necessary

* add todo

* Revert "rename parameter dockerfile"

This reverts commit 2a570685b8.

* add alias for dockerfile parameter

* correct test case

* Apply suggestions from code review

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>

* add comment about mock assertions

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-11-16 15:14:54 +01:00
Florian Wilhelm
647e1ef0bd
Add deployment to performance tests stage and enable stage (#2370)
Co-authored-by: Kevin Hudemann <kevin.hudemann@sap.com>
2020-11-13 16:31:45 +01:00
Srinikitha Kondreddy
6c26a791a3
Add an option to clone from specific repository (#2322) 2020-11-12 20:35:59 +01:00
Kevin Hudemann
8fd6927854
Add mavenExecuteIntegration, mavenExecuteStaticCodeChecks, npmExecuteLint and npmExecuteScripts to piperPipelineStagePRVoting (#2352)
This change adds the steps mavenExecuteIntegration, mavenExecuteStaticCodeChecks,
npmExecuteLint and npmExecuteScripts to the stage piperPipelineStagePRVoting.
2020-11-12 09:25:44 +01:00
Daniel Mieg
712c568087
Create groovy step for abapEnvironmentCreateSystem (#2303)
* Create groovy step

* add to pipeline

* add includeAddon

* Adapt docu

* Adapt groovy test

* adapt stage addonBuild

* add comma

* Add to docu

* Upper case spelling

* Update docu

* adapt docu
2020-11-11 17:08:24 +01:00
Stephan Aßmus
115cfb5bae
Run nexusUpload in stage Promote (#2349) 2020-11-11 16:32:23 +01:00
Florian Wilhelm
0356f13853
Improve error message for legacy cloud sdk config (#2348) 2020-11-11 14:47:55 +01:00
Marcus Holl
d327c2e061
Revert "Avoid CPS serialization issue in setupCPE (#2261)" (#2305)
This reverts commit c9b50d7f10.
2020-11-11 10:44:49 +01:00
Daniel Mieg
2c432124fc
Unify strategy spelling (#2345)
* Update abapEnvironmentPipelineStageCloneRepositories.groovy

* Adapt test
2020-11-10 16:45:16 +01:00
Stephan Aßmus
87e8d5d160
Extend the legacy config check for "required" config keys (#2332) 2020-11-10 14:18:37 +01:00
Christopher Fenner
b71825fac9
feat(pipeline): add sonar step to PR and Build stage (#1651)
* add sonar scan to build stage

* add sonar scan to PR stage

* add step activation condition

* adjust whitespaces

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-11-10 09:18:14 +01:00
Srinikitha Kondreddy
0234e4908c
Invalidate cache for neo deployments (#2209)
* Add additional parameters for invalidating cache

* Fetch bearer token

* Fetch x-csrf token

* Add echo for testing

* Add echo

* Add another echo

* Check status

* Debug

* Clean up

* Throw exception

* Code review changes

* Review changes

* Add test

* Fix tests

* Fetch bearer token

* Fetch x-csrf token

* Add echo for testing

* Add echo

* Add another echo

* Check status

* Debug

* Resolve conflicts

* Resolve conflicts

* Code review changes

* Review changes

* fix conflicts

* Fix indent

* Add new parameter to define portal landscape region

* Add default value for new param

* Fix test

* Remove example

Co-authored-by: Oliver Feldmann <oliver.feldmann@sap.com>

* Check cache invalidation for html5 apps

* Add nesting

Co-authored-by: Oliver Feldmann <oliver.feldmann@sap.com>

* Add docu for invalidating cache for html5 apps (#2306)

* Add docu for invalidating cache for html5 apps

* Improve content

* Docu review changes

* Remove heading

Co-authored-by: Sarah Lendle <44202907+SarahLendle@users.noreply.github.com>

* Update documentation/docs/steps/neoDeploy.md

Co-authored-by: Sarah Lendle <44202907+SarahLendle@users.noreply.github.com>

Co-authored-by: Sarah Lendle <44202907+SarahLendle@users.noreply.github.com>

Co-authored-by: Oliver Feldmann <oliver.feldmann@sap.com>
Co-authored-by: Sarah Lendle <44202907+SarahLendle@users.noreply.github.com>
2020-11-09 12:15:00 +01:00
Florian Wilhelm
73a2c256cc
Move legacy config check to step so it can be reused in other pipelines (#2325) 2020-11-09 10:15:43 +01:00
Stephan Aßmus
8007a1a6c6
New step gatlingExecuteTests, used in Performance stage (#2298)
Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-11-03 17:42:02 +01:00
Kevin Hudemann
f13ccabe1e
Add preDeploymentHook to multicloudDeploy step (#2308) 2020-11-03 16:46:33 +01:00
Oliver Feldmann
5b5f1fe873
Remove closure in switch case (#2302)
Before this commit, if the closure of the switch case is executed a
CpsCallableInvocation exception is thrown.
2020-11-03 12:50:00 +01:00
Dominik Lendle
c6afd7696b
Abap pipeline extension for cloneGitRepo & checkoutBranch to be used (#2004)
* Added CFDeleteServiceKeys

* Added ServiceKey deletion tests

* added cfServiceKeys flag explanation to documentation

* removed trailing spaces from documentation

* resolving conflicts

* Changed deletion message an variable naming

* Changed tests

* Changed tests

* Changed tests

* Changed tests

* Changed CloudFoundryDeleteServiceOptions to options

* Changed CloudFoundryDeleteServiceOptions to options

* Minor changes

* Minor changes

* Changed variable naming

* Changed error handling

* Changed error handling and logging

* Changed documentation

* Simplified code

* Fixed CodeClimate issues

* Changed from returning err to nil where no errur returned needed

* Add cloudFoundryCreateServiceKey Go Step

* Changed Groovy File

* Changed aliases

* Removed unneccessary parts

* Minor changes

* Minor changes

* Adapted documentation

* Adapted tests

* Adapted Groovy File

* Changed Groovy file

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Removed Groovy Tests for cfCreateServiceKey

* Minor changes

* Added ATC Check YAML

* Added ATC Check generated files

* Added test class

* Added abapEnvironmentRunATCCheck

* Minor changes

* Minor changes

* Changed groovy

* Minor changes

* Changed groovy

* Changed groovy

* Minor changes

* Adapted Groovy imports

* Adapted Groovy imports

* Adapted Groovy imports

* Adapted Groovy

* Getting ATC results

* Changed error message

* changed groovy

* removed trailing spaces

* Added login check

* Minor changes

* Added step to whitelistScriptReference

* Added ATC error message handling

* Added groovy file

* Added step to groovy tests

* corrected metadata file

* Debugging

* Debugging

* Added yaml config parameter for ATC run

* Adapted file location of ATC run config to jenkins specific location

* Implementing universal pipeline logic for finding yaml config regardless of pipeline

* Changed error handling for reading config yaml file

* Changed atcrunconfig alias

* minor changes

* Minor changes

* Minor changes

* Changed back to dynamic file reading

* Minor changes

* filepath changes

* Removing CF Login

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Removed whitespaces

* Added CF functions unit tests

* Added invalid parameter handling

* Removed package and SC flag

* Minor changes

* Changed tests

* Changed tests

* Changed tests

* Minor changes

* Changed tests

* removed unnecessary logout

* Added documentation

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Removed trailing spaces

* Added newline at end of file

* code climate fixes

* code climate fixes

* code climate fixes

* Minor changes

* Minor changes

* Minor changes

* Changed tests

* Test changes

* Splitted Cloud Foundry functions into two classes

* Removed two steps from whtielistScriptReference

* removed atcrunConfig alias

* issue fixes

* Changed docu

* Changed docu

* Changed docu

* Removed trailing spaced from docu

* Changed docu

* Go generator run

* Issue fixes

* Remove unnecessary imports

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* Update whitelistScript

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* Adding piperutils for writing xml file

* Persisting ATC Results with piperutils

* Set failonMissingReports to true

* Refactoring for CodeClimate

* Changed result file name

* Changed credentials aliases

* changing secret name

* Removing trailing spaces

* Added secret name and alias to docu

* Add cloneGitRepo & checkoutBranch steps

* Tests added

* Docu added

* docu changes

* remark changes

* Class name changed

* minor changes

* Test added for prepare system stage

* Review changes

* Tests

* Step order tests

* Step order tests

* Step order tests

* Step order tests

* strategy parameter tests

* configHelper import added

* Default value for strategy added and remove pull config check

* corrected stage default

* Tests added

* changes in TestConfig

* Tests adapted for no prepare system stage

* tests changed

* changed tests

* input added

* changed tests

* changed tests

* changed tests

* commonPipeline removed

* add input register

* remove step key

* remove return

* remove comment

* correct method usage

* CodeClimate Fixes

* PR fixes

* addonBuild rename

* removed trailing spaces

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
Co-authored-by: Daniel Mieg <56156797+DanielMieg@users.noreply.github.com>
2020-11-03 10:16:57 +01:00
Marcus Holl
c9b50d7f10
Avoid CPS serialization issue in setupCPE (#2261)
* Avoid CPS serialization issue in setupCPE

When handing over an instance of SCMInfo we got a
CPS serialization issue. Hence we don't hand over
that instance any more

  o git commit id is resolved with exising git tooling
  o git branch is handed over as parameter to setupCPE
2020-11-02 11:23:34 +01:00
Oliver Nocon
26cfbf7357
fix(whitesourceExecuteScan) properly handle output resources (#2266)
* fix(whitesourceExecuteScan) properly handle output resources

* fix merge issues

* add required aliases

* update generation

* fix reading custom and container environment parameters from cpe

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-11-02 08:51:58 +01:00
Florian Wilhelm
efa85a0f0e
Allow npm install in e2e tests (#2281)
Remove hard-coded install: false in npmExecuteScripts call to allow the pipeline to configure the step according to how it is right for that pipeline.
2020-10-30 11:56:29 +01:00
Daniel Mieg
c2bd05fb3d
Add option to include a deletion prompt for Steampunk systems (#2198)
* Test out delete confirmation

* Second try

* Add confirmation for Integration Tests system

* Fix defaults

* Change default

* Adapt text

* Change default handling

* Adapt addIfEmpty

* Add pipeline test

* Add tests
2020-10-29 10:30:50 +01:00
Stephan Aßmus
d1fedd9ba8
Remove "onlyInProductiveBranch" check (#2253) 2020-10-28 17:08:38 +01:00
Fabian Reh
9c870b2514
Gitops update deployment fixes (#2234)
* makes containerImage not mandatory

* Adds kubectl container

* Adds log statement to debug

* adds general to container image

* removes GENERAL again
Removes condition from Kubectl container

* removes workDir

* marks logs as debug

* adds workingdir again

* Adds author to commits

* Adds commit time now

* remove deprecated and reorder

* adds deprecated again to containerRegistryUrl
Adds GENERAL scope to containerImage

* updates generated file

* Renames containerImageNameTag

* adds else case

* adds debug log

* code cleanup

* adds debug log

* revert

* adds debug logs

* revert

* makes root path not hidden

* revert

* Read container properties

* Removes debug message

* Removes debug message

* Removes general scope again

* Fixes unit test

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-10-27 13:45:34 +01:00
Daniel Kurzynski
63756dc81c
Fix cloudFoundryDeploy documentation (#2236)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-10-26 16:59:51 +01:00
Christopher Fenner
bdfe90ed49
feat(hadolint): enable authentication when fetching config file (#2225)
* use httpRequest to fetch config file

* set default

* provide authentication for config url

* adjust test case
2020-10-23 13:57:22 +02:00
Marcus Holl
4f9bc698f9
ABAP deploy to front end server via existing fiori upload facilities (#1939)
The approach used up to now did not (... never) work since the uploaded content was always assigned to the `$TMP` package. In the meanwhile there is some fiori tooling available for managing such uploads.

Now we re-use this fiori tooling.

Co-authored-by: Oliver Feldmann <oliver.feldmann@sap.com>
2020-10-21 12:04:11 +02:00
Fabian Reh
586044192c
feat(Gitops): new step to update deployment (#2178)
* kanikoExecute: improve user experience

* ensure proper tags

* update permissions

in case a container runs with a different user
we need to make sure that the orchestrator user
can work on the file

* update permissions

* ensure availablility of directories on Jenkins

* (fix) clean up tmp dir in test

* add resilience for incorrect step yaml

* incorporate PR feedback

* Adds piper step to update deployment configuration in external git repository.

https://github.wdf.sap.corp/ContinuousDelivery/piper-ita/issues/21

* Adds handling of branchName as an optional parameter

* Update resources/metadata/gitopsUpdateDeployment.yaml

Feedback about description

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* Adapt to interface guide

* Refactors to GitopsExecRunner

* Refactors to GitopsExecRunner in test

* Removes unnecessary mocked methods

* Adds tests for git utils

* Adds new step to CommonStepsTest.groovy

* Updates description from yaml

* Restricts visibility of methods and interfaces
Adds comments where necessary

* Updates comments

* Fixes URL name

* updates description

* updates generated file

* Fixes compile issue in CommonStepsTest.groovy

* Updates long description

* Updates test to run green on all kind of OS

* Removes global variables from tests

* Default branch: master

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>

* Typo in Hierarchy

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>

* Refactors test to allow parallel execution

* Renames utility variable in gitopsUpdateDeployment.go

* Renames error variables in gitopsUpdateDeployment.go

* simplified parameters for kubectl

* Refactors util classes to use parameters rather than global variables

* makes username and password mandatory

* remove unnecessary mandatory flag

* remove new methods from mock that are not necessary

* replaces with EqualError

* replaces with NoError

* update generated file

* refactor tests

* refactor tests

* make tests parallel executable

* parallel execution of tests

* Refactors interfaces to stop exposing interfaces

* Feedback from PR

* Simplifies failing mocks

* Renames variables and interfaces

* Fixes error messages

* shorten variable names

* Renames unused parameters in tests

* Cleanup nil parameters

* Typo

* Wrap errors and remove unnecessary logs

* Remove containername and filePath from GENERAL scope

* correct generated file

* corrects expected error messages

Co-authored-by: OliverNocon <oliver.nocon@sap.com>
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-10-20 09:05:17 +02:00
Oliver Feldmann
2a0e044e20
fix(docs): add description of buildTool for cfDeploy (#2187)
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-10-15 19:03:16 +02:00
Oliver Feldmann
57816e0275
fix(docs): correct notes text box (#2189) 2020-10-15 18:53:45 +02:00
Roland Stengel
1488c4d355
Fiori Scenario from Neo to CF (#2164)
* Fiori Scenario from Neo to CF

* Fiori Scenario from Neo to CF - Review
- error on unknown deploy target
- codeclimate
- remove obsolete sample files

* Minor language changes
2020-10-15 13:29:52 +02:00
Kevin Stiehl
3eae0c5f68
feat(vault): fetch secrets from vault (#2032)
* cloud-foundry & sonar from vault

* add vault development hint

* don't abort on vault errors

* cloudfoundry make credentialsId only mandatory when vault is not configured

* add vault ref to step ymls

* rename vaultAddress to vaultServerUrl

* rename PIPER_vaultRole* to PIPER_vaultAppRole*

* add resourceRef for detect step

* fix error when no namespace is set

* added debug logs

* added debug logs

* fix vault resolving

* add vaultCustomBasePath

* rename vault_test.go to client_test.go

* refactored vault logging

* refactored config param lookup for vault

* added tüddelchen

* rename vaultCustomBasePath to vaultPath

* fix tests

* change lookup path for group secrets

* fix interpolation tests

* added vault resource ref to versioning

* execute go generate

* rename Approle to AppRole

* change verbose back to false

Co-authored-by: Leander Schulz <leander.schulz01@sap.com>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-10-13 14:14:47 +02:00
Marcus Holl
5f5372aa6f
Revert "allow multicloud deployment to run in current workspace (#2031)" (#2137)
This reverts commit 32fd89c664.

Commit mentioned above has been merged in order to circumvent
the issue which has been resolved by commit 0a17ed56. Since this
issue is now resolved and since there is no other known use case
for running deployments explicitly in parallel we decided to remove
that flag again.
2020-10-09 14:52:07 +02:00
Tom Kiemes
9ffe52d1f4
Add a milestone for Confirm stage (#2087)
This commit will prevent abortion of older builds which are waiting in the Confirm stage,
if a newer build fails in the last stage before the Confirm stage.

Example: If the 'Compliance' stage of the general purpose pipeline (piperPipeline.groovy) fails,
it will abort all former builds which are waiting in the 'Confirm' stage.

The milestone function is called without an explicit ordinal since people might use the stage
on different positions within their pipeline. When no ordinal is given, the last milestone ordinal
value will be increased by 1.

Note: Confirming a build will still abort all older builds waiting at the Confirm stage.
2020-10-07 10:56:25 +02:00
Daniel Kurzynski
f5b19a79e4
Infer project name (#2119)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-10-05 19:34:43 +02:00
Christopher Fenner
be90876b7c
feat(output): handle non-string output values (#2113)
* handle non-string values as JSON

* change value type to interface in resources

* regenerate code

* add test cases

* handle reading of json files

* write json data to json files

* fix assignment

* use GetResourceParameter

* add test case

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-10-05 15:33:28 +02:00
Oliver Feldmann
19f45aa687
Move setting git info in cpe from stage init to setupCPE step (#2083)
* Move setting git info in cpe

Everything cpe related should be done in setupCommonPipelineEnvironment.
Thus a new parameter was introduced to accept the scmInfo object
returned by a checkout.

* Improve documentation
2020-10-05 12:50:03 +02:00
Stephan Aßmus
6379c25409
Forward config-related params to setupCommonPipelineEnvironment (#2117) 2020-10-05 12:12:06 +02:00
Daniel Mieg
ae213a013e
Add stages for build process to ABAP Environment Pipeline (#2052)
* Add stages for build process

* fix typo

* Add createServiceKey to Build stage

* Fix typo

* Inital Checks is required when Build stage is exec

* Switch Order

* Fix Typo

* Add parameter for confirmation

* add "addIfEmpty"

* Add import

* revert

* revert2

* Remove import

* revert3

* Add stages to docu

* Update image
2020-10-02 17:03:43 +02:00
Marcus Holl
b2b4278b34
Provide Additional pod properties for dockerExecuteOnKubernetes (#2051)
Provide additional pod properties for dockerExecuteOnKubernetes

Co-authored-by: Kay Wegner <kay.wegner@sap.com>
2020-10-02 12:56:16 +02:00
Marcus Holl
75a35fb35a
Improve logging wrt the docker image used for launching piper-go (#1578)
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-10-01 16:27:50 +02:00
Oliver Nocon
b506235398
detect: add parameter aliases (#2099)
* align parameters for Detect

* include feedback

* update generation and formatting

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-10-01 13:34:51 +02:00
Daniel Kurzynski
265541354d
Archive debug report in piper post action stage (#2101) 2020-10-01 10:14:14 +02:00
Marcus Holl
93cac1a2f4
Clarify: transportRequestId can only be provided via signature (#1378)
Clarify: transportRequestId can only be provided via signature
2020-09-30 14:29:46 +02:00
Marcus Holl
bed3ec1e28
[refactoring] Avoid having simiar dockerExecuteOnKubernetes call twice. (#2067)
Having that like this increases maintainability.
2020-09-30 13:44:40 +02:00
Srinikitha Kondreddy
4fec440030
Fix typo (#2086) 2020-09-30 09:35:36 +02:00
Florian Wilhelm
e8f49df6a3
Optionally use new go-based Whitesource step (#2079) 2020-09-30 08:56:16 +02:00
Kevin Hudemann
80250ab2b9
Extend piperPipelineStageInit to support init of Cloud SDK (#2062)
This change adds necessary functionality to support initialization of
Cloud SDK pipelines. In addition, it adds the support to check the
pipeline configuration for legacy configuration parameters.
2020-09-28 10:44:56 +02:00
Kevin Hudemann
a075526d15
Extend piperPipelineStageSecurity to run detectExecuteScan step (#2069)
This change adds the detectExecuteScan step to the
piperPipelineStageSecurity.
2020-09-28 09:56:57 +02:00