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

2057 Commits

Author SHA1 Message Date
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
Sven Merk
c85b9fa67d
Merge pull request #904 from SAP/ws-logs-cp
whitesourceExecuteScan: Transfer logs into workspace to allow archiving
2019-10-18 09:13:12 +02:00
Sven Merk
5bf5a6013c
Update whitesourceExecuteScan.groovy 2019-10-17 15:24:09 +02:00
Sven Merk
3d1da388c8
Update whitesourceExecuteScan.groovy 2019-10-16 14:58:54 +02:00
Sven Merk
cf64a0d098
whitesourceExecuteScan: Transfer logs into workspace to allow archiving 2019-10-16 13:49:47 +02:00
Sven Merk
489e089ebc
Merge pull request #903 from SAP/ws-logs-archiving
whitesourceExecuteScan: Fix path for archiving UA logs
2019-10-16 11:46:25 +02:00
Sven Merk
88ab65cf7b Fix UA log path for archiving 2019-10-16 10:54:17 +02:00
Sven Merk
492bfd5637
Merge pull request #900 from SAP/ws-logs
whitesourceExecuteScan: Add archiving of new UA log files
2019-10-15 16:11:17 +02:00
Sven Merk
cf231d7353
Merge branch 'master' into ws-logs 2019-10-15 15:36:31 +02:00
Sven Merk
43dd966887
Merge pull request #902 from SAP/fwilhe-patch-2
Use openjdk8 in travis build
2019-10-15 14:50:52 +02:00
Florian Wilhelm
0dffbaedb1
openjdk8 2019-10-15 14:06:02 +02:00
Sven Merk
f2ce3d5b2d Extend default configuration 2019-10-15 13:19:39 +02:00
Sven Merk
79348f68de Add archiving of new UA log files 2019-10-15 11:50:35 +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
1a34d679d4
cm scenario: mta and node only required in case we are not running in… (#889)
* cm scenario: mta and node only required in case we are not running in a docker enviroment

* Update documentation/docs/scenarios/changeManagement.md

Co-Authored-By: SarahNoack <44202907+SarahNoack@users.noreply.github.com>

* Update documentation/docs/scenarios/changeManagement.md

Co-Authored-By: SarahNoack <44202907+SarahNoack@users.noreply.github.com>
2019-10-01 11:24:07 +02:00
Marcus Holl
afb33f78c7
cm client only required in case we are not running via docker (#890) 2019-09-30 12:54:16 +02:00
Marcus Holl
facebdbdbb
Provide the logs for cf deploy (#865)
* Provide the logs for cf deployx

* Surround cf trace output by comments so that it can be easily retrieved

* Tests
2019-09-27 16:10:43 +02:00
Marcus Holl
e418c15b6e
Revert "Back commonPipelineEnvironment step by shared class (#821)" (#885)
This reverts commit eb57c8df7b.
2019-09-26 14:18:18 +02:00
Marcus Holl
eb57c8df7b
Back commonPipelineEnvironment step by shared class (#821)
* Back commonPipelineEnvironment step by shared class

Each pipeline step comes with its own instance of a commonPipelineEnvironment.
Properties stored on one instance was not shared with the other instances.

Now we strip down the commonPipelineEnvironment step and forward basically
everything to a shared singleton instance.

With that approach all instances of commonPipelineEnvironment shares the
same data and can now be really used for information exchange between the steps.
Before that change only the commonPipelineEnvironment instance associated with
the pipeline script itself could be used for that purpose.

* Remove unneeded commented line
2019-09-26 12:23:36 +02:00
Marcus Holl
61a91b5f25
Add containerPushToRegistry to docu index (#862) 2019-09-25 11:00:35 +02:00
Marcus Holl
96365d29f7
Add buildExecute to docu index. (#860) 2019-09-25 08:55:51 +02:00
TheFonz2017
6dabdff8d5 Added (optional) Variable Substitution to CloudFoundryDeploy Step (#866) 2019-09-24 08:49:25 +02:00
Shanuson
05301eaf16 Refactoring Only PR for cloudFoundryDeployStep (#881) 2019-09-20 09:57:28 +02:00
Florian Wilhelm
e041f45183
Streamline documentation to reflect project "piper" (#875) 2019-09-19 14:17:41 +02:00
SarahNoack
68758d1073
Merge pull request #880 from SAP/saranoack/extensionWithTms-scenario-docu
Add TMS extension scenario
2019-09-19 12:37:13 +02:00
Sarah Noack
1c8ba63053 Change node decription 2019-09-19 09:47:03 +02:00
Sarah Noack
a0bdc4f4c9 Add description in Jenkinsfile section 2019-09-18 14:56:41 +02:00
Sarah Noack
f5ff55e3df minor language editing 2019-09-18 14:15:02 +02:00
Sarah Noack
54cbc403c0 Add SAP Cloud Platform Transport Management scenario 2019-09-18 13:46:40 +02:00
Sven Merk
37ec5d4a1f
Merge pull request #876 from SAP/mail-culprits
mailSendNotification: Avoid full merge trace being added to culprits
2019-09-17 14:35:08 +02:00
Sven Merk
fce8098f98 Avoid full merge trace being added to culprits 2019-09-16 10:02:21 +02:00
Florian Geckeler
565ac99742 Handle sidecar parameters in dockerExecuteOnKubernetes (#869) 2019-09-12 10:52:05 +02:00
Marcus Holl
e54f18e6bc
Introduce xsDeploy step (#749)
Introduce xs deploy
2019-09-11 13:42:38 +02:00
Marcus Holl
f199d79ca9
replace absolute links inside docu with relative links for ui5-sapcp scenario (#867) 2019-09-09 10:16:02 +02:00
Marcus Holl
6f8cd0f88c
more output from generator (#868) 2019-09-09 09:34:21 +02:00
TheFonz2017
41dcebb3a5 Variable Substitution in YAML Files (#852)
* Changes:
- New YamlSubstituteVariables step to substitute variables in YAML files with values from another YAML
- New Tests, that check the different substitution patterns.
- Added test resources, including various manifest and variables files.
- Improved usage of JenkinsLoggingRule
- Improved JenkinsReadYamlRule to properly reflect the mocked library's behaviour.
- Added a new JenkinsWriteYamlRule.

* Changes:
- added a Logger that checks a config.verbose flag before it logs debug messages.
- changed error handling to rethrow Yaml parsing exception in case of wrongly-formatted Yaml files.
- changed JenkinsWriteYamlRule to capture Yaml file details of every invocation of writeYaml. This allows sanity checks at end of tests, even if there were multiple invocations.
- adjusted tests.

* Changes:
- Removed javadoc-code blocks from API documentation since they are not supported.
- Removed skipDeletion boolean.
- Added a new deleteFile script which deletes a file if present.
- Added a new JenkinsDeleteFileRule to mock deleteFile script and optionally skip deletion for tests.
- Adjusted yamlSubstituteVariables script.
- Adjusted tests to include new JenkinsDeleteFileRule.
- Changed code that deletes an already existing output file to produce better logs.

* Changes:
- Turned yamlSubstituteVariables into a script that works purely based on Yaml data (not files).
- Added a new cfManifestSubstituteVariables that uses yamlSubstituteVariables under the hood but works based on files.
- Adjusted tests, and added new ones.

* Adjusted documentation and a few log statements.

* Changed documentation to no longer include javadoc code statements.

* Made mocking of deletion of a file a default. Adjusted tests.

* Changed signature of yamlSubstituteVariables' call method to return void.

* Changes:
- Fixed naming issues in deleteFile.
- Renamed Logger to DebugHelper.
- Fixed some documentation.

* Changed implementation of deleteFile not to use java.io.File - which is evil when using it for file operations.

* PROPERLY Changed implementation of deleteFile not to use java.io.File - which is evil when using it for file operations.

* Changes:
- Added tests for deleteFile script
- Changed JenkinsFileExistsRule to also keep track of which files have been queried for existence.

* Changes:
- Removed java.io.File usage from cfManifestSubstituteVariables and using fileExists instead now.
- Adjusted tests.

* Wrapped file path inside ticks to allow spaces in file path when calling deleteFile.

* Removed null checks of mandatory parameters, and resorted to ConfigurationHelper.withMandatoryProperty

* Fixed a NullPointer due to weird Jenkins / Groovy behaviour.

* Changes:
- Turned yamlSubstituteVariables step into a utils class.
- Added tests
- Adjusted cfManifestSubstituteVariables to use utils class instead of step.
- Adjusted tests
- Adjusted APIs of DebugHelper.

* Re-introduced log statement that shows what variables are being replaced and with what.

* Changing API of YamlUtils to take the script and config as input.

* Test

* Test

* Test

* Test

* Test

* Fixing issue.

* Fixing issue.

* Changes:
- Refactored DebugHelper and YamlUtils to make usage nicer and rely on dependency injection.
- Removed Field for DebugHelper and turned it into local variable.
- Adjusted classes using the above.
- Adjusted tests where necessary.

* Added link to CF standards to YamlUtils also.

* Add docu for step cfManifestSubstituteVariables.md

* Added documentation.

* Added missing script parameter to documentation. Some steps document it, some don't. Right now you need it, so we document it.

* Fixed some layouting and typos

* Beautified exception listing.

* Removed trailing whitespaces to make code climate checks pass.

* Trying to get documentation generated, with all the exceptions to markup one should not use.

* cosmetics.

* cosmetics, part 2

* Code climate changes...

* Inlined deleteFile step.

* Added two more tests to properly check file deletion and output handling.

* Changes:
- adjusted API to take a list of variables files, as does 'cf push --vars-file'
- adjusted API to allow for an optional list of variable key-value-maps as does 'cf push --vars'
- reproduced conflict resolution and overriding behavior of variables files and vars lists
- adjusted tests and documentation

* Added missing paramter to doc comment.

* Re-checked docs for missing paramters or params that have no counterpart in the method signature.

* Adjusted documentation.

* Removed absolute path usage from documentation.

* corrected documentation.

* Changed javadoc comment to plain comment.

* Turned all comments to plain comments.
2019-09-06 10:20:35 +02:00
Marcus Holl
211827ac93
Remove template docu page for piperPipelinStagePost (#863)
There are at the moment no stage docu pages. I guess this has been added too early
by mistake. Maybe we should remove this for now since it triggers a warning during docu generation.
2019-08-30 09:03:08 +02:00
Christoph Szymanski
b3764f4c1b
Link the SAP Cloud SDK (#861)
SAP Cloud SDK implements a more comprehensive CAP pipeline.

Co-Authored-By: Florian Wilhelm <florian.wilhelm02@sap.com>
2019-08-23 13:33:38 +02:00
Hans Schulz
8cb5779f5d Fix imagePullPolicy always being IfNotPresent when executing single container (#834)
* Update dockerExecuteOnKubernetes.groovy

* Update dockerExecuteOnKubernetes.groovy
2019-08-21 15:04:20 +02:00
Marcus Holl
d2d4232883
Remove useless utils from signature inside neoDeploy (#853) 2019-08-21 13:10:54 +02:00
Marcus Holl
8c966e41c4
more precise param handover (gitUrl) in piperPipelineStageInit (#848)
Before: complete scmInfo was handed over via method signature.

After: Only the relevant part (GIT_URL from scmInfo) is handed over.

All the other properties from scmInfo are not used in the method body.
With this appraoch it is more obvious what is used inside the method.
2019-08-20 09:08:42 +02:00
Florian Geckeler
f69eac6f5f Pass configured env vars to docker execution in existing container (#851) 2019-08-16 17:05:18 +02:00
Oliver Nocon
fa3b6b68db
githubPublishRelease - add templating capabilities (#849)
add templating capabilities for the header in the release information
2019-08-15 15:26:08 +02:00
Oliver Nocon
023f35c0a8
dockerExecuteOnKubernetes - add stashBack configuration (#808)
* dockerExecuteOnKubernetes - add stashBack configuration

For certain cases it is valuable to only bring back some of the files from an execution inside a container back to the workspace.
This is now added.

Closes #753

* refactor according to PR review
2019-08-14 16:44:12 +02:00
Florian Wilhelm
3af8062c9f
Cleanup (#844) 2019-08-13 11:54:58 +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
Marcus Holl
f0a3dd9a39 Remove inappropriate package statement and inappr. shebang (#823) 2019-08-08 23:50:25 +02:00
Marcus Holl
62d1e23e6c
[fix] custom defaults passed as String instead of String is a List to DefaultValueCache (#817) 2019-08-08 08:52:21 +02:00
Marcus Holl
77a8c54084
Remove stdout from unit test (#787)
in the majority of the cases there is nobody for reading stdout.
2019-08-06 14:21:57 +02:00
Marcus Holl
0c90da6638
Simplify code: failExecution can be replaced by closure raising exception (#795) 2019-08-06 13:12:59 +02:00