Created ADO pipeline (#57)
- Disables the github workflow for infrastructures - Adds an ADO pipeline - Current code is just a dummy pipeline test
This commit is contained in:
Родитель
fb6c234734
Коммит
4eb6984687
|
@ -1,74 +0,0 @@
|
|||
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# Licensed under the MIT license.
|
||||
|
||||
name: Azure ARM
|
||||
on:
|
||||
push:
|
||||
# Runs tests for pushes to main branch.
|
||||
branches:
|
||||
- '*'
|
||||
# Runs tests for any PRs.
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Checkout code
|
||||
- uses: actions/checkout@main
|
||||
|
||||
# Log into Azure
|
||||
- uses: azure/login@v1
|
||||
with:
|
||||
creds: ${{ secrets.AZURE_CREDENTIALS }}
|
||||
|
||||
- name: Setup environment
|
||||
id: vars
|
||||
shell: bash
|
||||
run: |
|
||||
echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
|
||||
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
|
||||
MD5_OUTPUT="$(echo $(date +%s) | md5sum | awk '{print $1}')"
|
||||
echo "::set-output name=ENV_CODE::$(echo pr${MD5_OUTPUT:0:7})"
|
||||
|
||||
- name: Install Azure Infrastructure
|
||||
run: |
|
||||
chars='@#$%&_+='
|
||||
export POSTGRES_ADMIN_LOGIN_PASS=$({ </dev/urandom LC_ALL=C grep -ao '[A-Za-z0-9]' | head -n$((RANDOM % 8 + 9)); echo ${chars:$((RANDOM % ${#chars})):1}; } | shuf | tr -d '\n')
|
||||
./deploy/setup.sh ${{ steps.vars.outputs.ENV_CODE }} eastus custom-vision-model-v2 ${{ steps.vars.outputs.ENV_CODE }}-environment ${{ secrets.CI_BATCH_ACCOUNT_NAME }}
|
||||
shell: bash
|
||||
|
||||
- name: Grant Admin role for synapse workspace to github service-principal and AAD group
|
||||
run: |
|
||||
# Granting role to principal-id for github workflow
|
||||
az synapse role assignment create --workspace-name ${{ steps.vars.outputs.ENV_CODE }}-pipeline-syn-ws --role "Synapse Administrator" --assignee $(az account show --query 'user.name' -o tsv)
|
||||
# Granting role to principal-id for AAD group
|
||||
if [[ ! -z ${{ secrets.AAD_GROUP_PRINCIPAL_ID }} ]]; then
|
||||
az synapse role assignment create --workspace-name ${{ steps.vars.outputs.ENV_CODE }}-pipeline-syn-ws --role "Synapse Administrator" --assignee ${{ secrets.AAD_GROUP_PRINCIPAL_ID }}
|
||||
fi
|
||||
shell: bash
|
||||
|
||||
- name: Execute pipeline
|
||||
run: BATCH_ACCOUNT_NAME=${{ secrets.CI_BATCH_ACCOUNT_NAME }} SOURCE_STORAGE_ACCOUNT_NAME=${{ secrets.CI_STORAGE_ACCOUNT }} ./test/deploy-prepare-and-test-pipeline.sh ${{ steps.vars.outputs.ENV_CODE }}
|
||||
shell: bash
|
||||
|
||||
outputs:
|
||||
ENV_CODE: ${{ steps.vars.outputs.ENV_CODE }}
|
||||
|
||||
cleanup:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build-and-deploy
|
||||
if: always()
|
||||
steps:
|
||||
# Checkout code
|
||||
- uses: actions/checkout@main
|
||||
# Log into Azure
|
||||
- uses: azure/login@v1
|
||||
with:
|
||||
creds: ${{ secrets.AZURE_CREDENTIALS }}
|
||||
|
||||
- name: Cleanup the resources
|
||||
run: ./deploy/cleanup.sh "${{ needs.build-and-deploy.outputs.ENV_CODE }}" ${{ secrets.CI_BATCH_ACCOUNT_NAME }}
|
||||
shell: bash
|
|
@ -0,0 +1,56 @@
|
|||
# Copyright (c) Microsoft Corporation.
|
||||
# Licensed under the MIT license.
|
||||
|
||||
|
||||
name: $(Date:yyyyMMdd)$(Rev:.r)
|
||||
parameters:
|
||||
- name: KEYVAULT_NAME
|
||||
displayName: Keyvault Name
|
||||
type: string
|
||||
default: cipipelineresources
|
||||
|
||||
variables:
|
||||
- name: serviceConnectionToAzure
|
||||
value: 'github-az-creds'
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
- releases/*
|
||||
paths:
|
||||
exclude:
|
||||
- '*.md'
|
||||
- docs
|
||||
- deploy/README.md
|
||||
|
||||
trigger:
|
||||
batch: true
|
||||
branches:
|
||||
include:
|
||||
- '*'
|
||||
paths:
|
||||
exclude:
|
||||
- '*.md'
|
||||
- docs
|
||||
- deploy/README.md
|
||||
|
||||
pool:
|
||||
vmImage: ubuntu-latest
|
||||
|
||||
jobs:
|
||||
- job: RunE2ETest
|
||||
displayName: "Deploy Infrastructure and run Synapse Pipeline"
|
||||
timeoutInMinutes: 300
|
||||
steps:
|
||||
- task: AzureCLI@1
|
||||
inputs:
|
||||
azureSubscription: '$(serviceConnectionToAzure)'
|
||||
scriptLocation: inlineScript
|
||||
inlineScript: |
|
||||
set -ex
|
||||
echo This is a sample test!!!
|
||||
az vm list --output table
|
||||
echo Test ran successfully!!!
|
||||
addSpnToEnvironment: true
|
||||
useGlobalConfig: true
|
Загрузка…
Ссылка в новой задаче