Skip to content

deploy-online-endpoint-pipeline #69

deploy-online-endpoint-pipeline

deploy-online-endpoint-pipeline #69

name: deploy-online-endpoint-pipeline
on:
workflow_dispatch:
jobs:
get-config:
uses: Azure/mlops-templates/.github/workflows/read-yaml.yml@main
with:
file_name: config-infra-prod.yml
get-endpoint:
needs: get-config
runs-on: ubuntu-latest
outputs:
check_enpoint: ${{ steps.get-ml-endpoint.outputs.CHECK_ENPOINT }}
name_enpoint: ${{ format('taxi{0}', needs.get-config.outputs.oep) }}
steps:
- name: "Az CLI login"
uses: azure/login@v1
with:
creds: ${{secrets.AZURE_CREDENTIALS}}
enable-AzPSSession: true
- name: install-extension
run: az extension add -n ml -y
- name: update-extension
run: az extension update -n ml
- id: get-ml-endpoint
name: get-ml-endpoint
run: |
check_endpoint=$(az ml online-endpoint show --n ${{ format('taxi{0}', needs.get-config.outputs.oep) }} -g ${{ needs.get-config.outputs.resource_group }} -w ${{ needs.get-config.outputs.aml_workspace }} --query name | sed -e 's/^"//' -e 's/"$//')
echo "CHECK_ENPOINT=$check_endpoint" >> $GITHUB_OUTPUT
update-endpoint:
if: ${{ needs.get-endpoint.outputs.check_enpoint == needs.get-endpoint.outputs.name_enpoint }}
needs: [get-config, get-endpoint]
runs-on: ubuntu-latest
steps:
- name: "Az CLI login"
uses: azure/login@v1
with:
creds: ${{secrets.AZURE_CREDENTIALS}}
enable-AzPSSession: true
- name: install-extension
run: az extension add -n ml -y
- name: update-extension
run: az extension update -n ml
- id: get-ml-endpoint
name: get-ml-endpoint
run: |
az ml online-endpoint update -n ${{ format('taxi{0}', needs.get-config.outputs.oep) }} --file mlops/azureml/deploy/online/online-endpoint.yml --resource-group ${{ needs.get-config.outputs.resource_group }} --workspace-name ${{ needs.get-config.outputs.aml_workspace }}
create-endpoint:
if: ${{ needs.get-endpoint.outputs.check_enpoint != needs.get-endpoint.outputs.name_enpoint }}
needs: [get-config, get-endpoint]
uses: Azure/mlops-templates/.github/workflows/create-endpoint.yml@main
with:
resource_group: ${{ needs.get-config.outputs.resource_group }}
workspace_name: ${{ needs.get-config.outputs.aml_workspace }}
endpoint_file: mlops/azureml/deploy/online/online-endpoint.yml
endpoint_name: ${{ format('taxi{0}', needs.get-config.outputs.oep) }}
endpoint_type: online
secrets:
creds: ${{secrets.AZURE_CREDENTIALS}}
update-deployment:
if: ${{ needs.get-endpoint.outputs.check_enpoint == needs.get-endpoint.outputs.name_enpoint }}
needs: [get-config, get-endpoint]
runs-on: ubuntu-latest
steps:
- name: "Az CLI login"
uses: azure/login@v1
with:
creds: ${{secrets.AZURE_CREDENTIALS}}
enable-AzPSSession: true
- name: install-extension
run: az extension add -n ml -y
- name: update-extension
run: az extension update -n ml
- id: get-ml-deployment
name: get-ml-deployment
run: |
az ml online-deployment update -n taxi-online-dp --file mlops/azureml/deploy/online/online-endpoint.yml --resource-group ${{ needs.get-config.outputs.resource_group }} --workspace-name ${{ needs.get-config.outputs.aml_workspace }} --endpoint-name ${{ format('taxi{0}', needs.get-config.outputs.oep) }}
create-deployment:
if: ${{ needs.get-endpoint.outputs.check_enpoint != needs.get-endpoint.outputs.name_enpoint }}
needs: [get-config, get-endpoint]
uses: Azure/mlops-templates/.github/workflows/create-deployment.yml@main
with:
resource_group: ${{ needs.get-config.outputs.resource_group }}
workspace_name: ${{ needs.get-config.outputs.aml_workspace }}
endpoint_file: mlops/azureml/deploy/online/online-deployment.yml
endpoint_name: ${{ format('taxi{0}', needs.get-config.outputs.oep) }}
endpoint_type: online
deployment_name: taxi-online-dp
secrets:
creds: ${{secrets.AZURE_CREDENTIALS}}
allocate-traffic:
uses: Azure/mlops-templates/.github/workflows/allocate-traffic.yml@main
needs: [get-config]
with:
resource_group: ${{ needs.get-config.outputs.resource_group }}
workspace_name: ${{ needs.get-config.outputs.aml_workspace }}
traffic_allocation: taxi-online-dp=100
endpoint_name: ${{ format('taxi{0}', needs.get-config.outputs.oep) }}
secrets:
creds: ${{secrets.AZURE_CREDENTIALS}}