#azure #github #pipeline #github-actions
#azure #github #конвейер #github-действия
Вопрос:
После некоторых необъяснимых сбоев моего конвейера сборки на GitHub actions на платформе Windows я решил перенести эту часть только на Azure devops. Теперь у меня есть рабочий процесс GitHub, который использует:
- uses: azure/pipelines@v1
with:
azure-devops-project-url: 'https://dev.azure.com/organization/project-name'
azure-pipeline-name: 'pipeline-name' # name of the Azure pipeline to be triggered
azure-devops-token: '${{ secrets.AZURE_DEVOPS_TOKEN }}'
для запуска сборки и тестов Windows.
Сейчас я немного пытаюсь извлечь и загрузить свой артефакт обратно в GitHub, чтобы его можно было развернуть на PyPI вместе с артефактами Linux и Mac.
Мои замечания:
- Кажется, что вышеупомянутые задачи возвращаются сразу после его запуска, что имеет смысл, поскольку вы не хотите использовать ресурсы GitHub, пока ваш конвейер работает в Azure. Тогда как получать уведомления о завершении?
- Как на самом деле получить артефакт? Со своей стороны я использовал приведенный ниже фрагмент…
- name: 'Download artifacts from Azure devops build pipeline'
uses: manishsat/ado-download-artifact@v3
with:
buildDefinitionId: 'latest'
pattoken: ${{ secrets.AZURE_DEVOPS_TOKEN }}
artifactName: 'wh_windows'
orgName: 'guillaumealleon'
projectId: 'scikit-decide'
но это не работает. Сначала latest
не кажется допустимым аргументом — я пробовал с допустимым целым числом, но теперь столкнулся с этой ошибкой
Это также перекликается с моим пунктом 1 — во время выполнения этой второй задачи я не уверен, что мой артефакт существует.
Есть идеи, как двигаться дальше?
Ответ №1:
Согласно исходному коду ado-download-artifact
действия по следующей ссылке, вы должны использовать projectId
вместо projectname
, возможно, у вас есть попытка:
https://github.com/manishsat/ado-download-artifact/blob/master/action.yml
inputs:
buildDefinitionId:
description: 'Build Definition Id for which the artifact is going to be downloaded'
pattoken:
description: 'PAT token to access build and build artifacts'
artifactName:
description: 'Name of the artifact'
orgName:
description: 'Azure DevOps organization name'
projectId:
description: 'Azure DevOps projectId for which the build and artifacts belongs to'