mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-12 10:55:20 +02:00
ae7bfa5d92
* Include createBOM flag in MTA build * Uncomment bom creation * Changed sbom path * Changed source path * Reverted source path and included folder path to bom * Test docker image * Test docker image * sbom name change * Removed the redundent log
259 lines
8.7 KiB
YAML
259 lines
8.7 KiB
YAML
metadata:
|
|
name: mtaBuild
|
|
description: Performs an mta build
|
|
longDescription: |
|
|
Executes the SAP Multitarget Application Archive Builder to create an mtar archive of the application.
|
|
### build with depedencies from a private repository
|
|
1. For maven related settings refer [maven build dependencies](./mavenBuild.md#build-with-depedencies-from-a-private-repository)
|
|
2. For NPM related settings refer [NPM build dependencies](./npmExecuteScripts.md#build-with-depedencies-from-a-private-repository)
|
|
spec:
|
|
inputs:
|
|
params:
|
|
- name: mtarName
|
|
type: string
|
|
description: "The name of the generated mtar file including its extension."
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
mandatory: false
|
|
default:
|
|
- name: mtarGroup
|
|
type: string
|
|
description: "The group to which the mtar artifact will be uploaded. Required when publish is True."
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
mandatory: false
|
|
default:
|
|
- name: version
|
|
aliases:
|
|
- name: artifactVersion
|
|
type: string
|
|
description: Version of the mtar artifact
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
resourceRef:
|
|
- name: commonPipelineEnvironment
|
|
param: artifactVersion
|
|
- name: extensions
|
|
type: string
|
|
description: "The path to the extension descriptor file."
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
mandatory: false
|
|
default:
|
|
aliases:
|
|
- name: extension
|
|
- name: jobs
|
|
type: int
|
|
description: "Configures the number of Make jobs that can run simultaneously. Maximum value allowed is 8"
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
mandatory: false
|
|
default:
|
|
aliases:
|
|
- name: jobs
|
|
- name: platform
|
|
type: string
|
|
description: "The target platform to which the mtar can be deployed."
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
mandatory: false
|
|
default: CF
|
|
possibleValues:
|
|
- CF
|
|
- NEO
|
|
- XSA
|
|
- name: applicationName
|
|
type: string
|
|
description: "The name of the application which is being built. If the parameter has been provided and no `mta.yaml` exists, the `mta.yaml` will be automatically generated using this parameter and the information (`name` and `version`) from 'package.json` before the actual build starts."
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
mandatory: false
|
|
default:
|
|
- name: source
|
|
type: string
|
|
description: "The path to the MTA project."
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
mandatory: false
|
|
default: "./"
|
|
- name: target
|
|
type: string
|
|
description: "The folder for the generated `MTAR` file. If the parameter has been provided, the `MTAR` file is saved in the root of the folder provided by the argument."
|
|
scope:
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
mandatory: false
|
|
default: "./"
|
|
- name: defaultNpmRegistry
|
|
type: string
|
|
description: "Url to the npm registry that should be used for installing npm dependencies."
|
|
scope:
|
|
- GENERAL
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
mandatory: false
|
|
aliases:
|
|
- name: npm/defaultNpmRegistry
|
|
default:
|
|
- name: projectSettingsFile
|
|
type: string
|
|
description: "Path or url to the mvn settings file that should be used as project settings file."
|
|
scope:
|
|
- GENERAL
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
mandatory: false
|
|
aliases:
|
|
- name: maven/projectSettingsFile
|
|
- name: globalSettingsFile
|
|
type: string
|
|
description: "Path or url to the mvn settings file that should be used as global settings file"
|
|
scope:
|
|
- GENERAL
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
mandatory: false
|
|
aliases:
|
|
- name: maven/globalSettingsFile
|
|
- name: m2Path
|
|
type: string
|
|
description: Path to the location of the local repository that should be used.
|
|
scope:
|
|
- GENERAL
|
|
- STEPS
|
|
- STAGES
|
|
- PARAMETERS
|
|
mandatory: false
|
|
aliases:
|
|
- name: maven/m2Path
|
|
- name: installArtifacts
|
|
type: bool
|
|
description: "If enabled, for npm packages this step will install all dependencies including dev dependencies. For maven it will install all artifacts to the local maven repository. Note: This happens _after_ mta build was done. The default mta build tool does not install dev-dependencies as part of the process. If you require dev-dependencies for building the mta, you will need to use a [custom builder](https://sap.github.io/cloud-mta-build-tool/configuration/#configuring-the-custom-builder)"
|
|
scope:
|
|
- GENERAL
|
|
- STEPS
|
|
- STAGES
|
|
- PARAMETERS
|
|
- name: mtaDeploymentRepositoryPassword
|
|
type: string
|
|
description: Password for the alternative deployment repository to which mtar artifacts will be publised
|
|
scope:
|
|
- GENERAL
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
secret: true
|
|
resourceRef:
|
|
- name: commonPipelineEnvironment
|
|
param: custom/mavenRepositoryPassword
|
|
- name: commonPipelineEnvironment
|
|
param: custom/repositoryPassword
|
|
- name: mtaDeploymentRepositoryPasswordId
|
|
type: secret
|
|
- type: vaultSecretFile
|
|
name: mtaDeploymentRepositoryPasswordFileVaultSecretName
|
|
default: mta-deployment-repository-passowrd
|
|
- name: mtaDeploymentRepositoryUser
|
|
type: string
|
|
description: User for the alternative deployment repository to which which mtar artifacts will be publised
|
|
scope:
|
|
- GENERAL
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
resourceRef:
|
|
- name: commonPipelineEnvironment
|
|
param: custom/mavenRepositoryUsername
|
|
- name: commonPipelineEnvironment
|
|
param: custom/repositoryUsername
|
|
- name: mtaDeploymentRepositoryUrl
|
|
type: string
|
|
description: Url for the alternative deployment repository to which mtar artifacts will be publised
|
|
scope:
|
|
- GENERAL
|
|
- PARAMETERS
|
|
- STAGES
|
|
- STEPS
|
|
resourceRef:
|
|
- name: commonPipelineEnvironment
|
|
param: custom/mavenRepositoryURL
|
|
- name: commonPipelineEnvironment
|
|
param: custom/repositoryUrl
|
|
- name: publish
|
|
type: bool
|
|
description: pushed mtar artifact to altDeploymentRepositoryUrl/altDeploymentRepositoryID when set to true
|
|
scope:
|
|
- STEPS
|
|
- STAGES
|
|
- PARAMETERS
|
|
default: false
|
|
aliases:
|
|
- name: mta/publish
|
|
- name: profiles
|
|
type: "[]string"
|
|
description: Defines list of maven build profiles to be used. profiles will overwrite existing values in the global settings xml at $M2_HOME/conf/settings.xml
|
|
scope:
|
|
- PARAMETERS
|
|
- GENERAL
|
|
- STAGES
|
|
- STEPS
|
|
- name: buildSettingsInfo
|
|
type: string
|
|
description: build settings info is typically filled by the step automatically to create information about the build settings that were used during the mta build . This information is typically used for compliance related processes.
|
|
scope:
|
|
- STEPS
|
|
- STAGES
|
|
- PARAMETERS
|
|
resourceRef:
|
|
- name: commonPipelineEnvironment
|
|
param: custom/buildSettingsInfo
|
|
- name: createBOM
|
|
type: bool
|
|
description: Creates the bill of materials (BOM) using CycloneDX plugin.
|
|
scope:
|
|
- GENERAL
|
|
- STEPS
|
|
- STAGES
|
|
- PARAMETERS
|
|
default: false
|
|
outputs:
|
|
resources:
|
|
- name: commonPipelineEnvironment
|
|
type: piperEnvironment
|
|
params:
|
|
- name: mtarFilePath
|
|
- name: custom/mtaBuildToolDesc
|
|
- name: custom/mtarPublishedUrl
|
|
- name: custom/buildSettingsInfo
|
|
- name: reports
|
|
type: reports
|
|
params:
|
|
- filePattern: "**/TEST-*.xml"
|
|
type: junit
|
|
- filePattern: "**/cobertura-coverage.xml"
|
|
type: cobertura-coverage
|
|
- filePattern: "**/jacoco.xml"
|
|
type: jacoco-coverage
|
|
containers:
|
|
- image: devxci/mbtci-java11-node14
|