Как создать выпуск GitHub с помощью Azure Pipelines yml? - PullRequest
0 голосов
/ 30 января 2019

Я создаю колеса Python в моем общедоступном репозитории GitHub с помощью Azure Pipelines.Я успешно добавил их как артефакты сборки в мой .yml:

- task: PublishBuildArtifacts@1
  inputs:
    pathtoPublish: '$(Build.ArtifactStagingDirectory)'
    artifactName: drop

Теперь я хотел бы создать релиз GitHub с этими колесами.


Попытка # 1: создать

Я попытался создать новый выпуск, добавив задачу GitHub Release в мой .yml

- task: GithubRelease@0
  inputs:
    gitHubConnection: 'my-connection'
    repositoryName: 'my-repo'
    action: 'create'
    target: '$(build.sourceVersion)'
    tagSource: 'auto'
    assets: '$(Build.ArtifactStagingDirectory)/*'
    assetUploadMode: 'replace'

Это выдает ошибку при запуске нового коммита:

2019-01-30T10:54:13.4154988Z ##[section]Starting: GitHubRelease
2019-01-30T10:54:13.4159417Z ==============================================================================
2019-01-30T10:54:13.4159489Z Task         : GitHub Release
2019-01-30T10:54:13.4159535Z Description  : Create, edit, or delete a GitHub release.
2019-01-30T10:54:13.4159592Z Version      : 0.0.2
2019-01-30T10:54:13.4159631Z Author       : Microsoft Corporation
2019-01-30T10:54:13.4159688Z Help         : [More Information](https://aka.ms/AA3aeiw)
2019-01-30T10:54:13.4159733Z ==============================================================================
2019-01-30T10:54:13.8077592Z 4482b84d-9af2-47ea-ba55-e92f0e856217 exists true
2019-01-30T10:54:13.8078191Z Fetching the tag for target: cd14aa02e85823d52f61d1e5e2fccc307e1504f8
2019-01-30T10:54:14.1969398Z ##[error]An unexpected error occurred while fetching tags.
2019-01-30T10:54:14.1978761Z ##[error]Error: Not Found
2019-01-30T10:54:14.1982593Z ##[section]Finishing: GitHubRelease

Я делаю это неосновная ветвь, но я не думаю, что это является причиной ошибки выше?

Попытка # 2: редактировать

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

Итак, я подумал, хорошодавайте посмотрим, может быть, изменение действия на «редактирование» работает лучше ... и поэтому я изменил .yml, чтобы сказать:

- task: GithubRelease@0
inputs:
    gitHubConnection: 'my-connection'
    repositoryName: 'my-repo'
    action: 'edit'
    target: '$(build.sourceVersion)'
    tagSource: 'auto'
    tag: '1.0'
    assets: '$(Build.ArtifactStagingDirectory)/*'
    assetUploadMode: 'replace'

Затем запустил следующее (с проверенной веткой 'github-release')out):

git commit -am "Try 1.0"
git tag -am "Adding tag 1.0" 1.0
git push origin 1.0 HEAD:refs/heads/github-release

Но теперь, когда я проверяю CI, я вижу это в задаче выпуска GitHub:

2019-01-30T11:28:52.8639389Z ##[section]Starting: GitHubRelease
2019-01-30T11:28:52.8643449Z ==============================================================================
2019-01-30T11:28:52.8643522Z Task         : GitHub Release
2019-01-30T11:28:52.8643585Z Description  : Create, edit, or delete a GitHub release.
2019-01-30T11:28:52.8643632Z Version      : 0.0.2
2019-01-30T11:28:52.8643688Z Author       : Microsoft Corporation
2019-01-30T11:28:52.8643752Z Help         : [More Information](https://aka.ms/AA3aeiw)
2019-01-30T11:28:52.8643802Z ==============================================================================
2019-01-30T11:28:53.2645821Z 4482b84d-9af2-47ea-ba55-e92f0e856217 exists true
2019-01-30T11:28:53.2646587Z Computing changes made in this release...
2019-01-30T11:28:53.2646657Z Fetching the latest published release...
2019-01-30T11:28:53.7121952Z No releases are published yet in the repository.
2019-01-30T11:28:53.7122209Z Fetching the initial commit...
2019-01-30T11:28:53.8614586Z ##[error]An unexpected error occurred while fetching the initial commit.
2019-01-30T11:28:53.8616507Z ##[error]Error: Not Found
2019-01-30T11:28:53.8654236Z ##[section]Finishing: GitHubRelease

Что зая не так делаю?

1 Ответ

0 голосов
/ 02 февраля 2019

В документации сказано, что для tagSource можно установить значение 'auto' или 'manual', но я наткнулся на сайт, говорящий, что значение 'Git tag' является значением, поэтому я попытался это сделать.Оказывается, это сработало лучше:

- task: GithubRelease@0
  inputs:
    gitHubConnection: 'my-connection'
    repositoryName: 'username/my-repo'
    action: 'edit'
    target: '$(build.sourceVersion)'
    tagSource: 'Git tag'
    tag: '1.0'
    assetUploadMode: 'replace'

Ранее я также только вводил свое имя репо, а не имя пользователя / репо.

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