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

599 Commits

Author SHA1 Message Date
Kevin Hudemann
58e7e4be44
Add buildDescriptorExcludeList parameter to npmExecuteScripts step (#1800)
This change adds a buildDescriptorExcludeList parameter to
npmExecuteScripts, to enable the exclusion of certain directories when
executing npm scripts. Previously, npmExecuteScripts could only execute
scripts in all packages.

Now it is possible to provide paths or patterns as elements of the
buildDescriptorExcludeList to exclude packages when executing npm scripts.
2020-07-16 17:16:55 +02:00
Oliver Nocon
43f51ba90a
Revamp documentation generation for golang steps (#1781)
* Revamp documentation generation for golang steps

* Add and update tests

* Add tests, add step outputs

* Add tests, add step outputs

* Update rendering

* fix merge conflict

* update generated files

* Update pkg/config/stepmeta.go

* Update pkg/config/stepmeta.go

* Update pkg/generator/helper/docuHelper.go

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

* Include PR feedback

* update tests

* Fix Jenkins dependecy indication

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-07-16 09:10:15 +02:00
Florian Wilhelm
68bfb02778
Create stage run defaults for the Cloud SDK Pipeline (#1795) 2020-07-15 08:23:10 +02:00
Kevin Hudemann
ebfb208528
Add report handling to npmExecuteEndToEndTests (#1791)
This change adds the missing report handling to npmExecuteEndToEndTests
step. In addition, it extends the testsPublishResults step to support
cucumber test results.
2020-07-14 13:33:49 +02:00
Chris Bo
9558b47268
Introducing new step 'gctsExecuteABAPUnitTests' (#1532)
* add new step 'gctsExecuteABAPUnitTests'

* added new step entries

* small wording improvement

* regenerated

* fixed unit tests

* adjusted prerequisites

* removed telemetry

* remove command

* moved functions to http package

* newly generated

* remove commented code

* use credentials ID in config.yaml

* add supported protocols to docu

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-07-14 10:58:57 +02:00
Florian Wilhelm
ccc77bbc11
Use multicloudDeploy step in Release/Acceptance Stage if it is configured (#1789)
The multicloudDeploy step is newer and more capable compared to the old steps. For pipelines that don't configure the multicloudDeploy step, nothing should change.
2020-07-13 14:26:26 +02:00
Oliver Nocon
111e4de8c3
kanikoExecute - golang version (#1765)
* kanikoExecute golang version

* update entrypoint

* update entrypoint

* update entrypoint

* update entrypoint

* update entrypoint

* add command

* include PR feedback

* remove trailing spaces

* remove defaults for certificates

* Update generated file
2020-07-10 08:07:59 +02:00
Daniel Kurzynski
fbf2b29a32
NpmExecuteScripts add script options (#1780) 2020-07-09 14:57:41 +02:00
Dominik Lendle
509607f69f
Host parameter fix (#1752) 2020-07-07 16:19:57 +02:00
Kevin Hudemann
c8ca3ea522
Add mta extension credentials handling to cloudFoundryDeploy step and infer deployTool default from buildTool (#1761) 2020-07-06 16:16:48 +02:00
Daniel Kurzynski
e6ab6f815f
Default source for maven deployments to neo (#1755) 2020-07-03 09:56:14 +02:00
Daniel Kurzynski
0f6a48bede
Remove defaults for mtaBuild (#1734)
Defaults should only be defined in the metadata file.
2020-07-01 10:14:59 +02:00
Jordan Levin
34967c502c
Whitesource scan (MVP) (#1658)
* Whitesource MVP for Gradle, Golang, and NPM/Yarn

* Refactoring

* Refactor and cleanup, better error checking

* publish stepResults, use pkg/versioning, bubble up errors, add gomod versioning support

* Run gofmt and cleanup comments

* Resolve PR comments

* Update resources/metadata/whitesource.yaml

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

* Only determine project coordinates if they are missing

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

* Gradle versioning artifact

* fix gradle artifact version regexp and refactor

* Fix token extraction from output buffer

* Fix some issues with pip and jsonfile versioning logic

* Remove useless spacing

* Remove unnecessary test file and fix naming style for JSONDescriptor

* Automatically download wss-unified-agent if file does not exist

* adds downloadVulnerabilityReport, checkSecurityViolations, minor refactoring

* adds config.ReportDirectoryName, improves readability

* Version-wide reporting for vulnerabilities and list of libraries.

* Refactor and improve build accuracy

* fix sed command

* Add includes file pattern config option

* Adds --exclude command line flag

* run go mod tidy and regenerate step framework

* Fix unit tests

* revert changes

* poll project status before downloading reports

* merge with master

* go mod tidy, go fmt, and fix whitesource unit test

* sync go.mod

* sync go.mod again

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-07-01 07:54:13 +02:00
MuellerHenrik
de3afe9476
Change parameters/alias for CfServiceKeyName (#1726)
* Fix alias cfServiceKeyName

* Adapt documentation

* Fix alias use in go files

Co-authored-by: Daniel Mieg <56156797+DanielMieg@users.noreply.github.com>
2020-06-30 15:46:07 +02:00
Srinikitha Kondreddy
1387f15ed6
Upgrade cloud mbt tool docker image version (#1735) 2020-06-30 12:23:17 +02:00
Oliver Nocon
bb8cd30c4c
Extend resource references to cater for secrets (#1718)
* Add secret references to step metadata

* Update references

* update generated files
2020-06-25 16:33:38 +02:00
andre2007
f0babcade1
feat(sonar): upgrade sonar-scanner-cli to 4.4.0.2170 (#1710)
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-06-25 13:53:22 +02:00
Thorsten Duda
30302ff47a
mbt default version update (#1704)
With devxci/mbtci:1.0.14.1 docker image, UI5 projects
generated from Business Application Studio can be build
out of the box.
2020-06-25 12:16:02 +02:00
Daniel Mieg
f38a50739c
Fix extensions for Post stage of Abap Pipeline (#1714) 2020-06-24 17:44:15 +02:00
Alejandra Ferreiro Vidal
3d9606022f
add parallel execution to multicloudDeploy (#670)
* add parallelExecution to multicloudDeploy

adds parallel execution to the step multicloudDeploy

* add log

* fix warning

Co-authored-by: Oliver Feldmann <oliver.feldmann@sap.com>
2020-06-24 10:56:36 +02:00
Daniel Mieg
f348c53989
Add ABAP Environment Pipeline (#1555) 2020-06-23 15:56:56 +02:00
Daniel Kurzynski
654dea4b3e
Load global extensions in setupCommonPipelineEnvironment (#1688)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
Co-authored-by: Florian Wilhelm <florian.wilhelm02@sap.com>
2020-06-22 17:52:11 +02:00
lydiazcheng
59f3cddd43
TMS: extend upload mta ext descriptor to node (#1635)
* add APIs for getNodes, getExtDescriptor, putExtDescriptor and uploadExtDescriptor
* add new params and extend the logic to enable upload or update extension descriptor to node
* extends unit tests


Co-authored-by: Zihe Cheng <zihe.cheng@sap.com>
Co-authored-by: Marcus Holl <marcus.holl@sap.com>
2020-06-22 11:34:10 +02:00
Florian Wilhelm
60eefabb20
Install dev deps in mta build (#1685)
Ensure npm dev dependencies are available after mtaBuild as they are required by certain tests.
Co-authored-by: Kevin Hudemann <kevin.hudemann@sap.com>
Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-06-22 10:39:52 +02:00
Kevin Hudemann
60fa1d5bbf
Add Java-/Typescript linting capabilities (#1636)
This change adds linting support for Java-/TypeScript projects based on the checkDefaultLint and checkUserLint steps from Cloud SDK Pipeline.

Following options are supported:

1. Define a linting script named ci-lint in the package.json file(s) of the project
2. Provide a configuration for ESLint as part of the project
3. If none of the above: ESLint is executed with a general purpose configuration.

Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-06-22 10:12:28 +02:00
Daniel Kurzynski
7c441f552f
Make version command a high level command like get-config without resolving the configuration (#1689) 2020-06-19 14:39:19 +02:00
Oliver Nocon
d602c6e2b9
extend security stage (#1687)
* extend security stage

Add new steps
* checkmarxExecuteScan
* fortifyExecuteScan

closes #1650

* update tests
2020-06-19 12:35:02 +02:00
Kevin Hudemann
ceb3dd0a04
Refactor pkg/npm and npmExecuteScripts (#1684)
This change refactors the npm pkg and npmExecuteScripts implementations
to be reusable for future steps, e.g., npmExecuteLint.

In addition, it fixes few small bugs related to unit test execution on
Windows and the fileUtils mocking implementation.

Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-06-18 17:30:17 +02:00
Daniel Kurzynski
be01dd3869
Add schema patch step in go (#1683)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-06-18 14:50:46 +02:00
Chris Bo
e9ad8c5e9c
Introducing new step 'gctsCloneRepository' (#1468)
* added new step gctsCloneRepository

* enhanced docu

* adjusted test case name

* enhanced docu

* refined error messages

* regenerated & remove unused Groovy imports

* small change

* remove execRunner

* Update documentation/docs/steps/gctsCloneRepository.md

* regenerated

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-06-18 07:45:22 +02:00
Daniel Kurzynski
743fca43e1
Remove projectVersion from fortify documentation (#1628)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-06-17 17:47:59 +02:00
Oliver Nocon
8e74952166
Switch Detect scan to golang implementation (#1673)
* Switch Detect scan to golang implementation

* update workingDir

* use universal container as default

* Switch to official curl image

* fix code climate issue

* switch default image

* update docker options

* update CommonStepsTest

* remove invalid groovy test

* clean up defaults

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-06-16 17:21:59 +02:00
Daniel Kurzynski
0222bf83d1
Run npm scripts in virtual frame buffer and extend command.go to run executable asynchronously (#1669)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
Co-authored-by: Florian Wilhelm <florian.wilhelm02@sap.com>
2020-06-16 11:42:51 +02:00
Dominik Lendle
0fd9c4be84
cf create/delete service: Changing to workingDir (#1560)
* minor changes

* Changed yaml with aliases

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* Changed yaml aliases

* Adapted naming conventions

* Removed error code at the end

* Adapted configuration

* Minor changes

* Minor changes

* Minor changes

* Removed spaces

* Removed docker-related config from groovy file

* Minor changes

* Minor changes

* Removed container config

* Corrected testing function name

* Deleted unnecessary parts

* Changed service deletion message

* Changed service deletion message

* Logging out before throwing error service deletion step fails

* Minor changes

* Minor changes

* Minor changes

* Delete .DS_Store

* Delete .DS_Store

* Delete .DS_Store

* Delete .DS_Store

* Minor changes

* Minor changes

* Minor changes

* Added newline at end of file

* Added newline at end of file

* Changes for Pull request optimization

* added documentaion

* Adapted documentation

* Adapted documentation

* Adapted documentation

* Adapted documentation

* Adapted documentation

* 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

* Changing to workingDir

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-06-15 21:31:50 +02:00
lndrschlz
48f6a08433
GithubPublishRelease: Add "pre-release" flag (#1654)
* githubPublishRelease: added prerelease tag

* test case added

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-06-15 21:05:08 +02:00
Florian Wilhelm
0fcf1654fe
Install maven artifacts after mta build (#1641)
Extend mta build step to install maven artefacts after build to allow re-using them in later stages (additional unit or integration tests which might not be running as part of the "build" life-cycle).
2020-06-15 12:46:54 +02:00
Stephan Aßmus
56699ab019
Run artifactPrepareVersion in maven container if necessary (#1634)
* The metadata for artifactPrepareVersion-go specifies a container for when the buildTool is maven.
* The alias to 'mavenExecute' was removed. The problem with this is that when a section containers is included in the metadata, dockerImage will always be picked up from mavenExecute, the conditional dependency on buildTool will not even be considered. Parameters such as m2Path, projectSettingsFile and globalSettingsFile should be configured in general/maven if necessary.
* When the step ends up being executed within dockerExecuteOnKubernetes, we need to preserve the .git folder. This folder would normally be excluded by the default excludes of the stash step. There was already a comment that suppressing this behavior by passing useDefaultExcludes: false was problematic (unfortunately without going into details), so I've added a new parameter to dockerExecute and dockerExecuteOnKubernetes named stashNoDefaultExcludes (note the reverted meaning to ease preserving the default behavior when this parameter is not provided). This parameter is passed to piperExecuteBin from the artifactPreferVersion groovy wrapper.
2020-06-08 17:08:05 +02:00
Florian Wilhelm
c490ce9211
Use go-based npmExecuteScripts, mavenBuild in buildExecute (#1622) 2020-06-04 17:53:06 +02:00
Marcus Holl
0ad38b8621
Timeout for malwarescan (#1623)
Provide a timeout parameters to malwarescan step. This is forwarded to the piper http layer. The default used there is 10 seconds with is not useable for that use case for larger files.
2020-06-03 11:08:34 +02:00
Daniel Kurzynski
cf9a41850e
Needed CLI separator for Fortify tools depends on platform (#1616)
* Update fortify.yaml
* src, exclude and pythonAdditionalPaths are now lists of strings
* Re-implement pythonIncludes and pythonExcludes as aliases of src and exclude
* Fix using the correct separator (; on windows, : on everything else)
* Tokenize also python "includes"
* mvnCustomArgs was removed

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-06-02 13:47:07 +02:00
Stephan Aßmus
a24a7aad23
Fortify: Using mvn to auto-resolve classpath needs additional params (#1607)
* also reduce code duplication in token fetching
* concatenate classpaths from multi-maven projects

Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-05-29 15:42:35 +02:00
Daniel Kurzynski
ae6853ee4d
Use fixed versions for docker images for mtaBuild (#1615) 2020-05-29 13:51:33 +02:00
Maximilian Lenkeit
10e5bf98f8
artifactPrepareVersion: remember original artifact version (#1600)
* Update resources.go

* expose originalArtifactVersion parameter

* re-generate steps

* adjust golden files for generator changes
2020-05-28 10:05:22 +02:00
Florian Wilhelm
0857c9a3c6
Allow custom options for src, exclude in fortify translate (#1592)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
Co-authored-by: Kevin Hudemann <kevin.hudemann@sap.com>
Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-05-27 11:45:01 +02:00
Sven Merk
af2a01c064
Fortify implementation in golang (#1428) 2020-05-25 19:48:59 +02:00
Oliver Nocon
7e2ab744a5
mtaBuild - change default for docker image (#1574)
* mtaBuild - change default for docker image

* fix resolution of container default from step definition

* Properly fix default for container conditions
2020-05-22 09:48:11 +02:00
Florian Wilhelm
bd1e0a1071
Fix npm registry config (#1564) 2020-05-20 13:41:23 +02:00
Florian Wilhelm
550651187d
Configure alias for extension (#1569)
Restore compatibility with old parameter name to avoid breaking changes.



Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-05-19 17:05:11 +02:00
Marcus Holl
f47f2e6e90
Use mtaBuild step from go (#1536)
Co-authored-by: Your Name <kevin.hudemann@sap.com>
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-05-19 08:51:18 +02:00
Chris Bo
abdc3f736b
Introducing new step 'gctsDeployCommit' (#1476)
* added new step gctsDeployCommit

* suggested PR fixes applied

* fixed test

* Remove unused imports

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

* added URL encoding for 'request' parameter

* regenerate after change

* minor changes

* renamed step to 'gctsDeploy'

* changed name

* remove space

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

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-05-18 21:39:35 +02:00
Dominik Lendle
4a82eb5aaa
Docu changes to abapEnvironmentRunATCCheck step (#1557)
* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* Changed yaml aliases

* Adapted naming conventions

* Removed error code at the end

* Adapted configuration

* Minor changes

* Minor changes

* Minor changes

* Removed spaces

* Removed docker-related config from groovy file

* Minor changes

* Minor changes

* Removed container config

* Corrected testing function name

* Deleted unnecessary parts

* Changed service deletion message

* Changed service deletion message

* Logging out before throwing error service deletion step fails

* Minor changes

* Minor changes

* Minor changes

* Delete .DS_Store

* Delete .DS_Store

* Delete .DS_Store

* Delete .DS_Store

* Minor changes

* Minor changes

* Minor changes

* Added newline at end of file

* Added newline at end of file

* Changes for Pull request optimization

* added documentaion

* Adapted documentation

* Adapted documentation

* Adapted documentation

* Adapted documentation

* Adapted documentation

* 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

* Docu changes

* CodeClimate fixes

* Minor docu changes

* Correct syntax highlighting

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 <daniel.mieg@sap.com>
2020-05-18 12:49:52 +02:00
Oliver Nocon
d5bff20b10
Create step to save container image (#1554)
* Create step to save container image

* add error handling for directory creation

* Update permissions

* remove indirection and add tests

* finalize tests

* Fix test to also run on linux environments

* Update cmd/containerSaveImage.go

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

* Update resources/metadata/savecontainer.yaml

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

* Update cmd/containerSaveImage.go

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

* Update cmd/containerSaveImage_test.go

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

* Update generated file

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-05-18 08:55:25 +02:00
Florian Wilhelm
d151550554
Allow to configure sap npm registry in mta builder (#1550) 2020-05-15 14:20:37 +02:00
Daniel Mieg
194d711e84
Adapt config for abapEnvironmentPullGitRepo, cloudFoundryCreateServiceKey and cloudFoundryDeleteService (#1520)
* Enable multiple repositories

* Improve readability

* Adapt documentation

* rerun generator

* Add initial info line

* Improve logging

* Enable configuration in GENERAL section

* Adapt yml abapEnvironmentPullGitRepo

* Add aliases for crendetialsId

* Change order of credentialsId aliases

* Change prio of different names of credentialsId

* Add docu to sidebar
2020-05-14 14:48:12 +02:00
Christopher Fenner
27c6320474
feat(sonar): write flag for sonar execution to influx (#1534)
* write flag for sonar execution to influx

* add missing step metadata file

* first attempt to read influx from disk

* add missing import

* correct glob pattern

* use file path

* correct type names

* cleanup

* fix code climate issue

* fix typo

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

* add test case

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-05-14 13:46:40 +02:00
philippthiele
4788b80f47
add -f option to kanikoExecute containerPreparationCommand remove (#1539)
* add -f option do kaniExecute containerPreparationCommand remove

* Update KanikoExecuteTest.groovy

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-05-13 17:41:32 +02:00
dominiklendle
ac732b3065
Add abapEnvironmentRunATCCheck step (#1454)
* Minor changes

* Changed groovy file

* Changed generated file

* Changed yaml with container config

* Changed groovy config

* minor changes

* minor changes

* Changed yaml with aliases

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* Changed yaml aliases

* Adapted naming conventions

* Removed error code at the end

* Adapted configuration

* Minor changes

* Minor changes

* Minor changes

* Removed spaces

* Removed docker-related config from groovy file

* Minor changes

* Minor changes

* Removed container config

* Corrected testing function name

* Deleted unnecessary parts

* Changed service deletion message

* Changed service deletion message

* Logging out before throwing error service deletion step fails

* Minor changes

* Minor changes

* Minor changes

* Delete .DS_Store

* Delete .DS_Store

* Delete .DS_Store

* Delete .DS_Store

* Minor changes

* Minor changes

* Minor changes

* Added newline at end of file

* Added newline at end of file

* Changes for Pull request optimization

* added documentaion

* Adapted documentation

* Adapted documentation

* Adapted documentation

* Adapted documentation

* Adapted documentation

* 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

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-05-13 14:51:48 +02:00
Daniel Mieg
02ede6d28b
feat!: Mass enable abapEnvironmentPullGitRepo (#1516)
* Enable multiple repositories

* Improve readability

* Adapt documentation

* rerun generator

* Add initial info line

* Improve logging
2020-05-07 15:51:11 +02:00
Sven Merk
911b8bfb26
Add resolution and storage of commit message (#1515)
* Add commit message

* Add ToDo for later refctoring
2020-05-07 11:21:29 +02:00
Stephan Aßmus
75100ecbb3
Merge duplicated jenkinsKubernetes keys in defaults (#1514) 2020-05-07 09:31:52 +02:00
Oliver Nocon
f7fdd79fa7
artifactPrepareVersion: additional options (#1512)
* artifactPrepareVersion: additional options

it is now possible to use
* a Unix timestamp number
* a short commit hash

* Add dedicated Docker versioning scheme
2020-05-06 22:07:27 +02:00
Florian Wilhelm
0a196af04c
Allow configuration of log format, change default to fixed-width (#1432) 2020-05-06 12:17:56 +02:00
Marcus Holl
2c7c165e62
Malware scan metadata update (#1483) 2020-05-06 08:52:26 +02:00
Chris Bo
6c32df0b89
Minor improvements to gctsCreateRepository step docu and metadata (#1469)
* fix docu

* enhanced step docu and metadata

* regenerate after changing metadata

* small wording change

Co-authored-by: Marcus Holl <marcus.holl@sap.com>
2020-04-29 16:21:55 +02:00
dominiklendle
b8eaa47230
Removing JSON config for Service Key Creation as in-line parameter (#1434)
* Issue fixes

* Removed Logging
2020-04-29 13:11:06 +02:00
Oliver Nocon
143162bf46
Revert breaking change with #1455 (#1472) 2020-04-28 08:04:51 +02:00
Christopher Fenner
36a198ac86
docs: add possible values (#1458)
* add possible values for xsDeploy

* add possible values for protecodeExecuteScan

* add possible values for mtaBuild

* add possible values for artifactPrepareVersion

* add possible values for sonarExecuteScan

* add possible values for detectExecuteScan

* add possible values for checkmarxExecuteScan

* Update gctsCreateRepository.yaml
2020-04-27 15:16:01 +02:00
Kevin Hudemann
0be3225a3c
Enable the use of artifactPrepareVersion instead of artifactSetVersion (#1455)
This change enables the use of the artifactPrepareVersion go step instead
of the deprecated artifactSetVersion groovy implementation for the Cloud
SDK Pipeline. The groovy wrapper for the artifactPrepareVersion step now
enables the use of the download cache and minor issues are fixed.
2020-04-27 09:56:58 +02:00
Oliver Nocon
a728416e12
artifactPrepareVersion: define versioning scheme (#1457) 2020-04-24 20:52:16 +02:00
Florian Wilhelm
3f5b9cc555
Implement npmExecuteScripts step (#1422) 2020-04-24 18:29:30 +02:00
Chris Bo
fb4cfd84ec
Introducing new step: "gctsCreateRepository" (#1424)
With the step gctsCreateRepository it is possible to create a local gCTS repository on an ABAP server

Co-authored-by: Marcus Holl <marcus.holl@sap.com>
2020-04-24 15:31:41 +02:00
Arthur Lenz
b335387eac
feat(k8s): Add basic support for Helm 3 in kubernetesDeploy step (#1438)
* Extends kubernetesDeploy step to support Helm 3

Currently, the kubernetesDeploy step has no support to Helm 3 due to the fact that:
- the initialization command used works only for Helm 2
- the image used when running the helm CLI is based on Helm 2

The need for Helm 3 support comes from the fact that Helm 3 introduces major architectural changes,
more specifically, the removal of its server-side agent called Tiller - thus, being incompatible with
one another.

This commit adds this support by introducing a new configuration field (helmVersion).
By default, its values is set to 2 (Helm 2) to avoid breaking any existing functionalities.

* Use deployTool field to decide between Helm 2 or 3

* Remove helm init and replace wait for atomic in v3

* Update cmd/kubernetesDeploy.go

Nice catch!

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

* Add documentation for kubernetesDeploy step

* Add helm3 example for kubernetesDeploy step using mandatory fields

* Add new line at the end of kubernetesDeploy documentation

* Link kubernetesDeploy step with docs generator

* Add possible values for deployTool in kubernetesDeploy

* dummy change

* Revert "dummy change"

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-04-24 09:37:11 +02:00
Marcus Holl
b25079f862
Provide tooling for malware scanning (#1329)
Tooling for malwareScanning.

Co-authored-by: Stengel <r.stengel@sap.com>
2020-04-23 09:12:10 +02:00
Oliver Nocon
3a9bc54711
protecodeExecuteScan - align user parameter (#1426)
align parameter name for scan user with other steps
2020-04-20 16:44:01 +02:00
Daniel Kurzynski
0e4bff7aa6
Configure default jenkins agent for kubernetes (#1412) 2020-04-16 15:08:09 +02:00
Daniel Kurzynski
ce4be51362
Mask secrets (#1382) 2020-04-16 14:37:45 +02:00
Oliver Nocon
b9781ce50c
artifactPrepareVersioning: support more buildTools (#1367)
* artifactPrepareVersioning: support more buildTools
2020-04-15 13:12:43 +02:00
Florian Wilhelm
b71ff0a055
Extend nexusUpload to also handle npm (#1379) 2020-04-11 12:56:44 +02:00
Christopher Fenner
c190deee44
refactor(sonar): switch to Sonar scan in GO (#1320)
* use sonar go in groovy

* use SONAR_TOKEN

* only use owner/repo if both are set

* trim version to major version digit

* fix code climate issues

* remove Sonar defaults

* use sonar go step

* use SONAR_TOKEN

* use certs from parameters

* use docker workspace & options

* add instance parameter

* implement branchName

* implement branchName

* remove duplicate default

* update docs

* fix TODOs

* remove merge mess

* fix code climate issue

* address comments

* respect custom defaults and custom config file name

* fix typo

* remove obsolete test cases

* disable CommonStepChecks

* check step config instead of context config

* remove TODOs

* respect jenkins PR envvars

* use value from stepConfig

* Update vars/sonarExecuteScan.groovy

* rename options to config

* correct type for options

* add test cases

* log sonar.options in debug message

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-04-08 12:55:46 +02:00
Oliver Nocon
ef99f710ae
artifactPrepareVersion: documentation (#1365)
* artifactPrepareVersion: documentation

* Fix CodeClimate finding

* Update generated file

* Update versioning.yaml

* Update docs wrt PR 1374

* update generated step

* Update resources/metadata/versioning.yaml

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

* Update resources/metadata/versioning.yaml

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

* update generated file

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-04-08 09:28:03 +02:00
Oliver Nocon
909c77045d
artifactPrepareVersion: new versioning option (#1374) 2020-04-07 13:27:36 +02:00
Florian Wilhelm
9372aa1f43
Relax requirements for maven projects in nexus upload (#1348)
* iterate over found pom.xml files for maven projects, deploy found artifacts
* classifiers are found by testing prefix/suffix of artifact
* Remove additionalClassifiers option
* Improve documentation
* Fix fallback for finalBuildName
* Ignore mvn modules with packaging != pom but no target dir
* Fail when main artifact is missing, add more tests

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-04-03 21:32:38 +02:00
Oliver Nocon
999197b919
Add step to prepare the version for an artifact (#1343) 2020-04-03 16:34:40 +02:00
Oliver Feldmann
a8953d4f28
Fix cloudFoundryDeploy config keys in Acceptance (#1296)
* Fix cloudFoundryDeploy config keys in Acceptance

* Add neo config keys

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-04-03 11:03:00 +02:00
Dominik Lendle
5fba815fe8
Transformation of cfCreateServiceKey to Golang (#1253) 2020-04-01 11:45:31 +02:00
Stephan Aßmus
0b8b6f2b0c
Migrate stage artifact deployment from Cloud SDK Pipeline-Lib (#1324)
Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
Co-authored-by: Florian Geckeler <f.geckeler@sap.com>
2020-03-31 15:16:18 +02:00
Florian Geckeler
bb72c38413
Add documentation for mavenExecuteStaticCodeChecks groovy part (#1339)
* Add documentation for mavenExecuteStaticCodeChecks groovy part

* Add import

* Remove wrong default

* Add markdown file

* Add mkdocs

* Update vars/mavenExecuteStaticCodeChecks.groovy

Co-Authored-By: Daniel Kurzynski <daniel.kurzynski@sap.com>

* remove import

* remove import

Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-03-31 11:29:44 +02:00
Florian Geckeler
bd92804745
Add static code checks stage (#1308)
* Add static code checks stage
* Rework go step to accept thresholds for the checks and fail maven build if above the thresholds
2020-03-30 15:59:59 +02:00
Daniel Kurzynski
04cdf4b2fe
Always pull sidecar images by default (#1317) 2020-03-25 20:03:17 +01:00
Christopher Fenner
c74183771a
feat(mta): update cloud MTA build tool to v1.0.10 (#1310) 2020-03-24 08:51:42 +01:00
Florian Geckeler
b8080acd91
Adapt paths to pipeline_report debug_report and maven_settings templates (#1311)
* Add ReportAggregator to collect information about executed stages and create reports

* ReportAggregator is used by the SAP Cloud SDK to collect information about which stages were executed,
  code coverage and many more measurements.
* based on the measurements a pdf report can be generated which can be used to get a certification by SAP
2020-03-23 20:01:58 +01:00
Christopher Fenner
60b7d3a8df
refactor(sonar): implement Sonar step in GO (#1042)
* refactor(sonar): add initial metadata file for GO-based sonar step

* refactor(sonar): add initial generated files for GO-based sonar step

* refactor(sonar): add initial step file for GO-based sonar step

* refactor(sonar): add sonar cmd to executable

* refactor(sonar): cleanup metadata file

* fix(go): use capital TLS in golang names

* add download of Sonar scanner cli

* move download & unzip methods to FileUtils

* download certificate files

* use http.Downloader

* update generated code

* add slice prefix function

* update sonar step

* add test cases

* update docs

* use node:lts image

* use latest sonar-scanner

* add test cases

* use latest sonar-scanner

* fix test case

* change things

* return errors on functions

* limit changeID visibility

* use lowercase scm provider

* add test case for legacy PRs

* add test case

* update docs

* use local temp dir

* extend parameter visibility to GENERAL

* use SONAR_AUTH_TOKEN

* remove comments

* update generated code

* Apply suggestions from code review

* change to private fields

* use setter for sonar options & environment

* remove obsolete return statement

* add comment about Downloader mock

* add test case for custom options

* handle custom options

* refactor slice functions

* fix go fmt

* fix generated step code

* update docs
2020-03-23 10:38:31 +01:00
Florian Geckeler
2673a58a38
Add ReportAggregator to collect information about executed stages and create reports (#1291)
* Add ReportAggregator to collect information about executed stages and create reports

* ReportAggregator is used by the SAP Cloud SDK to collect information about which stages were executed,
  code coverage and many more measurements.
* based on the measurements a pdf report can be generated which can be used to get a certification by SAP
2020-03-21 18:42:27 +01:00
Stephan Aßmus
20b65d5a2e
Implement nexusUpload command and tests (#1255)
Artifacts to upload are assembled for MTA projects and Maven projects with optional application sub-module. Then maven deploy:deploy-file is used as backend to upload bundles of artifacts plus sub-artifacts.

Co-authored-by: Florian Wilhelm <florian.wilhelm02@sap.com>
2020-03-20 18:20:52 +01:00
Florian Geckeler
b39080409c
Add DownloadCacheUtils for handling download cache docker container (#1298) 2020-03-20 17:01:20 +01:00
Oliver Nocon
8fbeddb26c
Golang step metadata: Config aliases for steps (#1293)
* Golang step metadata: Config aliases for steps

This will ease following scenarios:
* config migration due to step name changes
* re-use of more general config, e.g. `mavenExecute` in `mavenBuild`

* fix CodeClimate finding

* Fix panic if original stage config does not exist yet
2020-03-19 17:24:35 +01:00
Daniel Kurzynski
4e9e31810c
Config maven in general 2020-03-17 12:09:08 +01:00
Oliver Nocon
a0223a2a0e
Fix issue with deployment related stashing in piperPipeline (#1281)
relates to #1267
2020-03-16 12:52:58 +01:00
Christopher Fenner
5b344b8b7a
use sonar-scanner 4.3.0.2102 (#1271) 2020-03-16 10:40:38 +01:00
Daniel Kurzynski
a923e4cfc2
Add maven build/install step (#1245) 2020-03-13 13:32:37 +01:00
Florian Geckeler
9a28e12d5d
Add groovy wrapper for mavenExecuteStaticCodeChecks and rename go step 2020-03-12 15:45:57 +01:00
Florian Geckeler
ed7f4831fb
Fix typo in mavenStaticCodeChecks.yaml 2020-03-10 09:59:22 +01:00
Florian Geckeler
de2909e64b
Add Maven static code checks
* add static code checks for maven based projects as:
  * pmd plugin
  * spotBugs plugin
* test modules as unit-tests and integration-tests will be ignored by default. Additional modules to ignore are configurable
* for pmd: rulesets and excludes are configurable
* for spotBugs: includeFilter and excludeFilter are configurable
2020-03-09 08:58:59 +01:00
Oliver Nocon
622d559eae
Add ServiceKey deletion to cloudFoundryDeleteService step (#1177) 2020-03-05 15:35:43 +01:00
Florian Geckeler
783d955654
Add mavenExecute to go lib 2020-02-28 13:09:46 +01:00
Marcus Holl
e10a7f20c7
xs deploy cpe inputs and outputs (#1111)
Use inputs and outputs from commonPipelineEnvironment

* mtaPath is read as input
* operationId is provided as output and read as input
2020-02-28 11:01:09 +01:00
Marcus Holl
190a4708a2
go: mta build (#1128)
move mtaBuild step from groovy to go.

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-02-25 14:33:34 +01:00
Srinikitha Kondreddy
38237eb97b
Update mta yaml file to support cloud MBT mtar deploy to neo. (#1198)
* Update schema and hcp deployer version in mta.yaml file

* Add name parameter in mta yaml file

* Rename template_mta.yml to template_mta.yaml

* Fix indentation

Co-authored-by: Oliver Feldmann <oliver.feldmann@sap.com>
Co-authored-by: Marcus Holl <marcus.holl@sap.com>
2020-02-20 14:57:50 +01:00
Oliver Nocon
fd76f721ea
Streamline implementation githubPublishRelease (#1191) 2020-02-19 09:05:53 +01:00
redehnroV
be03b3dfc1
Adjust documentation for Protecode (#1175) 2020-02-12 15:57:39 +01:00
dominiklendle
2007a94174
Add step cloudFoundryDeleteService (#1097) 2020-02-10 14:53:12 +01:00
Stephan Aßmus
c628d208c7
Implement archiving the debug report as step (#1152)
* Implement archiving the debug report as step
2020-02-07 16:30:08 +01:00
redehnroV
c37df0d55e
Adjust protecode influx parameter (#1161) 2020-02-07 14:12:40 +01:00
Marcus Holl
61442371df
Switch the default for the mta build toolset (#1157) 2020-02-07 12:20:46 +01:00
redehnroV
2ebf2010b7
Protecode as GoLang (#1119)
* Protecode as go implementation

Co-authored-by: Sven Merk <33895725+nevskrem@users.noreply.github.com>
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-02-06 16:16:34 +01:00
Daniel Mieg
2e742c7ed3
Fix formatting of documentation (#1151)
* Fix formatting of documentation

* Regenerate go files
2020-02-05 15:46:14 +01:00
Sven Merk
59e9d897bf
feat(hadolint): enable correct handling of multiple scan results (#1145)
* Add missing parameter

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

* fix code climate issues

* Update default_pipeline_environment.yml

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

* Update hadolintExecute.groovy

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-02-04 16:36:09 +01:00
Daniel Mieg
6f0bde154b
Go implementation for abapEnvironmentPullGitRepo() (#1107) 2020-02-04 11:43:27 +01:00
Stephan Aßmus
942e6dd18a Don't check for isResilient, use failOnError 2020-02-03 12:37:20 +01:00
Stephan Aßmus
6e551dfc79 Add DebugReport facility
The DebugReport is a global instance where steps can store information relevant for diagnosing failed pipelines. In the SDK Pipeline, this is used to generate a debug report within the postActionArchiveDebugLog step. The reason for adding this to Piper is to feed information about extended or overwritten stages in piperStageWrapper into the DebugReport, as was done before in the SDK Pipeline's equivalent runAsStage step.
2020-02-03 12:37:20 +01:00
Oliver Nocon
152c4dc9d2
Pass container image via CPE (#1113)
* Pass container image via CPE
* Update generated step
* update map name to better represent content
2020-01-29 16:03:18 +01:00
Christopher Fenner
92441577d8
fix(NPM): change NodeJS image to LTS (#1069)
* change NodeJS image to current LTS

* Update default_pipeline_environment.yml

* Update SonarExecuteScanTest.groovy

* use node:lts-stretch image
2020-01-29 11:17:56 +01:00
Sven Merk
cbe368fe36
Checkmarx as golang (#1075)
* Added base functionality for checkmarx interaction

* Extend http client with file upload capabilities

* Latest changes

* Add debug logging

* Introduce Uploader interface

* Add tests for checkmarx client

* Hook new checkmarx command

* Improve coverage

* Add tests

* Improved test coverage and fixed code

* Add influx reporting

* Add alternation capabilities

* Add groovy step

* Try fix cmd

* Enhancements

* Fix report generation

* Final performance improvements

* Fix code

* Structure code, cleanup

* Improvements

* Fix codeclimate issue

* Update groovy

* Adapt latest changes to http

* Fix test

* Fix http tests

* Fix test

* Fix test

* Fix test 2

* Fix code

* Fix code 2

* Fix code

* Code

* Fix

* Fix

* Add report and link handling

* Fix returns, add groovy test

* Review comments

* Added doc template

* Docs update

* Remove SAP internals

* Better status display

* Add name to link

* Fix test

* Fix

* Fix verbose handling

* Fix verbose handling 2

* Fix verbose handling 3

* Fix

* Tiny improvements

* Regenerate

* Fix test

* Fix test code

* Fix verbosity issue

* Fix test

* Fix test

* Fix test
2020-01-27 23:40:53 +01:00
Oliver Nocon
73ab887f25
Add kubernetesDeploy step (#1073)
* Add kubernetesDeploy step

Co-authored-by: Sven Merk <33895725+nevskrem@users.noreply.github.com>
2020-01-24 14:30:27 +01:00
Oliver Nocon
a46b57e6b4
Persisted pipeline environment for golang library (#1091)
* Use commonPipelineEnvironment in go binary

* Update groovy part incl. tests

* Rework structure and naming

* Support influx resources in steps

* Update tests and some cleanups

* Add correct defer handling

* Address PR feedback

* Fix test

* Update resources.go

Co-authored-by: Sven Merk <33895725+nevskrem@users.noreply.github.com>
2020-01-15 12:16:25 +01:00
Christopher Fenner
686235613c
fix(sonar): run sonar scan in NodeJS container (#1078)
* fix(sonar): run sonar scan in NodeJS container

* fix typo

* adapt tests
2019-12-20 10:51:33 +01:00
Christopher Fenner
68ef5393c7
chore(go): add schema for go metadata files (#1052)
* chore(go): add schema for go metadata files

* chore(go): use k8s container definition in schema

* chore(go): add reusable schema definitions

* chore(go): add further schema definitions

* docs(schema): add description how to use metadata schema
2019-12-17 12:45:53 +01:00
Daniel Mieg
23d7058fdd Authentication via Cloud Foundry Service Key (#1034) 2019-12-16 21:02:30 +00:00
Oliver Nocon
7597c7d228
Add step githubCreatePullRequest (#1068)
* Add step githubCreatePullRequest
2019-12-16 16:34:12 +00:00
Oliver Nocon
4f57738888
Detect: Add golang implementation (#1049)
Add detect golang implementation
2019-12-13 09:55:45 +00:00
Marcus Holl
fac10ba8bb Better parmeter nameing (credentialsId)
Ensures also backward compatibility
2019-12-12 12:41:50 +01:00
Marcus Holl
481f635e32
Adjust image pull policy property in metadata for xs deploy (#1044) 2019-12-09 08:41:00 +01:00
Marcus Holl
9ee2926018
xs deploy go (#931)
introduce xs deploy
2019-12-05 14:22:38 +01:00
Daniel Mieg
2ad57f3d19 Add step cloudFoundryCreateServiceKey (#989) 2019-12-02 14:02:51 +01:00
Christopher Fenner
d627b39ba0
fix(mta): update docker image to fix npm.sap.com ssl issue (#1021)
* fix(mta): update docker image to fix npm.sap.com ssl issue

see https://github.com/SAP/cloud-mta-build-tool/issues/611
2019-11-29 10:03:24 +01:00
Christopher Fenner
4766f102c3 fix(mta): use updated container with provided grunt-cli (#1009) 2019-11-28 09:10:03 +01:00
Oliver Nocon
8e29b70ea2
Fix parameters for githubPublishrelease (#1004) 2019-11-22 15:58:24 +01:00
Christopher Fenner
5cec21fe3b
fix: mtaBuild: avoid parameter clash (#1001)
* fix: mtaBuild: avoid parameter clash

* correct typo

* rename parameter to mtaBuildTool
2019-11-22 12:31:32 +01:00
Oliver Nocon
69bb2c9e60
Fix issues in config resolution (#1000)
* Respect defaults from step definition everywhere
* prevent empty config to overwrite default in aliasing

Address PR feedback
2019-11-22 10:30:44 +01:00
Oliver Nocon
e671094308
Use piper binary for githubPublishRelease (#990)
* Use piper binary for githubPublishRelease
2019-11-21 16:34:22 +01:00
Christopher Fenner
74d6df71ef
feat: enable mtaBuild to use cloudMBT (#970)
* enable mtaBuild to use cloudMBT

* change name to cloudMbt

* change name to cloudMbt

* use v1 of cloudMBT
2019-11-21 14:56:40 +01:00
Thorsten Duda
2568316c6e
Merge branch 'master' into pr/httpsPushArtifactSetVersion 2019-11-14 11:13:47 +01:00
Christopher Fenner
a89361449e
sonarExecuteScan: update to Sonar scanner 4.2.x (#820)
* Update to Sonar scanner 4.x.x

* switch to sonar-scanner 4.2.0
2019-11-13 09:24:36 +01:00
Shanuson
8f723caa31 Fix bug and added documentation for cloudFoundryCreateService step (#967)
* fix bug with wrong plugin parameter used
* provided default value for stash-content
* added documentation for step
2019-11-12 10:29:08 +01:00
Sven Merk
4fb5f63cfd
Merge branch 'master' into karma-fix-metadata 2019-11-08 11:30:43 +01:00
Sven Merk
92054ad8aa Fix karma metadata 2019-11-08 11:28:42 +01:00
Maximilian Lenkeit
06f63bc5de remove opa5 stash (#897)
* remove opa5 stash

* remove OPA5 test cases

* remove reference to opa5 stash
2019-11-07 11:02:27 +01:00
Oliver Nocon
a04489cd35
Add step spinnakerTriggerPipeline (#793) 2019-11-06 15:37:14 +01:00
Oliver Nocon
7b62775868
Merge branch 'master' into goGithub 2019-11-05 17:35:52 +01:00
Oliver Nocon
8587452a3c
Update resources/metadata/githubrelease.yaml
Co-Authored-By: Christopher Fenner <Christopher.Fenner@sap.com>
2019-11-05 17:29:05 +01:00
Maximilian Lenkeit
5dfc90f386 Make cobertura defaults compatible with UI5 (#941)
* tests(testsPublishResults): evaluate file pattern for cobertura

* tests(testsPublishResults): test for cobertura in UI5 projects

* feat(testsPublishResults): collect cobertura of UI5 projects by default
2019-11-05 15:33:18 +01:00
OliverNocon
1a034aea4c Update parameter names 2019-11-05 15:13:04 +01:00
OliverNocon
44473666a8 Address CodeClimate findings 2019-11-05 14:46:45 +01:00
OliverNocon
50153f42c7 Add tests 2019-11-05 14:37:44 +01:00
OliverNocon
4302066327 Merge master 2019-11-04 16:11:13 +01:00
OliverNocon
6256a0b9aa Update githubPublishRelease 2019-11-04 16:07:30 +01:00
Marcus Holl
5b2d3a1663
Version command for piper go (#922) 2019-10-31 13:57:29 +01:00
Maximilian Lenkeit
a5548ab443 Add UI5 artefacts to default stash configuration (#896)
* consider ui5.yaml as build descriptor
* add common ui5 artefacts to tests stash
2019-10-30 08:21:34 +01:00
Daniel Kurzynski
462c293c9c User piper docker images (#920) 2019-10-25 17:49:54 +02:00
Oliver Nocon
d053653a93
Add golang implementation for karma tests (#919)
* Provide golang based karma step
2019-10-25 14:58:59 +02:00
Shanuson
8cfac8d43f new step cloudFoundryServiceCreate (#892)
# Changes
This PR adds a new step: cloudFoundryServiceCreate

There is a cf community plugin [Create-Service-Push](https://github.com/dawu415/CF-CLI-Create-Service-Push-Plugin) available to apply infrastructure as code  to Cloud Foundry. The plugin uses a manifest.yml to create services in a targeted CF space. 

The proposed step provides an interface to this plugin. 

Already done:
- [x] Tests
- [x] Documentation

Further actions:
- a Refactoring: Move varOptions and varsFileOption code into a class and make us of this here and in cloudFoundryDeploy step. -> Is it ok to use the CfManifestUtils, or add it as a new class to variablesubstitiion package? 
- enhance the s4sdk cf cli docker image to include the plugin.
2019-10-22 11:15:03 +02:00
Marcus Holl
8b26406fc7
Provide additional opts for cf deploy (#872)
* Provide additional opts for cf deploy

Inside cloudFoundyDeploy we use these cf commands

 o login
 o plugins
 o blue-green-deploy
 o push
 o deploy
 o bg-deploy
 o stop
 o logout

 o logout and stop does not provide any options
 o plugins provides options (--checksum --outdated) but it is unlikely that
   these options can be used in a reasonable way during the deploy process.
 o login now uses `loginOpts`
 o The other commands uses now `deployOpts`

* provide additional opts also for cf api calls

* Provide more log when verbose

* re-use mtaDeployParameters and adjust names of other params (api, login) accordingly

* Streamline naming

* distinuish between cfNative and mta deploy params

* Add cfNativeDeployParam default

* login and api paramters are not under cloudFoundry
2019-10-02 13:28:54 +02:00
Marcus Holl
e54f18e6bc
Introduce xsDeploy step (#749)
Introduce xs deploy
2019-09-11 13:42:38 +02:00
Christopher Fenner
f3f4c741be
sonarExecuteScan: add custom certificate support (#819)
* feat(sonar): load TLS certificates

* allow verbose property

* handle whitespaces

* cleanup

* disable default verbosity on wget

* correct test file name

* add test case for custom certificates

* import StandardCharsets

* change cleanup

* correct pull-request provider name

* correct pull-request provider name

* correct pull-request provider name
2019-08-11 22:42:34 +02:00
Sven Merk
b1b480a7e1
Merge branch 'master' into whitesourceExecuteScan 2019-07-19 14:28:26 +02:00
tobiaslendle
cb245b1ce2 TMS integration (#782) 2019-07-18 15:06:11 +02:00
Christopher Fenner
5bf7cda940
add new step piperPublishNotifications (#652)
* add new step for notification publication

* add test cases

* add helper method

* correct import

* Update pom.xml

* add step to post section

* add step piperPublishNotifications

* move step to end of pipeline to gather all findings

* use handlePipelineStepErrors step

* use commonPipelineEnvironment

* correct reporting

* add configuration

* fix typos

* fix rule setup

* remove test scope

* add method to fetch full build log

* add methods for warnings-ng parser creation

* remove warnings plugin coding

* add default parser settings

* change parameter handling for parser creation

* adapt step

* fix parser creation

* use ParserConfig.contains

* use correct parameter name

* correct parser regex

* change issue creation

* use classloader

* fix typo

* Revert "fix typo"

This reverts commit 446a201ae4.

* Revert "use classloader"

This reverts commit a896487032.

* rename step to piperPublishWarnings

* extract recordIssuesSettings to defaults

* make addWarningsNGParser non-static

* remove node

* adjust test case

* add docs

* rename log file

* fix tests

* fix typos

* rename parameter

* add import for IOUtils

* check plugin activation

* add comment for class loader usage
2019-07-18 12:09:54 +02:00
Sven Merk
a5170bb878
Merge branch 'master' into whitesourceExecuteScan 2019-07-18 09:50:38 +02:00
Oliver Nocon
be33eccbec
Take proper jnlp image as default for Kubernetes execution (#759)
* Take proper jnlp image as default for Kubernetes execution

Following changes are contained:

* removal of custom jnlp image as default
* allow customization of jnlp image via system environment

fixes #757

* add documentation
2019-07-17 12:01:24 +02:00
Sven Merk
1d5b08f057
Update default_pipeline_environment.yml 2019-07-17 09:25:30 +02:00
Marcus Holl
30c632f29a rename debug to verbose et al. 2019-07-16 16:01:43 +02:00
Marcus Holl
2f7fa6e4a4 Provide defaults 2019-07-16 15:45:08 +02:00
Marcus Holl
be929e6c10 Enable git push via https for artifactSetVersion 2019-07-12 13:42:16 +02:00
Sven Merk
a945823075
Merge branch 'master' into whitesourceExecuteScan 2019-07-11 10:56:47 +02:00
Andre Pany
0e990446fc whitesourceExecuteScan: Add scanType dub 2019-07-11 06:17:30 +02:00
Sven Merk
cdc5d3dc7a
Update default_pipeline_environment.yml 2019-07-09 13:38:30 +02:00
Sven Merk
215824b05f
Update default_pipeline_environment.yml 2019-07-09 12:13:28 +02:00
Oliver Nocon
225cf2485b
Docker Pipeline - fixes and small adoptions (#779)
* buildExecute: Docker case - minor fixes
* properly care for empty `containerBuildOptions`
* verbose output wrt stashing
* add stage ordinals
* fix wrong script reference
* fix null reference
* adapt stage defaults and allow bats tests
* propagate github org and repo
* add test for bats
2019-07-05 16:32:24 +02:00
andre2007
8f1b3e376c pipelineStashFiles: Add *.d, *.di (#774) 2019-07-05 15:58:22 +02:00
andre2007
fc5cf8a54f pipelineStashFiles: Add dub.json/dub.sdl to buildDescriptors (#761) 2019-07-04 11:08:32 +02:00
andre2007
44f745d327 Rename dlang to dub (#762) 2019-07-03 11:27:07 +02:00
Oliver Nocon
9e539e68ee
Piper pipeline - enhance stages (#755)
* fill PRVoting stage with content
* add prVoting stage incl. tests
* add Build stage incl. Tests
* add docs pages
* add additional unit test stage
* add acceptance stage and additional documentation ...
* add release stage content
* add promote stage
* add Security stage, fix defaults for Promote stage
* fix issue in doc generation
2019-07-03 10:13:26 +02:00
andre2007
36c029b344 Add dubExecute step (#754)
* Add dubExecute step
* Fix test
2019-06-19 16:52:18 +02:00
Sven Merk
111080cbfe Add new step for Dockerfile linting (#723)
* Add new step for Dockerfile linting

* Add documentation template file

* Remove newlines

* Remove internal URL

* Rephrase comment

* Ammend stash

* Fix test

* move dockerImage to general

* use explicit curl options

* small changes

* small changes

* skip GIT blame

* First comments

* Also add remark to URL parameter

* Second set of comments

* Fix return code handling

* Switch type to set

* Revert unrelated changes

* Avoid modification of config

* add quality gate defaults

* Update hadolintExecute.groovy

* fix code climate issue
2019-06-04 08:01:43 +02:00
Marcus Holl
56b651dbe9 Merge remote-tracking branch 'github/master' into HEAD 2019-05-24 14:26:07 +02:00
Marcus Holl
4cb80f9c6d Add default for extensions for neo deploy in piper default config 2019-05-24 14:25:46 +02:00
Marcus Holl
c053dbca17 Add test null provided via signatur for extensions (also inside collection) 2019-05-24 13:55:29 +02:00
Marcus Holl
35e76fca9b provide default for extensions in default config yml 2019-05-24 12:24:25 +02:00
Oliver Nocon
dbf110504e
Templates - Add advanced confirm stage (#720)
* Templates - Confirm Stage
* include feedback: allow customizing of default message
* adapt docs
* add default message
2019-05-22 10:42:59 +02:00
Christopher Fenner
c8f9db71eb
add step for Sonar scan (#183)
* add new step sonarExecute

* simplify list

* add general credentials for SonarQube

* Update default_pipeline_environment.yml

* Update sonarExecute.groovy

* correct worker invocation

* switch step/stage config order

* add tests

* add webhook handling

* Update default_pipeline_environment.yml

* use withMandatoryProperty with condition

* Update ConfigurationHelper.groovy

* Update sonarExecute.groovy

* Update ConfigurationHelper.groovy

* rename step to sonarExecuteScan

* rename step to sonarExecuteScan

* rename step to sonarExecuteScan

* Update sonarExecuteScan.groovy

* change return type

* Update sonarExecuteScan.groovy

* stash

* update defaults

* update install path

* use quiet unzip

* use long option names

* optimize filename retrival

* rework PR voting

* fix path

* remove accitentially checked-in file

* add documentation, optimise coding

* correct test case

* add documentation

* remove option prefix

* rename config variable

* update docs

* update docs

* rename download url

* fix typo

* adjust test cases

* add test cases

* update docs
2019-05-13 12:29:07 +02:00
Christopher Fenner
8a55e25f72
add Slack notification to Init and Post stage (#691)
* add Slack notification to post stage

* add Slack notification to init stage

* add trigger condition for Slack notification

* fix whitespaces

* use capital stage name

* add tests for init stage

* remove unused import

* add tests for post stage

* minor changes

* fix typo
2019-05-10 06:47:44 +02:00
Oliver Nocon
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 Nocon
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 Nocon
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
shellmann
bbdb719313 Add Ruby (bundler) support for gaugeExecuteTests (#580)
* Add Ruby (bundler) support for gaugeExecuteTests
Including seleniumExecuteTests.
* Empty the dockerWorkspace attribute for bundler
2019-04-15 13:21:32 +02:00
Alejandra Ferreiro Vidal
86978becfc remove utils.getMandatoryParameter() 2019-04-09 16:25:25 +02:00
Oliver Nocon
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
Sven Merk
259619f00f
Merge branch 'master' into whitesource-step 2019-04-04 16:06:51 +02:00
Oliver Nocon
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
Sven Merk
8fc6eb5219 Fix time displayed in report 2019-04-03 12:31:40 +02:00
Sven Merk
1fe05b8a56
Merge branch 'master' into whitesource-step 2019-04-03 12:19:34 +02:00
Oliver Nocon
24563db155
update stashing behavior (#628)
* update stashing behavior

close #619

* add test
2019-04-02 13:13:25 +02:00
Sven Merk
c82bcc9c86 Addressed feedback 2019-03-29 13:58:41 +01:00
Sven Merk
eab1dacde6 Fix stashes 2019-03-27 12:58:54 +01:00
Sven Merk
9466beec42 Fix tests 2019-03-26 17:45:29 +01:00
Sven Merk
b2929a9070 Fix path 2 2019-03-26 17:26:09 +01:00
Sven Merk
957bad0d45 Fix path 2019-03-26 17:22:51 +01:00
Sven Merk
8adf183395 Fix quoting 2019-03-26 17:16:44 +01:00
Sven Merk
9184102295 Fix string 2019-03-26 17:05:12 +01:00
Sven Merk
8725f28ed6 Switch image, dep on the fly 2019-03-26 17:00:13 +01:00
Sven Merk
5ae1f40983 Switch image 2019-03-26 15:23:58 +01:00
Sven Merk
56ae339d9c Switch working directory 3 2019-03-26 09:36:59 +01:00
Sven Merk
b36ad6d8d3 Switch working directory 2 2019-03-25 17:02:46 +01:00
Sven Merk
514e3f7c84 Switch working directory 2019-03-25 16:47:51 +01:00
Sven Merk
630150d481 Switch to dep image 2019-03-25 16:15:57 +01:00
Sven Merk
cbc81acaa5 Refactor stash 2019-03-25 14:00:57 +01:00
Sven Merk
6fbf659553 Extend build descriptor stash for glide 2019-03-25 11:00:24 +01:00
Sven Merk
8470e14aed Fix Go image 2019-03-22 13:50:11 +01:00
Sven Merk
991dd5ec51
Merge branch 'master' into whitesource-step 2019-03-22 11:58:01 +01:00
Sven Merk
8da169d2a8 Enable golang 2019-03-22 11:55:50 +01:00
Sven Merk
be814c62aa Included comments refactored docu generation 2019-03-21 13:25:22 +01:00
Marcus Holl
3f8498e4dd Merge remote-tracking branch 'github/master' into HEAD 2019-03-21 10:43:27 +01:00
Christopher Fenner
80d288ae57
handlePipelineStepError: use ConfigurationHelper (#556)
* use ConfigurationHelper in handlePipelineStepError

* externalise help url
2019-03-20 11:21:06 +01:00
Holger Partsch
94957e2b54 Make K8S integration more configurable (#552)
* Define pod using k8s yaml manifest

The Kubernetes plugin allows to define pods directly via the Kubernetes
API specification:
https://github.com/jenkinsci/kubernetes-plugin#using-yaml-to-define-pod-templates

This has the advantage of unlocking Kubernetes features which are not
exposed via the Kubernetes plugin, including all Kubernetes security
featues.

Using the Kubernetes API directly is also better from development
point of view because it is stable and better desgined then the API the
plugin offers.

* Make the Kubernetes ns configurable

If one Jenkins Master is used by multiple Teams, it is desirable to
schedule K8S workloads in seperatae workspaces.

* Add securityContext to define uid and fsGroup

In the context of the Jenkins k8s plugin it is uids and fsGroups play an
important role, because the containers share a common file system.

Therefore it is benefical to configure this data centraly.

* fix indention

* Undo format changes

* Extend and fix unit tests

* Fix port mapping

* Don't set uid globally

This does not work with jaas due to permissions problems.

* Fix sidecar test

* Make security context configurable at stage level

* Extract json serialization

* Cleanup unit tests
2019-03-20 10:07:37 +01:00
Marcus Holl
24cd9400d7 create transport request SOLMAN with docker 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
Sven Merk
43cb2c68cf Merge branch 'whitesource-step' of https://github.com/SAP/jenkins-library into whitesource-step 2019-03-15 13:22:05 +01:00
Sven Merk
1a04394a00 Ensure report severity limit is based on configuration 2019-03-15 13:21:56 +01:00
Sven Merk
bb31060dad
Merge branch 'master' into whitesource-step 2019-03-15 13:16:29 +01:00
Marcus Holl
201b075cb5 Merge remote-tracking branch 'github/master' into HEAD 2019-03-13 14:36:34 +01:00
Sven Merk
cfc3a1528a Implement comments 2019-03-06 14:03:00 +01:00
Sven Merk
6a907cff23 Add creation capabilities for whitesource products 2019-03-06 13:12:23 +01:00
Sven Merk
93b3afe67d Add default for whitesource backend URL 2019-03-06 12:16:51 +01:00
Sven Merk
f7f33f38ac Address comments 2019-03-06 11:04:49 +01:00
Sven Merk
53491ce956 Cleanup and alignment with internal step 2019-03-05 13:59:40 +01:00
Marcus Holl
42d57479d9 Verbose flag for transport request release 2019-03-05 12:35:28 +01:00
Marcus Holl
ad3e0f86d1 Verbose flag for transportRequestCreate 2019-03-05 10:29:23 +01:00
Sven Merk
863831c9b3 Move to python image containing curl 2019-03-04 15:30:50 +01:00
Sven Merk
05fe2fb758 Cleanup 2019-03-04 14:40:17 +01:00
Sven Merk
fc9adfd536 Added stylesheet for report rendering 2019-03-04 11:52:57 +01:00
Sven Merk
2c00d8cdd0 Switching to official docker images + fixing tests 2019-03-04 11:47:04 +01:00
Sven Merk
617256cc09 Switching to official docker images 2019-03-04 11:46:44 +01:00
Sven Merk
29a54db7c8 Addressing PR feedback 2019-03-04 11:46:20 +01:00
Christopher Fenner
2094d95fcc
fix indentation 2019-03-01 15:35:08 +01:00
Sven Merk
14700ba210 Initial checkin of new whitesource step 2019-02-28 13:01:30 +01:00
yemengsap
38c5a0d779 Add npmExecute step (#491) 2019-02-21 19:14:48 +01:00
Florian Wilhelm
ada3ed909d
Don't print messages in all uppercase letters (#531) 2019-02-21 15:46:17 +01:00
Marcus Holl
827d8aa32d imagePull --> pullImage 2019-02-19 11:35:03 +01:00
Marcus Holl
15102feec2 provide defaults for unixLineEnding, codePage 2019-02-19 11:22:33 +01:00
Marcus Holl
546db7f3f3 Provide verbose flag. 2019-02-15 13:58:11 +01:00
Marcus Holl
a375cc75a5 Provide flag failUploadOnWarning
in order to be able to survive uploads which are basically successful, but
with warning(s).
2019-02-15 13:58:11 +01:00
Florian Wilhelm
d2b6be4e25
Configure default mta build image to ppiper/mta-archive-builder (#515) 2019-02-15 13:48:34 +01:00
Oliver Nocon
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
Marcus Holl
dc1dfd622c docker params as map for fileUpload 2019-02-12 15:22:22 +01:00
Marcus Holl
9305a52d0f Merge remote-tracking branch 'github/master' into HEAD 2019-02-08 12:38:59 +01:00
Christopher Fenner
d657f0dc28
testsPublishResults: add option to fail the build on test errors (#472)
* add option to fail the build on test errors

* fix typo

* add test cases

* adjust docs

* set build result

* add hasTestFailure utils method

* use utils method

* use dedicated type

* adapt tests

* handle missing test actions

* Update testsPublishResults.md

* Update JenkinsUtils.groovy

* Update JenkinsUtils.groovy

* Update JenkinsUtils.groovy

* remove comments

* adapt test case

* Update TestsPublishResultsTest.groovy
2019-02-08 12:30:59 +01:00
Marcus Holl
1b202f879a Provide flag for skipping docker image pulls (#407)
* Provide flag for skipping docker image pulls

Usefull for testing while developing images. Without pulling images it is possible to
use images available in the local registry only.
2019-02-06 08:48:33 +01:00
Oliver Nocon
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 Nocon
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
Marcus Holl
5302d1d7b1 Merge remote-tracking branch 'github/master' into work 2019-01-31 09:55:21 +01:00
Oliver Nocon
3b2e42c74f
Add step containerExecuteStructureTest (#441)
* add step containerExecuteStructureTest
* include PR-review feedback
* documentation
2019-01-31 09:39:13 +01:00
Christopher Fenner
bca5b8ccf1
Add step uiVeri5ExecuteTests (#469)
* add defaults for uiVeri5 step

* add step and tests

* correct parameter names

* add empty docs

* add docs annotations

* remove not needed parameter

* add docs annotations
2019-01-31 09:16:34 +01:00
Marcus Holl
661745fd81 Merge remote-tracking branch 'github/master' into HEAD 2019-01-30 15:01:09 +01:00
Daniel Kurzynski
6e26d78047
Improve neo deploy (#440)
The following features were added:
Lock resources for deployment
New parameters: environment, vmArguments
Assert password does not start with @
Link to cloud cockpit
Only execute rolling update if app is running
Show logs if deployment failed
Restart app after normal deployment
Use neo namespace for parameters
Align parameter names with neo sdk: size, application, source
Remove vmSize check as done by the tool itself
2019-01-28 11:32:24 +01:00
Marcus Holl
50fea23d2f Merge remote-tracking branch 'github/master' into HEAD 2019-01-24 08:04:55 +01:00
Florian Wilhelm
bb3763bf32 Hint about api in defaut environment 2019-01-23 11:35:18 +01:00
Marcus Holl
cca46d509b Upload binaries to transport requests via RFC 2019-01-18 10:26:03 +01:00
Oliver Nocon
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 Nocon
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 Nocon
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
Florian Geckeler
32e20a7293
Provide option to Stop and not delete old instance on BlueGreenDeploy (#394)
* Provide option to Stop and not delete old instance on BlueGreenDeploy
* Default is still delete old instance 

Closes #323
2018-11-27 11:47:44 +01:00
Christopher Fenner
ddc40044a2
karmaExecuteTests: extend default proxy excludes and stashes (#389)
* extend default proxy excludes

* Update karmaExecuteTests.md
2018-11-19 10:54:14 +01:00
Oliver Nocon
d65a010158
testsPublishResults: Make jUnit pattern more universal (#386)
* Make jUnit pattern more universal
* update documentation & test
2018-11-16 08:57:09 +01:00
Christopher Fenner
9a1ab37c0b
add new step karmaExecuteTests (#351)
* add new step for karma execution

* add defaults

* Update karmaExecuteTests.groovy

* add key comments

* add test case

* docs

* add step docs

* add step docs

* Update karmaExecuteTests.md

* complete docs

* Update karmaExecuteTests.md

* init `script` the "new way"

* Update karmaExecuteTests.groovy

* Update karmaExecuteTests.groovy
2018-11-08 12:15:15 +01:00
Christopher Fenner
aa5ad1c0d1 dockerExecute: handle stashContent (#332)
* handle stashed content
* add utils
2018-11-05 11:24:25 +01:00
Oliver Nocon
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
Marcus Holl
5cdd1129a0 Merge remote-tracking branch 'github/master' into HEAD 2018-10-25 08:38:48 +02:00
Christopher Fenner
dabbc724ad
handlePipelineStepErrors: extract error message to template (#350)
* add template for handleStepErrors

* add tests

* use template

* fix indent

* fix typo

* Update HandlePipelineStepErrorTest.groovy

* Update HandlePipelineStepErrorTest.groovy
2018-10-24 13:36:30 +02:00
Christopher Fenner
48990bac47
dockerExecute: use docker network to connect sidecar containers (#352)
* use docker network to connect containers

* add container names

* use network-alias instead of name

* Update dockerExecute.groovy

* Update dockerExecute.groovy

* Update dockerExecute.groovy

* Update dockerExecute.groovy

* Update DockerExecuteTest.groovy

* remove obsolete parameter

* Update default_pipeline_environment.yml

* Update DockerExecuteTest.groovy

* Update dockerExecute.groovy

* Update DockerExecuteTest.groovy

* Update dockerExecute.groovy

* update docs
2018-10-24 10:13:28 +02:00
Marcus Holl
a2393c3f92 merge remote-tracking branch 'github/master' into HEAD 2018-10-23 09:08:59 +02:00
Oliver Nocon
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 Nocon
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 Nocon
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 Nocon
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 Nocon
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
Marcus Holl
0e6f44a4ed Switch default for changeManagement.type to NONE
before we had SOLMAN.
2018-09-28 14:16:20 +02:00
Marcus Holl
80572f8569 Backend type in default configuration. 2018-09-18 14:48:47 +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
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
Oliver Nocon
be1d97cb5a cloudFoundryDeploy - update stshing behavior
adapt stashing behavior according to #230
2018-08-15 09:46:08 +02:00
Christopher Fenner
059268459a
Merge branch 'master' into CCFenner/newman 2018-08-09 10:34:00 +02:00
Oliver Nocon
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
Christopher Fenner
240df88882
add stashing & private test repositories 2018-08-08 11:22:08 +02:00
Oliver Nocon
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 Nocon
745b6d471d
fix issue with resource naming conflict (#234) 2018-07-30 12:06:35 +02:00
Oliver Nocon
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
rodibrin
9e547cd605
Merge branch 'master' into pr/neoimage 2018-07-26 10:04:20 +02:00
Roland Stengel
b7e355bca8 config neo docker image 2018-07-25 15:23:56 +02:00
Marcus Holl
f16d5c766b Merge remote-tracking branch 'github/master' into HEAD 2018-07-25 12:26:20 +02:00
Marcus Holl
3effe404b0 Merge remote-tracking branch 'github/master' into HEAD 2018-07-19 08:54:57 +02:00