我们在 azure Devops 中有一个工作经典构建作业,具有自托管代理池。但是,当我们尝试将此构建作业转换为 yaml 方法时,在执行时没有分配代理并挂起。如果我正在做某事,您能在这里纠正我吗?
Error
“所有符合条件的代理均已禁用或离线”
下面是从经典构建代理作业转换后的 yaml 文件
pool:
name: MYpool
demands: maven
#Your build pipeline references an undefined variable named ‘Parameters.mavenPOMFile’. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab. See https://go.microsoft.com/fwlink/?linkid=865972
steps:
- task: Maven@3
displayName: 'Maven pom.xml'
inputs:
mavenPomFile: '$(Parameters.mavenPOMFile)'
- task: CopyFiles@2
displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
inputs:
SourceFolder: '$(system.defaultworkingdirectory)'
Contents: '**/*.war'
TargetFolder: '$(build.artifactstagingdirectory)'
condition: succeededOrFailed()
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: Root'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
ArtifactName: Root
condition: succeededOrFailed()
- task: CopyFiles@2
displayName: 'Copy wars to build directory'
inputs:
SourceFolder: '$(build.artifactstagingdirectory)/target'
TargetFolder: '/home/myadmin/builds/$(build.buildnumber)'
- task: CopyFiles@2
displayName: 'copying docker file to Build Directory'
inputs:
SourceFolder: Admin
TargetFolder: '/home/myadmin/builds/$(build.buildnumber)'
- bash: |
# Write your commands here
mv /home/myadmin/builds/$(build.buildnumber)/mypack0.0.1.war /home/myadmin/builds/$(build.buildnumber)/ROOT.war
displayName: 'Name war file Root.war'
- task: Docker@2
displayName: 'Build the docker image'
inputs:
repository: 'mycontainerregistry.azurecr.io/myservice'
command: build
Dockerfile: '/home/myadmin/builds/$(build.buildnumber)/Dockerfile'
tags: '$(Build.BuildNumber)-DEV'
- bash: |
# Write your commands here
docker login mycontainerregistry.azurecr.io
docker push mycontainerregistry.azurecr.io/myservice:$(Build.BuildNumber)-DEV
displayName: 'Push Docker Image'
- task: CopyFiles@2
displayName: 'Copy Deployment file'
inputs:
SourceFolder: /home/myadmin/kubernetes
TargetFolder: '/home/myadmin/builds/$(build.buildnumber)'
- task: qetza.replacetokens.replacetokens-task.replacetokens@3
displayName: 'Replace image in deployment file'
inputs:
rootDirectory: '/home/myadmin/builds/$(build.buildnumber)'
targetFiles: '**/*.yml'
在我之前的回答中,我说过当我等待近20-30分钟时,代理界面会提示以下消息。
事实上,这是一个过程自动将代理升级到最新版本.
是的,当您将 YAML 与私有代理一起使用时,代理版本必须是最新的。不管你加不加要求。
对于我们的系统来说,代理版 is a implicit当您在 YAML 中应用它时,要求您的代理必须满足最新的代理。
如果不满足,则会被阻止,一段时间后系统将强制自动执行代理升级过程。
因此,要成功执行 YAML 中的私有代理,请手动将代理升级到最新版本.
因为我和我的同事谈论的内容都是微软的私人信息ticket https://developercommunity.visualstudio.com/content/problem/811315/facing-all-eligible-agents-are-disabled-or-offline.html,抱歉您无法在此摘要中看到。所以,我把它的截图给大家分享一下,大家可以参考一下:https://i.stack.imgur.com/P8Qld.jpg https://i.stack.imgur.com/P8Qld.jpg
我们仍在研究为什么系统会提示如此令人困惑的消息,例如:All eligible agents are disabled or offline
。并且,我正在尝试做一些贡献以使此消息更加清晰,例如:no agents meet demands: agent version xxx
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)