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

3726 Commits

Author SHA1 Message Date
Kevin Hudemann
139e34cd37
Extend conditions for step and stage activation (#1955)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-08-27 15:49:09 +02:00
rosemarieB
c6e409dfd9
New step: abapEnvironmentAssemblePackages (#1884)
* adding my steps

* messy step

* Update abapEnvironmentAssembly.go

* clean up

* change yaml

* corrections

* Update cloudFoundryDeploy.go

* update

* delete simulation step

* remove simulate

* Update PiperGoUtils.groovy

* Update PiperGoUtils.groovy

* Update CommonStepsTest.groovy

* add docu

* Update abapEnvironmentAssembly.md

* changes due to PR

* Update .gitignore

* b

* CV list

* Update abapEnvironmentAssembly.go

* testing with simulation

* Update abapEnvironmentAssembly.go

* remove simulation

* renaming

* Update mkdocs.yml

* moving service key to yaml and fixing code climate

* Update abapEnvironmentAssemblePackages.go

* Update abapEnvironmentAssemblePackages.go

* Update abapEnvironmentAssemblePackages.go

* Update abapEnvironmentAssemblePackages.go

* change input

* Update abapEnvironmentAssemblePackages.go

* change json tag

* fixed error handling

* documentation

* Update abapEnvironmentAssemblePackages.md

* Update abapEnvironmentAssemblePackages.md

* fixing code climate issues

* fixing code climate issues

* Update abapEnvironmentAssemblePackages.yaml

* fixing code climate issues

* Update abapEnvironmentAssemblePackages.yaml

* adding unittests

* adding unittests and improved logging

* yaml -> json

* change scope of cfServiceKeyName

* correct indentation

* Update CommonStepsTest.groovy

* maintain correct step order

Co-authored-by: Daniel Mieg <56156797+DanielMieg@users.noreply.github.com>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-08-27 07:54:03 +02:00
Daniel Mieg
cf4c7fd893
Correction in abaputils (#1958)
* Fix

* Adapt errors

* Consider unexpected JSON

* defer closing the response body

* Add comments to explain function

* Improve assert statements semantically

* Change comment format due to CodeClimate

* Extract sub function
2020-08-26 16:45:09 +02:00
Stephan Aßmus
8169d56ef7
Groovy: Load step defaults also from stages section in defaults (#1943)
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-08-26 15:32:58 +02:00
Dominik Lendle
c2b4ed819b
Atc check extension and more user-friendly displays of results (#1951) 2020-08-26 14:09:00 +02:00
Daniel Mieg
13e5a943b2
Add groovy file and documentation for cloneGitRepo step (#1954)
* Add groovy file and documentation

* Add quotes to docu

* Fix request
2020-08-26 09:52:50 +02:00
Stephan Aßmus
46284d8f34
Add optional wrapper for cloudFoundryDeploy go-implementation (#1952)
Co-authored-by: Kevin Hudemann <kevin.hudemann@sap.com>
2020-08-24 18:10:45 +02:00
Sacha Droste
f6f85342b7
fix(helm): Remove double deployment of helm charts (#1947)
* Remove double deployment of helm charts

* Adapt unit test

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-08-24 16:05:05 +02:00
veiththomas
48620c3f49
fix(sonar): add default trust store password to SONAR_SCANNER_OPTS (#1941)
* add trustStorePassword to SONAR_SCANNER_OPTS

-Djavax.net.ssl.trustStorePassword=changeit has to be provided to the SONAR_SCANNER_OPTS otherwise we get a 

ERROR: SonarQube server [https://sonar.wdf.sap.corp] can not be reached on our new jenkins server
Caused by: javax.net.ssl.SSLException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

we tried to inject via "options" variable of the sonarExecuteScan task, but seems it is not recognized as it is overwritten by the SONAR_SCANNER_OPTS defined in this file.

* adapt tests

* Update sonarExecuteScan.go

* Update sonarExecuteScan_test.go

* Update sonarExecuteScan.go

* Update sonarExecuteScan_test.go

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-08-24 14:39:45 +02:00
Dominik Lendle
a0bed00fad
ATC remove wait time (#1953) 2020-08-24 11:01:16 +02:00
rosemarieB
67feb87b80
Update abaputils.go (#1949)
* Update abaputils.go

* changed to versionYAML

Co-authored-by: Daniel Mieg <56156797+DanielMieg@users.noreply.github.com>
2020-08-21 16:02:46 +02:00
Daniel Mieg
04b8a5cbd7
Add golang step for abapEnvironmentCloneGitRepo (#1921)
* Add yaml

* Initial files

* Add inital functions

* Create Test file

* Initial trigger clone function

* Add command

* Adapt manageGitRepositoryUtils

* Enable Repositories yaml

* Add handleHttpError Tests

* Adapt CodeClimate Feedback

* Add tests for error messages

* Adapt error messages and handling

* Adapt gitignore
2020-08-21 14:49:48 +02:00
Oliver Nocon
115025ce4b
versioning: fix panic when using go.mod (#1938)
```
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x9830a6]
goroutine 1 [running]:
github.com/SAP/jenkins-library/pkg/versioning.searchDescriptor(0xc00067c060, 0x2, 0x2, 0x0, 0x0, 0xc0006549c0, 0xc0006413a0, 0x982ce0)
/home/runner/work/jenkins-library/jenkins-library/pkg/versioning/versioning.go:156 +0x76
github.com/SAP/jenkins-library/pkg/versioning.(*GoMod).GetVersion(0xc0006549c0, 0x6, 0x18089f1, 0x6, 0xc000664a80)
/home/runner/work/jenkins-library/jenkins-library/pkg/versioning/gomodfile.go:52 +0x18a
...
```
2020-08-20 12:39:41 +02:00
Oliver Nocon
a2ce194301
fix: whitesource & checkmarx (#1932)
* whitesourceExecuteScan: add missing parameter mappings

* add checkmarx stash

* allow overriding dependency resolution setting

* allow overriding dependency resolution setting

* remove unnecessary annotation which leads to error.
2020-08-20 12:24:36 +02:00
Oliver Nocon
b18bcee533
artifactPrepareVersion: improve error categorization (#1936)
* artifactPrepareVersion: improve error categorization

* Update getConfig.go

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-08-19 20:20:00 +02:00
Stephan Aßmus
07b5142417
Fix cloudFoundryCreateService parameter scopes (#1935) 2020-08-19 19:20:52 +02:00
Dominik Lendle
25c599b03b
Implementing cfCreateService in Golang (#1649)
* 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

* PR commit

* Go generator

* Code Climate fixes

* Code Climate fixes

* Code Climate fixes

* Removed existing groovy tests

* Added cfCreateService to fieldRelatedWhiteList

* Remarks

* added file checking

* tests adapted

* Changed to execRunner

* Removed workingDir definition

* Removed workingDir definition

* Removed workingDir definition

* Added default

* Added aliases

* Changing to CFUtils Exec Runner

* Change defaults

* Removed trailing spaces

* Refactoring and test changes

* Added manifest file default & re-arranged defer func

* TestFiles creation added

* Changed alias values

* Corrected defer logout err return

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-08-19 10:17:27 +02:00
Daniel Mieg
dc9e04f7ee
Adapt documentation of ABAP Environment Pipeline (#1928)
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-08-18 10:38:14 +02:00
Oliver Nocon
ab64219ac4
kubernetesDeploy - improve helm parameter handling (#1931)
* kubernetesDeploy - improve helm parameter handling

* blur secret and update docs

* add support for values

* Update resources/metadata/kubernetesdeploy.yaml

* Update resources/metadata/kubernetesdeploy.yaml

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

* Update resources/metadata/kubernetesdeploy.yaml

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

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-08-18 07:32:36 +02:00
Oliver Nocon
9d2621505b
kubernetesDeploy - fix & updates (#1926)
* kubernetesDeploy - updates

* add debugging output

* fix type checking

* remove debugging output

* fix secret info

* fix tests

* Update vars/commonPipelineEnvironment.groovy

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

* Update vars/commonPipelineEnvironment.groovy

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-08-14 17:16:25 +02:00
Kevin Hudemann
ce96c379ef
Add mavenExecuteIntegration and writeTemporaryCredentials to piperPipelineStageIntegration (#1927)
This change add the support for running integration tests using the
recently introduced step mavenExecuteIntegration in
piperPipelineStageIntegration. In addition, capabilities to provide
temporary credentials to these tests is added using the
writeTemporaryCredentials step.
2020-08-14 15:22:05 +02:00
rosemarieB
0b805bac24
Addon descriptor (#1925)
* adding ReadAddonDescriptor

* Update abaputils_test.go

* Update abaputils.go

* Update abaputils.go
2020-08-14 10:04:06 +02:00
Stephan Aßmus
b1a0cb089c
piper: Use stageName from parametersJSON, log value and source (#1920)
stageName from parametersJSON was ignored up until now and there was a TODO in the code. The precedence from the TODO is not clear to me. It said "first env.STAGE_NAME, second: parametersJSON, third: flag". So maybe I implemented it wrongly, but it would be easy to change. Right now, STAGE_NAME is always in the ENV when piper is called from Jenkins, but to mimic the behavior of being able to pass `stageName` in the parameters and override the ENV value, this is what happens in go as well now.

The reason why `stageName` needs to be evaluated before other step parameters is that it affects config evaluation. So I've added a function which is called first in `PrepareConfig()`.
2020-08-13 17:55:12 +02:00
Stephan Aßmus
6a71feeafd
Align stage name (#1922)
* Set env.STAGE_NAME to stageName from params
* Revert #1796
2020-08-13 17:01:22 +02:00
rosemarieB
0b47748386
Add utils function for addon descriptor (#1919)
* adding ReadAddonDescriptor

* Update abaputils_test.go
2020-08-13 09:48:40 +02:00
Oliver Nocon
c6ffb23fdf
type error: avoid message Error: <nil> (#1918) 2020-08-12 15:41:29 +02:00
Christopher Fenner
173b453d84
refactor(protecode): add explicit parameter for Docker config.json file (#1914)
* add dedicated property to handle docker config file

* switch to dockerConfigJSON in groovy

* use DockerConfigJSON

* add secret reference

* Update protecode.yaml

* Update protecode.yaml

* improve docs

* update generated sources
2020-08-12 14:57:11 +02:00
Christopher Fenner
6a76adf5ff
refactor(protecode): align Docker config.json parameter name (#1915) 2020-08-12 11:31:09 +02:00
Stephan Aßmus
5338ea1476
fortifyExecuteScan: Make URL parameters more robust (#1900) 2020-08-11 18:07:06 +02:00
Kevin Hudemann
771bfd0cf2
Remove sapNpmRegistry (#1909)
The SAP NPM registry has been migrated to the default public registry,
thus the separate configuration with the sapNpmRegistry is not required
anymore.
All packages from npm.sap.com have been migrated to npmjs.org
and in the future SAP packages will only be available from the default
public registry.
2020-08-11 15:58:39 +02:00
Stephan Aßmus
54444c7e33
fortifyExecuteScan: Fix polling project status (#1908) 2020-08-11 15:29:00 +02:00
Christopher Fenner
9340729646
chore(protecode): be more verbose about docker credentials (#1911)
* log more information about docker credentials

* remove println

* fix format issues

* Update protecodeExecuteScan.go

* correct weird space characters

* add test case for correctDockerConfigEnvVar
2020-08-11 14:42:08 +02:00
Oliver Nocon
70d8c21525
Update README.md 2020-08-11 12:01:39 +02:00
Oliver Nocon
1a7de49cad
compliance with reuse (#1910) 2020-08-11 11:53:42 +02:00
Christopher Fenner
a5b59d612d
docs: remove outdates prerequisites from Protecode step (#1905)
* remove outdates prerequisites

* fix code climate issue
2020-08-11 11:31:40 +02:00
Florian Wilhelm
324f854814
Rewrite nexus 3 Integration Tests (#1902)
This commit adapts nexus 3 integration tests to our new docker-based framework of writing IT. It makes individual tests easier to read and debug. One significant change is that each test now spawns a separate Nexus instance, which requires more memory, but also isolates the tests better.
2020-08-11 10:28:03 +02:00
Kevin Hudemann
806f7c8a09
Add groovy wrapper for TemporaryCredentialsUtils (#1906)
This change adds the groovy step writeTemporaryCredentials, in order to
avoid resolving configuration parameters within the piperPipelineStageIntegration
in the future.
For the integration tests functionality provided by the SAP Cloud SDK
Pipeline it needs be possible to configure a credential id pointing to
Jenkins credentials, which are then temporarily written to a file to be
available during the execution of the integration tests.
With the previous implementation solely in the TemporaryCredentialsUtils
class, it would be required to resolve the credentialId from the
configuratuion within the piperPipelineStageIntegration, once we fully
migrate the Cloud SDK integration tests stage.
2020-08-10 17:54:03 +02:00
Daniel Mieg
7ea5b09555
Improve tests for cf steps (#1875)
* Improve Tests for cf steps:
CreateServiceKey and Delete Service

* Fix CodeClimate issues

* Adapt descriptions

* Defer logout
2020-08-10 11:08:34 +02:00
Florian Wilhelm
b80581f98c
Simplify mta IT (#1901) 2020-08-08 09:09:32 +02:00
Christopher Fenner
8aa93a3177
docs: remove colon from headlines (#1896) 2020-08-07 22:10:43 +02:00
Christopher Fenner
a7213587cb
refactor(protecode): remove unused parameter (#1899)
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-08-07 18:59:50 +02:00
Kevin Hudemann
415efb066a
Add TemporaryCredentialsUtils (#1894)
This change adds a utils class to write credentials specified in Jenkins to a
temporary file, to be used for the execution of, e.g., integration tests
as already available in Cloud SDK Pipeline.
2020-08-07 16:12:34 +02:00
Christopher Fenner
95575cdd55
refactor(protecode): reuse piperExecuteBin code (#1886)
* add correlationID

* reuse credentialWrapper

* reuse getStepContextConfig

* reuse prepareStepParameters

* reuse prepareExecution

* reuse prepareMetadataResource

* respect custom defaults and custom args

* add todo

* respect pipeline environment values

* use piperExecuteBin
2020-08-07 15:24:54 +02:00
Christopher Fenner
0a02fe1fb8
refactor(protecode): handle reports inside go (#1891)
* publish artifacts

* publish project report link

* archive scan report

* fix typo

* remove obsolete reading iof result file

* publish sidebar link

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-08-07 13:03:38 +02:00
Daniel Mieg
766a233c01
Improve testability of abap steps (#1876)
* Change to make pollIntervall configurable

* Adapt checkout
2020-08-07 11:09:58 +02:00
Stephan Aßmus
b8f5fd9b28
fortifyExecuteScan: Pass on maven options to versioning (#1895) 2020-08-07 10:31:15 +02:00
Stephan Aßmus
ec779a719b
Checkmarx: honor "preset" parameter also for existing projects (#1893) 2020-08-06 17:20:26 +02:00
Florian Wilhelm
c887231234
Fix installing maven artefacts in spring projects using MTA (#1892)
Currently, the mtaBuild step installs the wrong artifact in a spring project making use of the "repackage" feature. This PR fixes that by checking if an ".original" jar file exists and using that instead.
2020-08-06 15:12:21 +02:00
Christopher Fenner
896519a77f
refactor(sonar): reuse piperExecuteBin code (#1880)
* reuse piperExecuteBin code

* add correlation id

* reuse credential loading

* reuse dockerWrapper

* rearrange code

* add influx wrapper

* correct writeToDisk position
2020-08-06 14:22:40 +02:00
Sven Merk
1fe94680df
checkmarxExecuteScan: Fix parameter handover (#1888)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-08-06 11:32:29 +02:00