image: name: gscloudsolutions/devops-mate:stable pipelines: pull-requests: feature/*: #any branch with a feature prefix #----------------------------Step 1------------------------------------ - step: name: Creating Deployment Package for CI(Continuous Integration) script: - echo 'Getting Target Org Status From QA/Partial Dev Org' - sfDeploymentInfo get -u $QA_ORG_USERNAME -t $QA_ORG_TYPE -i $BITBUCKET_BUILD_NUMBER -n All -s $QA_ORG_PASSWORD - echo 'Creating a Git Diff based artifact/package' - sfPackages source-combined -p $BITBUCKET_CLONE_DIR/$QA_PACKAGE_DIR -n $LATEST_COMMIT_HASH_TAG -i $BITBUCKET_BUILD_NUMBER || if test $? -eq 21; then exit 0; else exit 1; fi - echo 'Scanning Source Code' - sfScan pmd-eslint -t "$BITBUCKET_CLONE_DIR/$QA_PACKAGE_DIR/Artifacts/" artifacts: - QADir/Artifacts/** #----------------------------Step 2------------------------------------- - step: name: Scratch Org Deployment Validation script: - echo 'Create Scratch Org' - sfOrgs createOrg -x 'CIOrg-$BITBUCKET_BUILD_NUMBER' -p ./config/project-scratch-def.json -t $PROD_ORG_TYPE -u $PROD_ORG_USERNAME -s $PROD_ORG_PASSWORD - echo 'Create a full deployment artifact/package' - sfPackages source-combined -f true -v $MAJOR_VERSION.$MINOR_VERSION.$PATCH.$BITBUCKET_BUILD_NUMBER -p $BITBUCKET_CLONE_DIR -n $LATEST_COMMIT_HASH_TAG || if test $? -eq 21; then exit 0; else exit 1; fi - echo 'Deploy the package to Scratch Org' - sfDeploy mdapipackage -l $TEST_LEVEL -p $BITBUCKET_CLONE_DIR -a 'CIOrg-$BITBUCKET_BUILD_NUMBER' -v $MAJOR_VERSION.$MINOR_VERSION.$PATCH.$BITBUCKET_BUILD_NUMBER #-------------------------------Step 3---------------------------------- - step: name: Deployment Validation On QA/Partial-Dev Org/Environment script: - echo 'Getting Target Org Status From QA/Partial Dev Org' - sfDeploymentInfo get -u $QA_ORG_USERNAME -t $QA_ORG_TYPE -i $BITBUCKET_BUILD_NUMBER -n All -s $QA_ORG_PASSWORD - echo 'Deployment Validation On QA/Partial-Dev Org.' - sfDeploy mdapipackage -p $BITBUCKET_CLONE_DIR/$QA_PACKAGE_DIR -c true -u $QA_ORG_USERNAME -s $QA_ORG_PASSWORD -t $QA_ORG_TYPE --successSHA $LATEST_COMMIT_HASH_TAG -i $BITBUCKET_BUILD_NUMBER -l $TEST_LEVEL artifacts: - QADir/Artifacts/** # Pipeline for the master branch branches: 'main': #--------------------------------Step 4---------------------------------- # Automated step as BB Pipeline can not start with a manual step - step: name: Feature Ready for QA script: - echo 'Ready for QA' #--------------------------------Step 5---------------------------------- #QA Org Deployment - step: name: QA Org Deployment deployment: QAOrg trigger: manual script: - echo 'Getting Target Org Status From QA Org' - sfDeploymentInfo get -u $QA_ORG_USERNAME -t $QA_ORG_TYPE -i $BITBUCKET_BUILD_NUMBER -n All -s $QA_ORG_PASSWORD - echo 'Creating a Git Diff based artifact/package' - sfPackages source-combined -p $BITBUCKET_CLONE_DIR/$QA_PACKAGE_DIR -n $LATEST_COMMIT_HASH_TAG -i $BITBUCKET_BUILD_NUMBER || if test $? -eq 21; then exit 0; else exit 1; fi - echo 'Deployment On QA Org.' - sfDeploy mdapipackage -p $BITBUCKET_CLONE_DIR/$QA_PACKAGE_DIR -u $QA_ORG_USERNAME -s $QA_ORG_PASSWORD -t $QA_ORG_TYPE --successSHA $LATEST_COMMIT_HASH_TAG -i $BITBUCKET_BUILD_NUMBER -l RunLocalTests #--------------------------------Step 6---------------------------------- - step: name: Creating Package for UAT Org Deployment trigger: manual script: - echo Getting Target Org Status from UAT Org - sfDeploymentInfo get -u $UAT_ORG_USERNAME -t $UAT_ORG_TYPE -i $BITBUCKET_BUILD_NUMBER -n All -s $UAT_ORG_PASSWORD - echo Creating a Git Diff based artifact/package - sfPackages source-combined -p $BITBUCKET_CLONE_DIR/$UAT_PACKAGE_DIR -n $LATEST_COMMIT_HASH_TAG -i $BITBUCKET_BUILD_NUMBER || if test $? -eq 21; then exit 0; else exit 1; fi artifacts: - UATDir/Artifacts/** #--------------------------------Step 7---------------------------------- - step: name: UAT Validation script: - echo Getting Target Org Status from UAT Org - sfDeploymentInfo get -u $UAT_ORG_USERNAME -t $UAT_ORG_TYPE -i $BITBUCKET_BUILD_NUMBER -n All -s $UAT_ORG_PASSWORD - echo UAT Org Deployment - sfDeploy mdapipackage -p $BITBUCKET_CLONE_DIR/$UAT_PACKAGE_DIR -c true -u $UAT_ORG_USERNAME -s $UAT_ORG_PASSWORD -t $UAT_ORG_TYPE --successSHA $LATEST_COMMIT_HASH_TAG -i $BITBUCKET_BUILD_NUMBER -l RunLocalTests #---------------------------------Step 8--------------------------------- - step: name: UAT Quick Deployment deployment: UATOrg trigger: manual script: - echo Getting Target Org Status from UAT Org - sfDeploymentInfo get -u $UAT_ORG_USERNAME -t $UAT_ORG_TYPE -i $BITBUCKET_BUILD_NUMBER -n All -s $UAT_ORG_PASSWORD - echo UAT Org Deployment - sfDeploy quick-deploy -p $BITBUCKET_CLONE_DIR/$UAT_PACKAGE_DIR -u $UAT_ORG_USERNAME -s $UAT_ORG_PASSWORD -t $UAT_ORG_TYPE --successSHA $LATEST_COMMIT_HASH_TAG -i $BITBUCKET_BUILD_NUMBER #---------------------------------Step 9---------------------------------- - step: name: Creating Package for Prod Org Deployment trigger: manual script: - echo Getting Target Org Status from Prod Org - sfDeploymentInfo get -u $PROD_ORG_USERNAME -t $PROD_ORG_TYPE -i $BITBUCKET_BUILD_NUMBER -n All -s $PROD_ORG_PASSWORD - echo Creating a Git Diff based artifact/package - sfPackages source-combined -p $BITBUCKET_CLONE_DIR/$PROD_PACKAGE_DIR -n $LATEST_COMMIT_HASH_TAG -i $BITBUCKET_BUILD_NUMBER || if test $? -eq 21; then exit 0; else exit 1; fi artifacts: - ProdDir/Artifacts/** #--------------------------------Step 10---------------------------------- - step: name: Prod Validation script: - echo Getting Target Org Status from Prod Org - sfDeploymentInfo get -u $PROD_ORG_USERNAME -t $PROD_ORG_TYPE -i $BITBUCKET_BUILD_NUMBER -n All -s $PROD_ORG_PASSWORD - echo UAT Org Deployment - sfDeploy mdapipackage -p $BITBUCKET_CLONE_DIR/$PROD_PACKAGE_DIR -c true -u $PROD_ORG_USERNAME -s $PROD_ORG_PASSWORD -t $PROD_ORG_TYPE --successSHA $LATEST_COMMIT_HASH_TAG -i $BITBUCKET_BUILD_NUMBER -l RunLocalTests #--------------------------------Step 11--------------------------------- - step: name: Prod Quick Deployment deployment: ProdOrg trigger: manual script: - echo Getting Target Org Status from UAT Org - sfDeploymentInfo get -u $PROD_ORG_USERNAME -t $PROD_ORG_TYPE -i $BITBUCKET_BUILD_NUMBER -n All -s $PROD_ORG_PASSWORD - echo UAT Org Deployment - sfDeploy quick-deploy -p $BITBUCKET_CLONE_DIR/$PROD_PACKAGE_DIR -u $PROD_ORG_USERNAME -s $PROD_ORG_PASSWORD -t $PROD_ORG_TYPE --successSHA $LATEST_COMMIT_HASH_TAG -i $BITBUCKET_BUILD_NUMBER