File: python-consumption.yml

package info (click to toggle)
azure-functions-devops-build 0.0.22-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 556 kB
  • sloc: python: 2,422; sh: 12; makefile: 8
file content (70 lines) | stat: -rw-r--r-- 2,518 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Configure the details of the functionapp
variables:
  azureSubscription: '{ARM ACCESS TOKEN NAME}'
  storageName: '{STORAGE NAME OF FUNCTIONAPP}'
  functionappName: '{NAME OF FUNCTIONAPP}'
  resourceGroupName: '{RESOURCE GROUP NAME OF FUNCTIONAPP}'

jobs:
  # Build the python packages in a virtual env
  - job: Build
    pool:
      vmImage: ubuntu-16.04
    steps:
    - task: UsePythonVersion@0
      displayName: "Setting python version to 3.6 as required by functions"
      inputs:
        versionSpec: '3.6'
        architecture: 'x64'
    - script: |
        dotnet restore # COMMENT OUT IF NOT USING FUNCTION EXTENSIONS
        dotnet build --runtime ubuntu.16.04-x64 --output './bin/' # COMMENT OUT IF NOT USING FUNCTION EXTENSIONS
        python3.6 -m venv worker_venv
        source worker_venv/bin/activate
        pip3.6 install setuptools
        pip3.6 install -r requirements.txt
    - task: ArchiveFiles@2
      displayName: "Archive files"
      inputs:
        rootFolderOrFile: "$(System.DefaultWorkingDirectory)"
        includeRootFolder: false
        archiveFile: "$(System.DefaultWorkingDirectory)/build$(Build.BuildId).zip"
    - task: PublishBuildArtifacts@1
      inputs:
        PathtoPublish: '$(System.DefaultWorkingDirectory)/build$(Build.BuildId).zip'
        name: 'drop'
  # Download the build artifacts from 
  - job: Deploy
    pool:
      vmImage: 'VS2017-Win2016'
    steps:
    - task: DownloadBuildArtifacts@0
      inputs:
        buildType: 'current'
        downloadType: 'single'
        artifactName: 'drop'
        downloadPath: '$(System.DefaultWorkingDirectory)'
    - task: AzureFileCopy@2
      inputs:
        sourcePath: "drop/build$(Build.BuildId).zip"
        azureConnectionType: 'ConnectedServiceNameARM'
        azureSubscription: "$(azureSubscription)"
        destination: azureBlob
        storage: "$(storageName)"
        containerName: 'azure-build'
    - task: createsastoken@1
      inputs:
        ConnectedServiceName: "$(azureSubscription)"
        StorageAccountRM: "$(storageName)"
        SasTokenTimeOutInHours: 10000
        Permission: 'r'
        StorageContainerName: 'azure-build'
    - task: AzureAppServiceSetAppSettings@2
      inputs:
        ConnectedServiceName: "$(azureSubscription)"
        WebAppName: "$(functionappName)"
        ResourceGroupName: "$(resourceGroupName)"
        AppSettings: "WEBSITE_RUN_FROM_PACKAGE='$(storageUri)/build$(Build.BuildId).zip$(storageToken)'"

    dependsOn: Build
    condition: succeeded()