--- # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: MIT-0 jenkins: systemMessage: "Jenkins configured automatically by Jenkins Configuration as Code" credentials: system: domainCredentials: - credentials: - usernamePassword: scope: GLOBAL id: "AWS_ACCOUNT_CREDENTIALS" username: "" password: "" description: "(Required) AWS Credentials" - string: scope: GLOBAL id: "AMI_ID" secret: "" description: "(Required) The AMI ID to be used as instances' images. Example: ami-0e459d519030c2bd7" - string: scope: GLOBAL id: "KMS_KEY_ARN" secret: "" description: "(Required) The KMS Key ARN to be used for encryption of this isntallation. Example: arn:aws:kms:region:123456789000:key/00000000-0000-0000-0000-000000000000" - string: scope: GLOBAL id: "SSH_KEYPAIR_NAME" secret: "" description: "(Required) The AWS KeyPair name (already existing on AWS account) you want to use to SSH into the new created instances" - file: scope: GLOBAL id: "SSH_KEYPAIR_FILE" fileName: "CHANGE-ME.pem" secretBytes: "" description: "(Required) The actual KeyPair .pem file generated by your AWS account to use to SSH into created instances" - string: scope: GLOBAL id: "S3_ROOT_FOLDER_INSTALL_FILES" secret: "" description: "(Required) S3 Root folder to pull the installation files. Example: s3://sapgspdemo-sap-binaries-demo" - string: scope: GLOBAL id: "PRIVATE_DNS_ZONE_NAME" secret: "" description: "(Required) The DNS Zone name (already existing in Route53) to add SAP installation to. Example: sapteam.net" - string: scope: GLOBAL id: "VPC_ID" secret: "vpc-b2fa0ccf" description: "(Required) The VPC ID for Terraform to put the instances into. Example: vpc-b2fa0ccf or vpc-017e0ba5c0b2e5e88" - string: scope: GLOBAL id: "SUBNET_IDS" secret: "subnet-fec01a98" description: "(Required) The Subnet IDs (comma separated) inside the given VPC to spin the instances into. Example: subnet-fec01a98,subnet-1fa23g45" - string: scope: GLOBAL id: "SECURITY_GROUP_ID" secret: "sg-831783bb" description: "(Required) The Security Group ID inside the given VPC to attach to the instances. Example: sg-01e616cc71d44cf70" - string: scope: GLOBAL id: "MASTER_PASSWORD" secret: "" description: "(Required) The password to be used to all SAP systems (you can change them in the future)" - string: scope: GLOBAL id: "AWS_REGION" secret: "us-east-1" description: "(Optional) The region you want to create your resources at. Example: us-east-1" - string: scope: GLOBAL id: "ENABLE_HA" secret: "true" description: "(Optional) Whether to enable HA for the installation or not (true or false values are accepted). Default: true" - string: scope: GLOBAL id: "INSTALL_BACKINT" secret: "false" description: "(Optional) Whether to install the Backint agent or not. Example: false" - string: scope: GLOBAL id: "EC2_INSTANCES_NAME_PREFIX" secret: "demo" description: "(Optional) The prefix to be added to AWS Instances names by Terraform. Default: demo" - string: scope: GLOBAL id: "SAP_SID" secret: "AD0" description: "(Optional) The SAP SID to be set to ASCS and PAS SAP installations (you cannot change this in the future). Example: AD0" - string: scope: GLOBAL id: "HANA_SID" secret: "AD0" description: "(Optional) The Hana SIDto be set to Hana installation (you cannot change this in the future). Example: AD0" - string: scope: GLOBAL id: "HANA_INSTANCE_TYPE" secret: "r5.4xlarge" description: "(Optional) The instance type to set to Hana instances. Example: r5.4xlarge" - string: scope: GLOBAL id: "ASCS_INSTANCE_TYPE" secret: "m5.xlarge" description: "(Optional) The instance type to set to ASCS instances. Example: m5.xlarge" - string: scope: GLOBAL id: "ERS_INSTANCE_TYPE" secret: "m5.xlarge" description: "(Optional) The instance type to set to ERS instances. Example: m5.xlarge" - string: scope: GLOBAL id: "PAS_INSTANCE_TYPE" secret: "m5.xlarge" description: "(Optional) The instance type to set to PAS instances. Example: m5.xlarge" - string: scope: GLOBAL id: "HANA_INSTANCE_NUMBER" secret: "00" description: "(Optional) The instance number for Hana Software. Example: 00" - string: scope: GLOBAL id: "ASCS_INSTANCE_NUMBER" secret: "00" description: "(Optional) The instance number for ASCS Software. Example: 00" - string: scope: GLOBAL id: "ERS_INSTANCE_NUMBER" secret: "10" description: "(Optional) The instance number for ERS Software. Example: 10" - string: scope: GLOBAL id: "PAS_INSTANCE_NUMBER" secret: "00" description: "(Optional) The instance number for PAS Software. Example: 00" - string: scope: GLOBAL id: "APPLICATION_CODE" secret: "demo" description: "(Optional) Application code to be used as tags for your environment. Example: demo" - string: scope: GLOBAL id: "APPLICATION_NAME" secret: "demo" description: "(Optional) Application name to be used as tags for your environment. Example: demo" - string: scope: GLOBAL id: "ENVIRONMENT_TYPE" secret: "dev" description: "(Optional) Environment type to be used as tags for your environment. Example: dev" - string: scope: GLOBAL id: "PRODUCT_ID_ASCS" secret: "NW_ABAP_ASCS:S4HANA1909.CORE.HDB.ABAPHA" description: "(Optional) Product ID to install ASCS software. Default: NW_ABAP_ASCS:S4HANA1909.CORE.HDB.ABAPHA" - string: scope: GLOBAL id: "PRODUCT_ID_ERS" secret: "NW_ERS:S4HANA1909.CORE.HDB.ABAPHA" description: "(Optional) Product ID to install ERS software. Default: NW_ERS:S4HANA1909.CORE.HDB.ABAPHA" - string: scope: GLOBAL id: "PRODUCT_ID_PAS_DB" secret: "NW_ABAP_DB:S4HANA1909.CORE.HDB.ABAP" description: "(Optional) Product ID to install PAS DB software. Default: NW_ABAP_DB:S4HANA1909.CORE.HDB.ABAP" - string: scope: GLOBAL id: "PRODUCT_ID_PAS" secret: "NW_ABAP_CI:S4HANA1909.CORE.HDB.ABAP" description: "(Optional) Product ID to install PAS software. Example: NW_ABAP_CI:S4HANA1909.CORE.HDB.ABAP" jobs: - script: > folder('SAP Hana+ASCS+PAS 3 Instances') - script: > multibranchPipelineJob('SAP Hana+ASCS+PAS 3 Instances/Spin up and install') { factory { workflowBranchProjectFactory { scriptPath('jenkins-pipelines/sap-pipeline-hana-pas-ascs/Jenkinsfile') } } branchSources { branchSource { source { git { id('sap3modules') remote('https://github.com/aws-samples/aws-install-sap-with-jenkins-ansible.git') } } strategy { defaultBranchPropertyStrategy { props { noTriggerBranchProperty() } } } } git { id('sap3modules') includes('*') remote('https://github.com/aws-samples/aws-install-sap-with-jenkins-ansible.git') } } } - script: > multibranchPipelineJob('SAP Hana+ASCS+PAS 3 Instances/Destroy env') { factory { workflowBranchProjectFactory { scriptPath('jenkins-pipelines/sap-pipeline-destroy-hana-pas-ascs/Jenkinsfile') } } branchSources { branchSource { source { git { id('destroySAP3modules') remote('https://github.com/aws-samples/aws-install-sap-with-jenkins-ansible.git') } } strategy { defaultBranchPropertyStrategy { props { noTriggerBranchProperty() } } } } git { id('destroySAP3modules') includes('*') remote('https://github.com/aws-samples/aws-install-sap-with-jenkins-ansible.git') } } } - script: > multibranchPipelineJob('SAP Hana+ASCS+PAS 3 Instances/Run HANA HA test') { factory { workflowBranchProjectFactory { scriptPath('jenkins/Jenkinsfile') } } branchSources { branchSource { source { git { id('runHANAHA') remote('https://github.com/aws-samples/automate-sap-hana-high-availability-test.git') } } strategy { defaultBranchPropertyStrategy { props { noTriggerBranchProperty() } } } } git { id('runHANAHA') includes('*') remote('https://github.com/aws-samples/automate-sap-hana-high-availability-test.git') } } }