From 971eaaa267c4edabf944bf1cbc51e0cb07b01e59 Mon Sep 17 00:00:00 2001 From: ahriaria <94344410+ahriaria@users.noreply.github.com> Date: Fri, 28 Jan 2022 16:43:30 +0800 Subject: [PATCH 01/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 4652acb..face7af 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -152,6 +152,7 @@ jobs: needs: Build runs-on: ubuntu-latest env: + ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' resourceGroupName: '${{ github.event.inputs.RESOURCE_GROUP }}-Dev' databricksWorkspaceName: '${{ github.event.inputs.WORKSPACE_NAME }}-Dev' keyVaultName: '${{ github.event.inputs.KEY_VAULT_NAME }}-Dev' @@ -282,6 +283,7 @@ jobs: needs: Dev runs-on: ubuntu-latest env: + ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' resourceGroupName: '${{ github.event.inputs.RESOURCE_GROUP }}-QA' databricksWorkspaceName: '${{ github.event.inputs.WORKSPACE_NAME }}-QA' keyVaultName: '${{ github.event.inputs.KEY_VAULT_NAME }}-QA' @@ -412,6 +414,7 @@ jobs: needs: QA runs-on: ubuntu-latest env: + ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' resourceGroupName: '${{ github.event.inputs.RESOURCE_GROUP }}-Prod' databricksWorkspaceName: '${{ github.event.inputs.WORKSPACE_NAME }}-Prod' keyVaultName: '${{ github.event.inputs.KEY_VAULT_NAME }}-Prod' From 33d527ed80f00ca9cab5895f8bf563b84957aba9 Mon Sep 17 00:00:00 2001 From: ahriaria <94344410+ahriaria@users.noreply.github.com> Date: Mon, 31 Jan 2022 11:05:00 +0800 Subject: [PATCH 02/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 162 ++++++++++++++------------------- 1 file changed, 67 insertions(+), 95 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index face7af..2f64178 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -24,60 +24,29 @@ name: Databricks-CI-CD - -# Manual trigger with parameters +# Runs the workflow when the pull request is approved on: - workflow_dispatch: - inputs: - # This is the path of your notebooks in Git. Currently, this is not recursively deploying notebooks - GIT_NOTEBOOK_PATH: - description: 'Notebooks Relative Path in Git' - required: true - default: 'notebooks/MyProject' - - # This is where in your Databricks workspace your notebooks will be deployed - # Typically this is under a Folder under the Workspace and not under a specific user's folder - NOTEBOOK_DEPLOYMENT_PATH: - description: 'Notebooks Deployment Path to Databricks' - required: true - default: '/MyProject' - - # This resource group for the Databricks workspace and KeyVault - RESOURCE_GROUP: - description: 'Resource Group Name' - required: true - default: 'Databricks-MyProject' - - # The Azure region to which to deploy your resources - LOCATION: - description: 'Azure Region' - required: true - default: 'EastUS2' - - # This is the name of your Azure Databricks resource - WORKSPACE_NAME: - description: 'Databricks workspace name' - required: true - default: 'Databricks-MyProject' - - # This is a KeyVault for holding the Service Principal to make Databricks API calls and to hold Databricks KeyVault backed Secrets - KEY_VAULT_NAME: - description: 'KeyVault name' - required: true - default: 'KeyVault-MyProject' - - # This is a KeyVault for holding the Service Principal to make Databricks API calls and to hold Databricks KeyVault backed Secrets - SUBSCRIPTION_ID: - description: 'Azure Subscription Id' - required: true - default: '00000000-0000-0000-0000-000000000000' - - # Inialize the system - # Note: We only want to run the KeyVault ARM template once. If you keep re-running, then you will OVERWRITE your values - MODE: - description: 'Deployment Mode (Databricks or Initialize-KeyVault)' - required: true - default: 'Databricks' + pull_request_review: + types: [submitted] + +env: + # This is the path of your notebooks in Git. Currently, this is not recursively deploying notebooks + GIT_NOTEBOOK_PATH: 'notebooks/MyProject' + # This is where in your Databricks workspace your notebooks will be deployed + NOTEBOOK_DEPLOYMENT_PATH: '/MyProject' + # This resource group for the Databricks workspace and KeyVault + RESOURCE_GROUP: 'Databricks-MyProject' + # The Azure region to which to deploy your resources + LOCATION: 'EastUS2' + # This is the name of your Azure Databricks resource + WORKSPACE_NAME: 'Databricks-MyProject' + # This is a KeyVault for holding the Service Principal to make Databricks API calls and to hold Databricks KeyVault backed Secrets + KEY_VAULT_NAME: 'KeyVault-MyProject2' + # This is a KeyVault for holding the Service Principal to make Databricks API calls and to hold Databricks KeyVault backed Secrets + SUBSCRIPTION_ID: '41940266-5288-4e6f-8a09-f46e525f9bba' + # Inialize the system + # Note: We only want to run the KeyVault ARM template once. If you keep re-running, then you will OVERWRITE your values. 'Deployment Mode (Databricks or Initialize-KeyVault)' + MODE: 'Databricks' jobs: @@ -86,6 +55,9 @@ jobs: # Currently this is not building and JAR files, but you would do that here # This is packaging up the files from Git to the Artifacts files ############################################################# + approved: + if: github.event.review.state == 'approved' + Build: runs-on: ubuntu-latest @@ -153,9 +125,9 @@ jobs: runs-on: ubuntu-latest env: ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' - resourceGroupName: '${{ github.event.inputs.RESOURCE_GROUP }}-Dev' - databricksWorkspaceName: '${{ github.event.inputs.WORKSPACE_NAME }}-Dev' - keyVaultName: '${{ github.event.inputs.KEY_VAULT_NAME }}-Dev' + resourceGroupName: '${{ RESOURCE_GROUP }}-Dev' + databricksWorkspaceName: '${{ WORKSPACE_NAME }}-Dev' + keyVaultName: '${{ KEY_VAULT_NAME }}-Dev' steps: # Show the environment variables for debugging @@ -219,25 +191,25 @@ jobs: # Deploy Databricks Workspace - name: Deploy ARM Template (Databricks) uses: azure/CLI@v1 - # if: ${{ github.event.inputs.MODE == 'SKIP FOR TESTING' }} + # if: ${{ MODE == 'SKIP FOR TESTING' }} with: inlineScript: | - az group create --location "${{ github.event.inputs.LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.databricks.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.databricks.json --parameters workspaceName="${{ env.databricksWorkspaceName }}" # Deploy Azure KeyVault - name: Deploy ARM Template (KeyVault) uses: azure/CLI@v1 - if: ${{ github.event.inputs.MODE == 'Initialize-KeyVault' }} + if: ${{ MODE == 'Initialize-KeyVault' }} with: inlineScript: | - az group create --location "${{ github.event.inputs.LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.keyvault.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.keyvault.json --parameters keyVaultName="${{ env.keyVaultName }}" # Download KeyVault Secrets - name: Download KeyVault Secrets uses: Azure/get-keyvault-secrets@v1.0 - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} with: keyvault: ${{ env.keyVaultName }} secrets: 'databricks-dev-ops-subscription-id,databricks-dev-ops-tenant-id,databricks-dev-ops-client-id,databricks-dev-ops-client-secret' @@ -245,7 +217,7 @@ jobs: # Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - name: Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/init-scripts" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-init-scripts.sh @@ -253,7 +225,7 @@ jobs: # Deploy Databricks Clusters - name: Deploy Databricks Clusters - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/clusters" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-clusters.sh @@ -261,15 +233,15 @@ jobs: # Deploy Databricks Notebooks - name: Deploy Databricks Notebooks - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} run: | - cd "$GITHUB_WORKSPACE/${{ github.event.inputs.GIT_NOTEBOOK_PATH }}" + cd "$GITHUB_WORKSPACE/${{ GIT_NOTEBOOK_PATH }}" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh - $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ github.event.inputs.NOTEBOOK_DEPLOYMENT_PATH }} + $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ NOTEBOOK_DEPLOYMENT_PATH }} # Deploy Databricks Jobs - name: Deploy Databricks Jobs - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/jobs" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-jobs.sh @@ -284,9 +256,9 @@ jobs: runs-on: ubuntu-latest env: ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' - resourceGroupName: '${{ github.event.inputs.RESOURCE_GROUP }}-QA' - databricksWorkspaceName: '${{ github.event.inputs.WORKSPACE_NAME }}-QA' - keyVaultName: '${{ github.event.inputs.KEY_VAULT_NAME }}-QA' + resourceGroupName: '${{ RESOURCE_GROUP }}-QA' + databricksWorkspaceName: '${{ WORKSPACE_NAME }}-QA' + keyVaultName: '${{ KEY_VAULT_NAME }}-QA' steps: # Show the environment variables for debugging @@ -350,25 +322,25 @@ jobs: # Deploy Databricks Workspace - name: Deploy ARM Template (Databricks) uses: azure/CLI@v1 - # if: ${{ github.event.inputs.MODE == 'SKIP FOR TESTING' }} + # if: ${{ MODE == 'SKIP FOR TESTING' }} with: inlineScript: | - az group create --location "${{ github.event.inputs.LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.databricks.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.databricks.json --parameters workspaceName="${{ env.databricksWorkspaceName }}" # Deploy Azure KeyVault - name: Deploy ARM Template (KeyVault) uses: azure/CLI@v1 - if: ${{ github.event.inputs.MODE == 'Initialize-KeyVault' }} + if: ${{ MODE == 'Initialize-KeyVault' }} with: inlineScript: | - az group create --location "${{ github.event.inputs.LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.keyvault.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.keyvault.json --parameters keyVaultName="${{ env.keyVaultName }}" # Download KeyVault Secrets - name: Download KeyVault Secrets uses: Azure/get-keyvault-secrets@v1.0 - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} with: keyvault: ${{ env.keyVaultName }} secrets: 'databricks-dev-ops-subscription-id,databricks-dev-ops-tenant-id,databricks-dev-ops-client-id,databricks-dev-ops-client-secret' @@ -376,7 +348,7 @@ jobs: # Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - name: Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/init-scripts" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-init-scripts.sh @@ -384,7 +356,7 @@ jobs: # Deploy Databricks Clusters - name: Deploy Databricks Clusters - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/clusters" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-clusters.sh @@ -392,15 +364,15 @@ jobs: # Deploy Databricks Notebooks - name: Deploy Databricks Notebooks - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} run: | - cd "$GITHUB_WORKSPACE/${{ github.event.inputs.GIT_NOTEBOOK_PATH }}" + cd "$GITHUB_WORKSPACE/${{ GIT_NOTEBOOK_PATH }}" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh - $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ github.event.inputs.NOTEBOOK_DEPLOYMENT_PATH }} + $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ NOTEBOOK_DEPLOYMENT_PATH }} # Deploy Databricks Jobs - name: Deploy Databricks Jobs - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/jobs" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-jobs.sh @@ -415,9 +387,9 @@ jobs: runs-on: ubuntu-latest env: ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' - resourceGroupName: '${{ github.event.inputs.RESOURCE_GROUP }}-Prod' - databricksWorkspaceName: '${{ github.event.inputs.WORKSPACE_NAME }}-Prod' - keyVaultName: '${{ github.event.inputs.KEY_VAULT_NAME }}-Prod' + resourceGroupName: '${{ RESOURCE_GROUP }}-Prod' + databricksWorkspaceName: '${{ WORKSPACE_NAME }}-Prod' + keyVaultName: '${{ KEY_VAULT_NAME }}-Prod' steps: # Show the environment variables for debugging @@ -481,25 +453,25 @@ jobs: # Deploy Databricks Workspace - name: Deploy ARM Template (Databricks) uses: azure/CLI@v1 - # if: ${{ github.event.inputs.MODE == 'SKIP FOR TESTING' }} + # if: ${{ MODE == 'SKIP FOR TESTING' }} with: inlineScript: | - az group create --location "${{ github.event.inputs.LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.databricks.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.databricks.json --parameters workspaceName="${{ env.databricksWorkspaceName }}" # Deploy Azure KeyVault - name: Deploy ARM Template (KeyVault) uses: azure/CLI@v1 - if: ${{ github.event.inputs.MODE == 'Initialize-KeyVault' }} + if: ${{ MODE == 'Initialize-KeyVault' }} with: inlineScript: | - az group create --location "${{ github.event.inputs.LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.keyvault.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.keyvault.json --parameters keyVaultName="${{ env.keyVaultName }}" # Download KeyVault Secrets - name: Download KeyVault Secrets uses: Azure/get-keyvault-secrets@v1.0 - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} with: keyvault: ${{ env.keyVaultName }} secrets: 'databricks-dev-ops-subscription-id,databricks-dev-ops-tenant-id,databricks-dev-ops-client-id,databricks-dev-ops-client-secret' @@ -507,7 +479,7 @@ jobs: # Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - name: Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/init-scripts" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-init-scripts.sh @@ -515,7 +487,7 @@ jobs: # Deploy Databricks Clusters - name: Deploy Databricks Clusters - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/clusters" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-clusters.sh @@ -523,15 +495,15 @@ jobs: # Deploy Databricks Notebooks - name: Deploy Databricks Notebooks - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} run: | - cd "$GITHUB_WORKSPACE/${{ github.event.inputs.GIT_NOTEBOOK_PATH }}" + cd "$GITHUB_WORKSPACE/${{ GIT_NOTEBOOK_PATH }}" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh - $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ github.event.inputs.NOTEBOOK_DEPLOYMENT_PATH }} + $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ NOTEBOOK_DEPLOYMENT_PATH }} # Deploy Databricks Jobs - name: Deploy Databricks Jobs - if: ${{ github.event.inputs.MODE == 'Databricks' }} + if: ${{ MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/jobs" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-jobs.sh From 754abdf3da78eaf64ef40c9d070fbcfb8a858de7 Mon Sep 17 00:00:00 2001 From: ahriaria <94344410+ahriaria@users.noreply.github.com> Date: Mon, 31 Jan 2022 11:07:51 +0800 Subject: [PATCH 03/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 2f64178..6194813 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -28,6 +28,8 @@ name: Databricks-CI-CD on: pull_request_review: types: [submitted] + branches: + - 'master/**' env: # This is the path of your notebooks in Git. Currently, this is not recursively deploying notebooks @@ -57,9 +59,7 @@ jobs: ############################################################# approved: if: github.event.review.state == 'approved' - - Build: - runs-on: ubuntu-latest + runs-on: ubuntu-latest # Checkout code steps: From 78cbb0c4a03bfb7d05bd7012785556d84e840518 Mon Sep 17 00:00:00 2001 From: ahriaria <94344410+ahriaria@users.noreply.github.com> Date: Mon, 31 Jan 2022 11:11:29 +0800 Subject: [PATCH 04/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 6194813..620ca29 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -58,8 +58,8 @@ jobs: # This is packaging up the files from Git to the Artifacts files ############################################################# approved: - if: github.event.review.state == 'approved' - runs-on: ubuntu-latest + if: github.event.review.state == 'approved' + runs-on: ubuntu-latest # Checkout code steps: From 4e7b5383a95400b4d5e5406c2130928fe4d8142e Mon Sep 17 00:00:00 2001 From: ahriaria <94344410+ahriaria@users.noreply.github.com> Date: Mon, 31 Jan 2022 11:14:28 +0800 Subject: [PATCH 05/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 620ca29..e8885cb 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -59,7 +59,8 @@ jobs: ############################################################# approved: if: github.event.review.state == 'approved' - runs-on: ubuntu-latest + Build: + runs-on: ubuntu-latest # Checkout code steps: From 0f8201ee9a6d439fd420fd3226b616269ac0f31b Mon Sep 17 00:00:00 2001 From: ahriaria <94344410+ahriaria@users.noreply.github.com> Date: Mon, 31 Jan 2022 11:26:40 +0800 Subject: [PATCH 06/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index e8885cb..f6eb677 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -57,10 +57,9 @@ jobs: # Currently this is not building and JAR files, but you would do that here # This is packaging up the files from Git to the Artifacts files ############################################################# - approved: - if: github.event.review.state == 'approved' - Build: + Build: runs-on: ubuntu-latest + if: github.event.review.state == 'approved' # Checkout code steps: From cfafa5d33296bf824dc4102ac17af1bd5b6264a8 Mon Sep 17 00:00:00 2001 From: ahriaria <94344410+ahriaria@users.noreply.github.com> Date: Mon, 31 Jan 2022 11:33:08 +0800 Subject: [PATCH 07/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index f6eb677..835220e 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -29,7 +29,7 @@ on: pull_request_review: types: [submitted] branches: - - 'master/**' + - 'master' env: # This is the path of your notebooks in Git. Currently, this is not recursively deploying notebooks @@ -58,11 +58,11 @@ jobs: # This is packaging up the files from Git to the Artifacts files ############################################################# Build: - runs-on: ubuntu-latest - if: github.event.review.state == 'approved' - + if: github.event.review.state == 'approved' + runs-on: ubuntu-latest + # Checkout code - steps: + steps: - name: Checkout code uses: actions/checkout@v2 From 14b47a0effe77f38fa15c2a5d6fe139b57c49eaf Mon Sep 17 00:00:00 2001 From: ahriaria <94344410+ahriaria@users.noreply.github.com> Date: Mon, 31 Jan 2022 11:53:42 +0800 Subject: [PATCH 08/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 835220e..9e1c580 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -52,14 +52,11 @@ env: jobs: - ############################################################# - # Builds the code - # Currently this is not building and JAR files, but you would do that here - # This is packaging up the files from Git to the Artifacts files - ############################################################# - Build: - if: github.event.review.state == 'approved' - runs-on: ubuntu-latest + approved: + if: github.event.review.state == 'approved' + + Build: + runs-on: ubuntu-latest # Checkout code steps: From 98ea120a0119ae678d188ead453641bc44b54b89 Mon Sep 17 00:00:00 2001 From: ahriaria <94344410+ahriaria@users.noreply.github.com> Date: Mon, 31 Jan 2022 13:32:22 +0800 Subject: [PATCH 09/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 9e1c580..0f7d382 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -51,15 +51,18 @@ env: MODE: 'Databricks' + ############################################################# + # Builds the code + # Currently this is not building and JAR files, but you would do that here + # This is packaging up the files from Git to the Artifacts files + ############################################################# jobs: - approved: - if: github.event.review.state == 'approved' + Build: + if: github.event.review.state == 'approved' + runs-on: ubuntu-latest - Build: - runs-on: ubuntu-latest - # Checkout code - steps: + steps: - name: Checkout code uses: actions/checkout@v2 @@ -112,6 +115,7 @@ jobs: with: name: 'deployment-scripts' path: '${{ github.workspace }}/deployment-scripts' + ############################################################# From f3dd7e8fff788c83a1a11162881e07ae228ddb87 Mon Sep 17 00:00:00 2001 From: ahriaria <94344410+ahriaria@users.noreply.github.com> Date: Mon, 31 Jan 2022 13:36:39 +0800 Subject: [PATCH 10/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 0f7d382..02ee369 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -27,8 +27,9 @@ name: Databricks-CI-CD # Runs the workflow when the pull request is approved on: pull_request_review: - types: [submitted] - branches: + types: + - submitted + branches: - 'master' env: From 0323708f2ecae099821a85ecedd1b21f335334c7 Mon Sep 17 00:00:00 2001 From: ahriaria <94344410+ahriaria@users.noreply.github.com> Date: Mon, 31 Jan 2022 13:41:26 +0800 Subject: [PATCH 11/20] Create test.py --- test.py | 1 + 1 file changed, 1 insertion(+) create mode 100644 test.py diff --git a/test.py b/test.py new file mode 100644 index 0000000..f178301 --- /dev/null +++ b/test.py @@ -0,0 +1 @@ +##test From 247ef04c880e3b1a427ff099b78cba778e6da860 Mon Sep 17 00:00:00 2001 From: ahriaria <94344410+ahriaria@users.noreply.github.com> Date: Mon, 31 Jan 2022 13:42:13 +0800 Subject: [PATCH 12/20] Update test.py --- test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test.py b/test.py index f178301..5fbddc5 100644 --- a/test.py +++ b/test.py @@ -1 +1 @@ -##test +##test 1 From 85adbbf8851d8cc7a3e3d45f791a5db167b414ca Mon Sep 17 00:00:00 2001 From: ahri-anne <98730002+ahri-anne@users.noreply.github.com> Date: Mon, 31 Jan 2022 15:38:07 +0800 Subject: [PATCH 13/20] Update test.py test --- test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test.py b/test.py index 5fbddc5..8413e0c 100644 --- a/test.py +++ b/test.py @@ -1 +1 @@ -##test 1 +##test 2 From 9a3d72278a2919f71cd7d4df46b71d0100d28a31 Mon Sep 17 00:00:00 2001 From: ahri-anne <98730002+ahri-anne@users.noreply.github.com> Date: Wed, 2 Feb 2022 08:51:05 +0800 Subject: [PATCH 14/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 87 ++++++++++++++++------------------ 1 file changed, 42 insertions(+), 45 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 02ee369..999a175 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -126,10 +126,9 @@ jobs: needs: Build runs-on: ubuntu-latest env: - ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' - resourceGroupName: '${{ RESOURCE_GROUP }}-Dev' - databricksWorkspaceName: '${{ WORKSPACE_NAME }}-Dev' - keyVaultName: '${{ KEY_VAULT_NAME }}-Dev' + resourceGroupName: '${{ env.RESOURCE_GROUP }}-Dev' + databricksWorkspaceName: '${{ env.WORKSPACE_NAME }}-Dev' + keyVaultName: '${{ env.KEY_VAULT_NAME }}-Dev' steps: # Show the environment variables for debugging @@ -193,25 +192,25 @@ jobs: # Deploy Databricks Workspace - name: Deploy ARM Template (Databricks) uses: azure/CLI@v1 - # if: ${{ MODE == 'SKIP FOR TESTING' }} + # if: ${{ env.MODE == 'SKIP FOR TESTING' }} with: inlineScript: | - az group create --location "${{ LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.databricks.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.databricks.json --parameters workspaceName="${{ env.databricksWorkspaceName }}" # Deploy Azure KeyVault - name: Deploy ARM Template (KeyVault) uses: azure/CLI@v1 - if: ${{ MODE == 'Initialize-KeyVault' }} + if: ${{ env.MODE == 'Initialize-KeyVault' }} with: inlineScript: | - az group create --location "${{ LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.keyvault.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.keyvault.json --parameters keyVaultName="${{ env.keyVaultName }}" # Download KeyVault Secrets - name: Download KeyVault Secrets uses: Azure/get-keyvault-secrets@v1.0 - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} with: keyvault: ${{ env.keyVaultName }} secrets: 'databricks-dev-ops-subscription-id,databricks-dev-ops-tenant-id,databricks-dev-ops-client-id,databricks-dev-ops-client-secret' @@ -219,7 +218,7 @@ jobs: # Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - name: Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/init-scripts" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-init-scripts.sh @@ -227,7 +226,7 @@ jobs: # Deploy Databricks Clusters - name: Deploy Databricks Clusters - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/clusters" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-clusters.sh @@ -235,15 +234,15 @@ jobs: # Deploy Databricks Notebooks - name: Deploy Databricks Notebooks - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | - cd "$GITHUB_WORKSPACE/${{ GIT_NOTEBOOK_PATH }}" + cd "$GITHUB_WORKSPACE/${{ env.GIT_NOTEBOOK_PATH }}" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh - $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ NOTEBOOK_DEPLOYMENT_PATH }} + $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ env.NOTEBOOK_DEPLOYMENT_PATH }} # Deploy Databricks Jobs - name: Deploy Databricks Jobs - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/jobs" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-jobs.sh @@ -257,10 +256,9 @@ jobs: needs: Dev runs-on: ubuntu-latest env: - ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' - resourceGroupName: '${{ RESOURCE_GROUP }}-QA' - databricksWorkspaceName: '${{ WORKSPACE_NAME }}-QA' - keyVaultName: '${{ KEY_VAULT_NAME }}-QA' + resourceGroupName: '${{ env.RESOURCE_GROUP }}-QA' + databricksWorkspaceName: '${{ env.WORKSPACE_NAME }}-QA' + keyVaultName: '${{ env.KEY_VAULT_NAME }}-QA' steps: # Show the environment variables for debugging @@ -324,25 +322,25 @@ jobs: # Deploy Databricks Workspace - name: Deploy ARM Template (Databricks) uses: azure/CLI@v1 - # if: ${{ MODE == 'SKIP FOR TESTING' }} + # if: ${{ env.MODE == 'SKIP FOR TESTING' }} with: inlineScript: | - az group create --location "${{ LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.databricks.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.databricks.json --parameters workspaceName="${{ env.databricksWorkspaceName }}" # Deploy Azure KeyVault - name: Deploy ARM Template (KeyVault) uses: azure/CLI@v1 - if: ${{ MODE == 'Initialize-KeyVault' }} + if: ${{ env.MODE == 'Initialize-KeyVault' }} with: inlineScript: | - az group create --location "${{ LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.keyvault.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.keyvault.json --parameters keyVaultName="${{ env.keyVaultName }}" # Download KeyVault Secrets - name: Download KeyVault Secrets uses: Azure/get-keyvault-secrets@v1.0 - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} with: keyvault: ${{ env.keyVaultName }} secrets: 'databricks-dev-ops-subscription-id,databricks-dev-ops-tenant-id,databricks-dev-ops-client-id,databricks-dev-ops-client-secret' @@ -350,7 +348,7 @@ jobs: # Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - name: Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/init-scripts" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-init-scripts.sh @@ -358,7 +356,7 @@ jobs: # Deploy Databricks Clusters - name: Deploy Databricks Clusters - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/clusters" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-clusters.sh @@ -366,15 +364,15 @@ jobs: # Deploy Databricks Notebooks - name: Deploy Databricks Notebooks - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | - cd "$GITHUB_WORKSPACE/${{ GIT_NOTEBOOK_PATH }}" + cd "$GITHUB_WORKSPACE/${{ env.GIT_NOTEBOOK_PATH }}" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh - $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ NOTEBOOK_DEPLOYMENT_PATH }} + $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ env.NOTEBOOK_DEPLOYMENT_PATH }} # Deploy Databricks Jobs - name: Deploy Databricks Jobs - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/jobs" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-jobs.sh @@ -388,10 +386,9 @@ jobs: needs: QA runs-on: ubuntu-latest env: - ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' - resourceGroupName: '${{ RESOURCE_GROUP }}-Prod' - databricksWorkspaceName: '${{ WORKSPACE_NAME }}-Prod' - keyVaultName: '${{ KEY_VAULT_NAME }}-Prod' + resourceGroupName: '${{ env.RESOURCE_GROUP }}-Prod' + databricksWorkspaceName: '${{ env.WORKSPACE_NAME }}-Prod' + keyVaultName: '${{ env.KEY_VAULT_NAME }}-Prod' steps: # Show the environment variables for debugging @@ -455,25 +452,25 @@ jobs: # Deploy Databricks Workspace - name: Deploy ARM Template (Databricks) uses: azure/CLI@v1 - # if: ${{ MODE == 'SKIP FOR TESTING' }} + # if: ${{ env.MODE == 'SKIP FOR TESTING' }} with: inlineScript: | - az group create --location "${{ LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.databricks.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.databricks.json --parameters workspaceName="${{ env.databricksWorkspaceName }}" # Deploy Azure KeyVault - name: Deploy ARM Template (KeyVault) uses: azure/CLI@v1 - if: ${{ MODE == 'Initialize-KeyVault' }} + if: ${{ env.MODE == 'Initialize-KeyVault' }} with: inlineScript: | - az group create --location "${{ LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.keyvault.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.keyvault.json --parameters keyVaultName="${{ env.keyVaultName }}" # Download KeyVault Secrets - name: Download KeyVault Secrets uses: Azure/get-keyvault-secrets@v1.0 - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} with: keyvault: ${{ env.keyVaultName }} secrets: 'databricks-dev-ops-subscription-id,databricks-dev-ops-tenant-id,databricks-dev-ops-client-id,databricks-dev-ops-client-secret' @@ -481,7 +478,7 @@ jobs: # Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - name: Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/init-scripts" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-init-scripts.sh @@ -489,7 +486,7 @@ jobs: # Deploy Databricks Clusters - name: Deploy Databricks Clusters - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/clusters" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-clusters.sh @@ -497,15 +494,15 @@ jobs: # Deploy Databricks Notebooks - name: Deploy Databricks Notebooks - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | - cd "$GITHUB_WORKSPACE/${{ GIT_NOTEBOOK_PATH }}" + cd "$GITHUB_WORKSPACE/${{ env.GIT_NOTEBOOK_PATH }}" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh - $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ NOTEBOOK_DEPLOYMENT_PATH }} + $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ env.NOTEBOOK_DEPLOYMENT_PATH }} # Deploy Databricks Jobs - name: Deploy Databricks Jobs - if: ${{ MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/jobs" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-jobs.sh From 61645c1b3fe0bb6b51e8a4928e629a06bd3a2930 Mon Sep 17 00:00:00 2001 From: ahri-anne <98730002+ahri-anne@users.noreply.github.com> Date: Wed, 2 Feb 2022 08:57:09 +0800 Subject: [PATCH 15/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 84 +++++++++++++++++----------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 999a175..d595d5d 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -126,9 +126,9 @@ jobs: needs: Build runs-on: ubuntu-latest env: - resourceGroupName: '${{ env.RESOURCE_GROUP }}-Dev' - databricksWorkspaceName: '${{ env.WORKSPACE_NAME }}-Dev' - keyVaultName: '${{ env.KEY_VAULT_NAME }}-Dev' + resourceGroupName: '${{ env.RESOURCE_GROUP }}-Dev' + databricksWorkspaceName: '${{ env.WORKSPACE_NAME }}-Dev' + keyVaultName: '${{ env.KEY_VAULT_NAME }}-Dev' steps: # Show the environment variables for debugging @@ -192,25 +192,25 @@ jobs: # Deploy Databricks Workspace - name: Deploy ARM Template (Databricks) uses: azure/CLI@v1 - # if: ${{ env.MODE == 'SKIP FOR TESTING' }} + # if: ${{ env.MODE == 'SKIP FOR TESTING' }} with: inlineScript: | - az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.databricks.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.databricks.json --parameters workspaceName="${{ env.databricksWorkspaceName }}" # Deploy Azure KeyVault - name: Deploy ARM Template (KeyVault) uses: azure/CLI@v1 - if: ${{ env.MODE == 'Initialize-KeyVault' }} + if: ${{ env.MODE == 'Initialize-KeyVault' }} with: inlineScript: | - az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.keyvault.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.keyvault.json --parameters keyVaultName="${{ env.keyVaultName }}" # Download KeyVault Secrets - name: Download KeyVault Secrets uses: Azure/get-keyvault-secrets@v1.0 - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} with: keyvault: ${{ env.keyVaultName }} secrets: 'databricks-dev-ops-subscription-id,databricks-dev-ops-tenant-id,databricks-dev-ops-client-id,databricks-dev-ops-client-secret' @@ -218,7 +218,7 @@ jobs: # Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - name: Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/init-scripts" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-init-scripts.sh @@ -226,7 +226,7 @@ jobs: # Deploy Databricks Clusters - name: Deploy Databricks Clusters - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/clusters" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-clusters.sh @@ -234,15 +234,15 @@ jobs: # Deploy Databricks Notebooks - name: Deploy Databricks Notebooks - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | - cd "$GITHUB_WORKSPACE/${{ env.GIT_NOTEBOOK_PATH }}" + cd "$GITHUB_WORKSPACE/${{ env.GIT_NOTEBOOK_PATH }}" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh - $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ env.NOTEBOOK_DEPLOYMENT_PATH }} + $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ env.NOTEBOOK_DEPLOYMENT_PATH }} # Deploy Databricks Jobs - name: Deploy Databricks Jobs - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/jobs" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-jobs.sh @@ -256,9 +256,9 @@ jobs: needs: Dev runs-on: ubuntu-latest env: - resourceGroupName: '${{ env.RESOURCE_GROUP }}-QA' - databricksWorkspaceName: '${{ env.WORKSPACE_NAME }}-QA' - keyVaultName: '${{ env.KEY_VAULT_NAME }}-QA' + resourceGroupName: '${{ env.RESOURCE_GROUP }}-QA' + databricksWorkspaceName: '${{ env.WORKSPACE_NAME }}-QA' + keyVaultName: '${{ env.KEY_VAULT_NAME }}-QA' steps: # Show the environment variables for debugging @@ -322,25 +322,25 @@ jobs: # Deploy Databricks Workspace - name: Deploy ARM Template (Databricks) uses: azure/CLI@v1 - # if: ${{ env.MODE == 'SKIP FOR TESTING' }} + # if: ${{ env.MODE == 'SKIP FOR TESTING' }} with: inlineScript: | - az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.databricks.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.databricks.json --parameters workspaceName="${{ env.databricksWorkspaceName }}" # Deploy Azure KeyVault - name: Deploy ARM Template (KeyVault) uses: azure/CLI@v1 - if: ${{ env.MODE == 'Initialize-KeyVault' }} + if: ${{ env.MODE == 'Initialize-KeyVault' }} with: inlineScript: | - az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.keyvault.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.keyvault.json --parameters keyVaultName="${{ env.keyVaultName }}" # Download KeyVault Secrets - name: Download KeyVault Secrets uses: Azure/get-keyvault-secrets@v1.0 - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} with: keyvault: ${{ env.keyVaultName }} secrets: 'databricks-dev-ops-subscription-id,databricks-dev-ops-tenant-id,databricks-dev-ops-client-id,databricks-dev-ops-client-secret' @@ -348,7 +348,7 @@ jobs: # Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - name: Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/init-scripts" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-init-scripts.sh @@ -356,7 +356,7 @@ jobs: # Deploy Databricks Clusters - name: Deploy Databricks Clusters - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/clusters" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-clusters.sh @@ -364,15 +364,15 @@ jobs: # Deploy Databricks Notebooks - name: Deploy Databricks Notebooks - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | - cd "$GITHUB_WORKSPACE/${{ env.GIT_NOTEBOOK_PATH }}" + cd "$GITHUB_WORKSPACE/${{ env.GIT_NOTEBOOK_PATH }}" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh - $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ env.NOTEBOOK_DEPLOYMENT_PATH }} + $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ env.NOTEBOOK_DEPLOYMENT_PATH }} # Deploy Databricks Jobs - name: Deploy Databricks Jobs - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/jobs" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-jobs.sh @@ -386,9 +386,9 @@ jobs: needs: QA runs-on: ubuntu-latest env: - resourceGroupName: '${{ env.RESOURCE_GROUP }}-Prod' - databricksWorkspaceName: '${{ env.WORKSPACE_NAME }}-Prod' - keyVaultName: '${{ env.KEY_VAULT_NAME }}-Prod' + resourceGroupName: '${{ env.RESOURCE_GROUP }}-Prod' + databricksWorkspaceName: '${{ env.WORKSPACE_NAME }}-Prod' + keyVaultName: '${{ env.KEY_VAULT_NAME }}-Prod' steps: # Show the environment variables for debugging @@ -452,25 +452,25 @@ jobs: # Deploy Databricks Workspace - name: Deploy ARM Template (Databricks) uses: azure/CLI@v1 - # if: ${{ env.MODE == 'SKIP FOR TESTING' }} + # if: ${{ env.MODE == 'SKIP FOR TESTING' }} with: inlineScript: | - az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.databricks.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.databricks.json --parameters workspaceName="${{ env.databricksWorkspaceName }}" # Deploy Azure KeyVault - name: Deploy ARM Template (KeyVault) uses: azure/CLI@v1 - if: ${{ env.MODE == 'Initialize-KeyVault' }} + if: ${{ env.MODE == 'Initialize-KeyVault' }} with: inlineScript: | - az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" + az group create --location "${{ env.LOCATION }}" --name "${{ env.resourceGroupName }}" az deployment group create --resource-group ${{ env.resourceGroupName }} --template-file $GITHUB_WORKSPACE/ARM-Templates/azuredeploy.keyvault.json --parameters @$GITHUB_WORKSPACE/ARM-Templates/parameters.keyvault.json --parameters keyVaultName="${{ env.keyVaultName }}" # Download KeyVault Secrets - name: Download KeyVault Secrets uses: Azure/get-keyvault-secrets@v1.0 - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} with: keyvault: ${{ env.keyVaultName }} secrets: 'databricks-dev-ops-subscription-id,databricks-dev-ops-tenant-id,databricks-dev-ops-client-id,databricks-dev-ops-client-secret' @@ -478,7 +478,7 @@ jobs: # Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - name: Deploy your Databricks Init Scripts to dbfa:/init-scripts folder on DBFS - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/init-scripts" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-init-scripts.sh @@ -486,7 +486,7 @@ jobs: # Deploy Databricks Clusters - name: Deploy Databricks Clusters - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/clusters" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-clusters.sh @@ -494,15 +494,15 @@ jobs: # Deploy Databricks Notebooks - name: Deploy Databricks Notebooks - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | - cd "$GITHUB_WORKSPACE/${{ env.GIT_NOTEBOOK_PATH }}" + cd "$GITHUB_WORKSPACE/${{ env.GIT_NOTEBOOK_PATH }}" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh - $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ env.NOTEBOOK_DEPLOYMENT_PATH }} + $GITHUB_WORKSPACE/deployment-scripts/deploy-notebooks.sh ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-tenant-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-id }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-client-secret }} ${{ steps.databricksSecretAction.outputs.databricks-dev-ops-subscription-id }} ${{ env.resourceGroupName }} ${{ env.databricksWorkspaceName }} ${{ env.NOTEBOOK_DEPLOYMENT_PATH }} # Deploy Databricks Jobs - name: Deploy Databricks Jobs - if: ${{ env.MODE == 'Databricks' }} + if: ${{ env.MODE == 'Databricks' }} run: | cd "$GITHUB_WORKSPACE/jobs" chmod +x $GITHUB_WORKSPACE/deployment-scripts/deploy-jobs.sh From b772fe6779238ac4c46b729b9242c2a71e2e561d Mon Sep 17 00:00:00 2001 From: ahri-anne <98730002+ahri-anne@users.noreply.github.com> Date: Wed, 2 Feb 2022 09:39:26 +0800 Subject: [PATCH 16/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index d595d5d..bf4beed 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -126,9 +126,9 @@ jobs: needs: Build runs-on: ubuntu-latest env: - resourceGroupName: '${{ env.RESOURCE_GROUP }}-Dev' - databricksWorkspaceName: '${{ env.WORKSPACE_NAME }}-Dev' - keyVaultName: '${{ env.KEY_VAULT_NAME }}-Dev' + resourceGroupName: 'Databricks-MyProject-Dev' + databricksWorkspaceName: 'Databricks-MyProject-Dev' + keyVaultName: 'KeyVault-MyProject2-Dev' steps: # Show the environment variables for debugging @@ -256,9 +256,9 @@ jobs: needs: Dev runs-on: ubuntu-latest env: - resourceGroupName: '${{ env.RESOURCE_GROUP }}-QA' - databricksWorkspaceName: '${{ env.WORKSPACE_NAME }}-QA' - keyVaultName: '${{ env.KEY_VAULT_NAME }}-QA' + resourceGroupName: 'Databricks-MyProject-QA' + databricksWorkspaceName: 'Databricks-MyProject-QA' + keyVaultName: 'KeyVault-MyProject2-QA' steps: # Show the environment variables for debugging @@ -386,9 +386,9 @@ jobs: needs: QA runs-on: ubuntu-latest env: - resourceGroupName: '${{ env.RESOURCE_GROUP }}-Prod' - databricksWorkspaceName: '${{ env.WORKSPACE_NAME }}-Prod' - keyVaultName: '${{ env.KEY_VAULT_NAME }}-Prod' + resourceGroupName: 'Databricks-MyProject-Prod' + databricksWorkspaceName: 'Databricks-MyProject-Prod' + keyVaultName: 'KeyVault-MyProject2-Prod' steps: # Show the environment variables for debugging From bfa6480f6c3e013f617e03a8d51ea93807120490 Mon Sep 17 00:00:00 2001 From: ahri-anne <98730002+ahri-anne@users.noreply.github.com> Date: Wed, 2 Feb 2022 09:56:08 +0800 Subject: [PATCH 17/20] Update pipeline.yml --- .github/workflows/pipeline.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index bf4beed..9c8a7d8 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -126,6 +126,7 @@ jobs: needs: Build runs-on: ubuntu-latest env: + ACTIONS_ALLOW_UNSECURE_COMMANDS=true resourceGroupName: 'Databricks-MyProject-Dev' databricksWorkspaceName: 'Databricks-MyProject-Dev' keyVaultName: 'KeyVault-MyProject2-Dev' @@ -256,6 +257,7 @@ jobs: needs: Dev runs-on: ubuntu-latest env: + ACTIONS_ALLOW_UNSECURE_COMMANDS=true resourceGroupName: 'Databricks-MyProject-QA' databricksWorkspaceName: 'Databricks-MyProject-QA' keyVaultName: 'KeyVault-MyProject2-QA' @@ -386,6 +388,7 @@ jobs: needs: QA runs-on: ubuntu-latest env: + ACTIONS_ALLOW_UNSECURE_COMMANDS=true resourceGroupName: 'Databricks-MyProject-Prod' databricksWorkspaceName: 'Databricks-MyProject-Prod' keyVaultName: 'KeyVault-MyProject2-Prod' From 9edb2019914d4ba2c5c25906ecfc3182718b4ae8 Mon Sep 17 00:00:00 2001 From: ahriaria <94344410+ahriaria@users.noreply.github.com> Date: Wed, 2 Feb 2022 13:33:32 +0800 Subject: [PATCH 18/20] Delete test.py --- test.py | 1 - 1 file changed, 1 deletion(-) delete mode 100644 test.py diff --git a/test.py b/test.py deleted file mode 100644 index 8413e0c..0000000 --- a/test.py +++ /dev/null @@ -1 +0,0 @@ -##test 2 From cb515ce463a1a2fea5ab9f45166a66b6689e2cb3 Mon Sep 17 00:00:00 2001 From: ahri-anne Date: Wed, 2 Feb 2022 05:50:58 +0000 Subject: [PATCH 19/20] test --- test.py | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 test.py diff --git a/test.py b/test.py new file mode 100644 index 0000000..cdad790 --- /dev/null +++ b/test.py @@ -0,0 +1,2 @@ +# Databricks notebook source + From e537bbcd92243bd8cd016fd4eb449f1212eee161 Mon Sep 17 00:00:00 2001 From: ahri-anne Date: Wed, 2 Feb 2022 05:53:20 +0000 Subject: [PATCH 20/20] test --- test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test.py b/test.py index cdad790..388fddf 100644 --- a/test.py +++ b/test.py @@ -1,2 +1,2 @@ # Databricks notebook source - +###test