github.com/xgoffin/jenkins-library@v1.154.0/documentation/docs/steps/abapEnvironmentBuild.md (about)

     1  # ${docGenStepName}
     2  
     3  ## ${docGenDescription}
     4  
     5  ## Prerequisites SAP BTP, ABAP environment
     6  
     7  * A SAP BTP, ABAP environment system is available.
     8    * This can be created manually on Cloud Foundry.
     9    * In a pipeline, you can do this, for example, with the step [cloudFoundryCreateService](https://sap.github.io/jenkins-library/steps/cloudFoundryCreateService/).
    10  * Communication Scenario [“SAP BTP, ABAP Environment - Software Assembly Integration (SAP_COM_0582)“](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/26b8df5435c649aa8ea7b3688ad5bb0a.html) is setup for this system.
    11    * E.g. a [Communication User](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/0377adea0401467f939827242c1f4014.html), a [Communication System](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/1bfe32ae08074b7186e375ab425fb114.html) and a [Communication Arrangement](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/a0771f6765f54e1c8193ad8582a32edb.html) are configured.
    12    * This can be done manually through the respective applications on the SAP BTP, ABAP environment system,
    13    * or through creating a service key for the system on cloud foundry with the parameters {“scenario_id”: “SAP_COM_0582", “type”: “basic”}.
    14    * In a pipeline, you can do this, for example, with the step [cloudFoundryCreateServiceKey](https://sap.github.io/jenkins-library/steps/cloudFoundryCreateServiceKey/).
    15  * You have following options to provide the ABAP endpoint configuration:
    16    * The host and credentials the SAP BTP, ABAP environment system itself. The credentials must be configured for the Communication Scenario SAP_COM_0582.
    17    * The Cloud Foundry parameters (API endpoint, organization, space), credentials, the service instance for the ABAP service and the service key for the Communication Scenario SAP_COM_0582.
    18    * Only provide one of those options with the respective credentials. If all values are provided, the direct communication (via host) has priority.
    19  
    20  ## Prerequisites On Premise
    21  
    22  * You need to specify the host and credentials to your system
    23  * A certificate for the system needs to be stored in .pipeline/trustStore and the name of the certificate needs to be handed over via the configuration
    24  
    25  ## ${docGenParameters}
    26  
    27  ## ${docGenConfiguration}
    28  
    29  ## ${docJenkinsPluginDependencies}
    30  
    31  ## Examples
    32  
    33  ### Configuration in the config.yml
    34  
    35  If you want to use this step several time in one pipeline with different phases, the steps have to be put in different stages as it is not allowed to run the same step repeatedly in one stage.
    36  
    37  The recommended way to configure your pipeline is via the config.yml file. In this case, calling the step in the Jenkinsfile is reduced to one line:
    38  
    39  ```groovy
    40  stage('MyPhase') {
    41              steps {
    42                  abapEnvironmentBuild script: this
    43              }
    44          }
    45  ```
    46  
    47  If you want to provide the host and credentials of the Communication Arrangement directly or you want to run in on premise, the configuration could look as follows:
    48  
    49  ```yaml
    50  stages:
    51    MyPhase:
    52      abapCredentialsId: 'abapCredentialsId',
    53      host: 'https://myABAPendpoint.com',
    54  ```
    55  
    56  Or by authenticating against Cloud Foundry and reading the Service Key details from there:
    57  
    58  ```yaml
    59  stages:
    60    MyPhase:
    61      abapCredentialsId: 'cfCredentialsId',
    62      cfApiEndpoint : 'https://test.server.com',
    63      cfOrg : 'cfOrg',
    64      cfSpace: 'cfSpace',
    65      cfServiceInstance: 'myServiceInstance',
    66      cfServiceKeyName: 'myServiceKey',
    67  ```
    68  
    69  One possible complete config example. Please note that the values are handed over as a string, which has inside a json structure:
    70  
    71  ```yaml
    72  stages:
    73    MyPhase:
    74      abapCredentialsId: 'abapCredentialsId'
    75      host: 'https://myABAPendpoint.com'
    76      certificateNames: ['myCert.cer']
    77      phase: 'MyPhase'
    78      values: '[{"value_id":"ID1","value":"Value1"},{"value_id":"ID2","value":"Value2"}]'
    79      downloadResultFilenames: ['File1','File2']
    80      publishResultFilenames: ['File2']
    81      subDirectoryForDownload: 'MyDir'
    82      filenamePrefixForDownload: 'MyPrefix'
    83      treatWarningsAsError: true
    84      maxRuntimeInMinutes: 360
    85      pollingIntervallInSeconds: 15
    86  ```