mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-14 11:03:09 +02:00
9.6 KiB
9.6 KiB
neoDeploy
Description
Deploys an Application to SAP Cloud Platform (SAP CP) using the SAP Cloud Platform Console Client (Neo Java Web SDK).
Prerequisites
- SAP CP account - the account to where the application is deployed.
- SAP CP user for deployment - a user with deployment permissions in the given account.
- Jenkins credentials for deployment - must be configured in Jenkins credentials with a dedicated Id.
-
Neo Java Web SDK - can be downloaded from Maven Central. The Neo Java Web SDK needs to be extracted into the folder provided by
neoHome
. In case this parameters is not provided and there is no NEO_HOME parameter in the environment<neoRoot>/tools
needs to be in thePATH
. This step is also capable of triggering the neo deploy tool provided inside a docker image. -
Java 8 or higher - needed by the Neo-Java-Web-SDK
Parameters when using MTA deployment method (default - MTA)
parameter | mandatory | default | possible values |
---|---|---|---|
deployMode |
yes | 'MTA' |
'MTA' , 'WAR_PARAMS' , 'WAR_PROPERTIESFILE' |
script |
yes | ||
archivePath |
yes | ||
deployHost |
no | 'account' from step configuration 'neoDeploy' , or propertey 'DEPLOY_HOST' from commonPipelineEnvironment (deprecated) |
|
deployAccount |
no | 'host' from step configuration 'neoDeploy' , or property 'CI_DEPLOY_ACCOUNT' from commonPipelineEnvironment (deprecated) |
|
neoCredentialsId |
no | 'neoCredentialsId' from step configuration 'neoDeploy' or hard coded value 'CI_CREDENTIALS_ID' |
|
neoHome |
no | Environment is checked for NEO_HOME , otherwise the neo toolset is expected in the path |
Parameters when using WAR file deployment method with .properties file (WAR_PROPERTIESFILE)
parameter | mandatory | default | possible values |
---|---|---|---|
deployMode |
yes | 'MTA' |
'MTA' , 'WAR_PARAMS' , 'WAR_PROPERTIESFILE' |
warAction |
yes | 'deploy' |
'deploy' , 'rolling-update' |
script |
yes | ||
archivePath |
yes | ||
neoCredentialsId |
no | 'CI_CREDENTIALS_ID' |
|
neoHome |
no | Environment is checked for NEO_HOME , otherwise the neo toolset is expected in the path |
|
propertiesFile |
yes |
Parameters when using WAR file deployment method witout .properties file - with parameters (WAR_PARAMS)
parameter | mandatory | default | possible values |
---|---|---|---|
deployMode |
yes | 'MTA' |
'MTA' , 'WAR_PARAMS' , 'WAR_PROPERTIESFILE' |
warAction |
yes | 'deploy' |
'deploy' , 'rolling-update' |
script |
yes | ||
archivePath |
yes | ||
deployHost |
no | 'DEPLOY_HOST' from commonPipelineEnvironment |
|
deployAccount |
no | 'CI_DEPLOY_ACCOUNT' from commonPipelineEnvironment |
|
neoCredentialsId |
no | 'CI_CREDENTIALS_ID' |
|
neoHome |
no | Environment is checked for NEO_HOME , otherwise the neo toolset is expected in the path |
|
applicationName |
yes | ||
runtime |
yes | ||
runtime-version |
yes | ||
size |
no | 'lite' |
'lite' , 'pro' , 'prem' , 'prem-plus' |
deployMode
- The deployment mode which should be used. Available options are'MTA'
(default),'WAR_PARAMS'
(deploying WAR file and passing all the deployment parameters via the function call) and'WAR_PROPERTIESFILE'
(deploying WAR file and putting all the deployment parameters in a .properties file)script
- The common script environment of the Jenkinsfile run. Typicallythis
is passed to this parameter. This allows the function to access thecommonPipelineEnvironment
for retrieving e.g. configuration parameters.archivePath
- The path to the archive for deployment to SAP CP.deployHost
- The SAP Cloud Platform host to deploy to.deployAccount
- The SAP Cloud Platform account to deploy to.credentialsId
- The Jenkins credentials containing user and password used for SAP CP deployment.neoHome
- The path to theneo-java-web-sdk
tool used for SAP CP deployment. If no parameter is provided, the path is retrieved from the Jenkins environment variables usingenv.NEO_HOME
. If this Jenkins environment variable is not set it is assumed that the tool is available in thePATH
.propertiesFile
- The path to the .properties file in which all necessary deployment properties for the application are defined.warAction
- Action mode when using WAR file mode. Available options aredeploy
(default) androlling-update
which performs update of an application without downtime in one go.applicationName
- Name of the application you want to manage, configure, or deployruntime
- Name of SAP Cloud Platform application runtimeruntime-version
- Version of SAP Cloud Platform application runtimesize
- Compute unit (VM) size. Acceptable values: lite, pro, prem, prem-plus.
Return value
none
Side effects
none
Exceptions
Exception
:- If
archivePath
is not provided. - If
propertiesFile
is not provided (when using'WAR_PROPERTIESFILE'
deployment mode). - If
applicationName
is not provided (when using'WAR_PARAMS'
deployment mode). - If
runtime
is not provided (when using'WAR_PARAMS'
deployment mode). - If
runtime-version
is not provided (when using'WAR_PARAMS'
deployment mode).
- If
AbortException
:- If neo-java-web-sdk is not installed, or
neoHome
is wrong. - If
deployHost
is wrong. - If
deployAccount
is wrong.
- If neo-java-web-sdk is not installed, or
CredentialNotFoundException
:- If the credentials cannot be resolved.
Example
neoDeploy script: this, archivePath: 'path/to/archiveFile.mtar', credentialsId: 'my-credentials-id'
Example configuration:
steps:
<...>
neoDeploy:
account: <myDeployAccount>
host: hana.example.org