使用Azure管道部署和运行.exe文件
我正在努力使我的多级管道在Azure VM中运行的托管代理中运行.exe文件 我的.yaml文件是:使用Azure管道部署和运行.exe文件,azure,azure-devops,Azure,Azure Devops,我正在努力使我的多级管道在Azure VM中运行的托管代理中运行.exe文件 我的.yaml文件是: trigger: - develop stages: - stage: build displayName: Build jobs: - job: buildJob pool: vmImage: 'ubuntu-16.04' variables: buildConfiguration: 'Release' step
trigger:
- develop
stages:
- stage: build
displayName: Build
jobs:
- job: buildJob
pool:
vmImage: 'ubuntu-16.04'
variables:
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
inputs:
versionSpec: '5.5.0'
- task: DotNetCoreCLI@2
displayName: 'Dotnet Build $(buildConfiguration)'
inputs:
command: 'build'
arguments: '--configuration $(buildConfiguration)'
projects: '**/TestProj.csproj'
- task: DotNetCoreCLI@2
displayName: "Publish"
inputs:
command: 'publish'
publishWebProjects: false
projects: '**/TestProj.csproj'
arguments: '--no-restore --configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: false
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: Container
- stage: Release
displayName: Release
dependsOn: build
jobs:
- deployment: AzureVMDeploy
displayName: agentDeploy
environment:
name: AzureDeploy
resourceName: vmName
resourceType: VirtualMachine
tags: develop
此VM位于azure管道环境上。运行此管道后,文件夹将下载到VM中,但我找不到如何自动执行此文件夹中的output.exe文件。
我认为方法是创建一个包含任务的作业,但我不知道如何设置VM上安装的代理来运行此任务
我该怎么做呢?如果我理解正确,您希望执行部署到VM的工件文件
我想这应该能帮到你。Yoy可以编写简单的内联脚本来执行文件。但是,您需要在VM上配置远程处理。可能会对您有所帮助。您可以在策略中指定任务:例如:
亚马尔
对于这个YAML管道,我在构建阶段将管道工作区中的所有文件发布到工件,然后在部署阶段将该工件下载到vm1环境的目标虚拟机(文件夹名称为{stage name}.{job name}),然后运行命令行任务以获取文件的内容。(脚本和命令行任务将在该虚拟机上运行)无法获取您的最新信息,以下答案对您有帮助吗?如果您有任何问题,请随时在这里分享。
stages:
- stage: build
jobs:
- job: buildJob
pool:
vmImage: 'Ubuntu-16.04'
steps:
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Pipeline.Workspace)'
publishLocation: 'pipeline'
- stage: deploy
dependsOn: build
jobs:
- deployment: DeployWeb
displayName: deploy Web App
environment:
name: vm1
resourceType: virtualmachine
strategy:
runOnce:
deploy:
steps:
- script: echo my first deployment
- task: CmdLine@2
inputs:
script: 'more README.md'
workingDirectory: '$(Pipeline.Workspace)/build.buildJob/s'