mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-14 11:03:09 +02:00
74 lines
2.5 KiB
Markdown
74 lines
2.5 KiB
Markdown
|
# ${docGenStepName}
|
||
|
|
||
|
## ${docGenDescription}
|
||
|
|
||
|
## ${docGenParameters}
|
||
|
|
||
|
## ${docGenConfiguration}
|
||
|
|
||
|
## ${docJenkinsPluginDependencies}
|
||
|
|
||
|
## Side effects
|
||
|
|
||
|
Unless configured otherwise, this step will *replace* the input `manifest.yml` with a version that has all variable references replaced. This alters the source tree in your Jenkins workspace.
|
||
|
If you prefer to generate a separate output file, use the step's `outputManifestFile` parameter. Keep in mind, however, that your Cloud Foundry deployment step should then also reference this output file - otherwise CF deployment will fail with unresolved variable reference errors.
|
||
|
|
||
|
## Exceptions
|
||
|
|
||
|
* `org.yaml.snakeyaml.scanner.ScannerException` - in case any of the loaded input files contains malformed Yaml and cannot be parsed.
|
||
|
|
||
|
* `hudson.AbortException` - in case of internal errors and when not all variables could be replaced due to missing replacement values.
|
||
|
|
||
|
## Example
|
||
|
|
||
|
Usage of pipeline step:
|
||
|
|
||
|
```groovy
|
||
|
cfManifestSubstituteVariables (
|
||
|
script: this,
|
||
|
manifestFile: "path/to/manifest.yml", //optional, default: manifest.yml
|
||
|
manifestVariablesFiles: ["path/to/manifest-variables.yml"] //optional, default: ['manifest-variables.yml']
|
||
|
manifestVariables: [[key : value], [key : value]] //optional, default: []
|
||
|
)
|
||
|
```
|
||
|
|
||
|
For example, you can refer to the parameters using relative paths (similar to `cf push --vars-file`):
|
||
|
|
||
|
```groovy
|
||
|
cfManifestSubstituteVariables (
|
||
|
script: this,
|
||
|
manifestFile: "manifest.yml",
|
||
|
manifestVariablesFiles: ["manifest-variables.yml"]
|
||
|
)
|
||
|
```
|
||
|
|
||
|
Furthermore, you can also specify variables and their values directly (similar to `cf push --var`):
|
||
|
|
||
|
```groovy
|
||
|
cfManifestSubstituteVariables (
|
||
|
script: this,
|
||
|
manifestFile: "manifest.yml",
|
||
|
manifestVariablesFiles: ["manifest-variables.yml"],
|
||
|
manifestVariables: [[key1 : value1], [key2 : value2]]
|
||
|
)
|
||
|
```
|
||
|
|
||
|
If you are using the Cloud Foundry [Create-Service-Push](https://github.com/dawu415/CF-CLI-Create-Service-Push-Plugin) CLI plugin you will most likely also have a `services-manifest.yml` file.
|
||
|
Also in this file you can specify variable references, that can be resolved from the same variables file, e.g. like this:
|
||
|
|
||
|
```groovy
|
||
|
// resolve variables in manifest.yml
|
||
|
cfManifestSubstituteVariables (
|
||
|
script: this,
|
||
|
manifestFile: "manifest.yml",
|
||
|
manifestVariablesFiles: ["manifest-variables.yml"]
|
||
|
)
|
||
|
|
||
|
// resolve variables in services-manifest.yml from same file.
|
||
|
cfManifestSubstituteVariables (
|
||
|
script: this,
|
||
|
manifestFile: "services-manifest.yml",
|
||
|
manifestVariablesFiles: ["manifest-variables.yml"]
|
||
|
)
|
||
|
```
|