Как преобразовать классическую работу сборки в сборку yaml в AzureDevops - PullRequest
1 голос
/ 07 ноября 2019

У нас есть классическая работа по сборке в Azure Devops с собственным пулом агентов. Но когда мы попытались преобразовать это задание на сборку в метод yaml, при выполнении ни один агент не получил назначение и его зависание. Не могли бы вы исправить меня здесь, если я что-то выполняю.

Ошибка

«Все подходящие агенты отключены или отключены»

ниже приведен преобразованный файл 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'

1 Ответ

1 голос
/ 07 ноября 2019

Как я только что подтвердил, вы не сделали ничего плохого, это проблема, вызванная нашей стороной.

Если вы будете ждать более 10 или дюжины минут, он прекратит блокировку агента и начнет выполнять конвейер. Но если бы в агенте был ненормально скомпилированный процесс:

enter image description here

Это неудобство, которое нужно исправить.


Я поднял заявку на эту проблему на нашем официальном форуме и привлек группу разработчиков для исправления этого ненормального процесса компиляции: Облицовка Все подходящие агенты отключены или ошибка в автономном режиме, когда я указал то же требование, которое отлично работает в Classic .

Вы можете подписаться на этот тикет, мы сообщим вам, как только мы добьемся прогресса или исправлений, развернутых. Таким образом, вы можете отслеживать последние достижения в этом вопросе.

Кроме того, чтобы другие пользователи SO не могли запутаться, когда они сталкиваются с подобной проблемой, также обновят сообщение здесь. все нормально с классическим конвейером, пожалуйста, сначала используйте classic для настройки конвейера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...