0

I have an azure function app that is running on Azure. I am now trying to configure the application based on a powershell script. This powershell script is being used to create azure resources (Ex: KeyVault, ApplicationInsights...) that will be then used by the function app. I created the powershell script and my question here is how can I add the powershell script in the yaml file which is responsible to deploy the application. The powershell script is located in the repository under the name functionapp.ps1 . The idea here is to run the powershell script once the build is finished so in the deploy stage. What I did so far is the following:

 stages:
 - stage: Build
   displayName: Build stage
    
   jobs:
   - job: Build
     displayName: Build
     pool:
       vmImage: $(vmImageName)
    
     steps:
     - task: DotNetCoreCLI@2
       displayName: Build
       inputs:
         command: 'build'
         projects: |
           $(workingDirectory)/*.csproj
         arguments: --output $(System.DefaultWorkingDirectory)/publish_output --configuration Release
    
     - task: ArchiveFiles@2
       displayName: 'Archive files'
       inputs:
         rootFolderOrFile: '$(System.DefaultWorkingDirectory)/publish_output'
         includeRootFolder: false
         archiveType: zip
         archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
         replaceExistingArchive: true
    
     - publish: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
       artifact: drop
    
 - stage: Deploy
   displayName: Deploy stage
   dependsOn: Build
   condition: succeeded()
    
   jobs:
   - deployment: Deploy
     displayName: Deploy
     environment: 'development'
     pool:
       vmImage: $(vmImageName)
    
     strategy:
       runOnce:
         deploy:
    
           steps:
           - task: CmdLine@2
             inputs:
               script: |
                 echo  '$(System.DefaultWorkingDirectory)'
                 dir
                    
           - task: PowerShell@2
             inputs:
               targetType: 'filePath'
               filePath: $(System.DefaultWorkingDirectory)/functionapp.ps1
    
           - task: AzureFunctionApp@1
             displayName: 'Azure functions app deploy'
             inputs:
               azureSubscription: '$(azureSubscription)'
               appType: functionApp
               appName: $(functionAppName)
               package: '$(Pipeline.Workspace)/drop/$(Build.BuildId).zip'

When the stages are being run and it arrives to this task I get the following error:

##[error]Invalid file path 'D:\a\1\s\functionapp.ps1'. A path to a .ps1 file is required.

I tried using the command line task to check the default working directory and I got the following result: D:\a\1\s

I still don't know what I am missing here and why I am getting this error. Can someone please give me a concrete solution to this problem ?

I ended up having the same error. Can someone please tell me what is the issue here ?

2

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.