Как развернуть артефакт в выпусках github с помощью TeamCity

Я настроил TeamCity для извлечения и сборки моего репозитория github. Затем он создает артефакт .zip с файлами, которые находятся в папке «bin/Debug». После этого я хочу, чтобы он создал новый тег с номером сборки и отправил его в выпуски github, но не знаю, как это сделать.


person Rostyslav Kurdiumov    schedule 07.05.2017    source источник


Ответы (1)


После исследования я наконец нашел ответ.

  1. Установите github-release на серверах агентов сборки TeamCity . Чтобы установить github-release, получите последнюю версию и извлеките файл .exe куда-нибудь на диск (в моем случае C:\Program Files (x86)\github-release\bin\windows\amd64)
  2. Создайте новый токен безопасного доступа на github.
  3. Создать артефакт после сборки. Для этого перейдите к конфигурации сборки и задайте для ArtifactPaths значение MyProjectName\bin\Debug => DependentArtifact.zip.
  4. Создайте вторую конфигурацию сборки (этап без сборки) с именем «Развертывание».
  5. Добавить новый триггер в конфигурацию развертывания. Триггеры => Добавить новый триггер => Триггер завершения сборки => Задайте для конфигурации сборки первое имя сборки и установите флажок «Запускать только после успешной сборки».
  6. Добавить зависимый артефакт в конфигурацию сборки развертывания: Зависимости => Добавить новый артефактDependency. Установите Depend On = для вашей первой конфигурации сборки. Получить артефакты от = Последняя успешная сборка. Правила артефакта = DependentArtifact.zip
  7. Добавить новый шаг сборки в Deploy: Шаги сборки => Добавить шаг сборки => CommandLine и вставьте следующий скрипт в поле пользовательского скрипта:

    [PathToYourRepo] git tag Release-v0.%build.number%
    [PathToYourRepo] git push
    [PathToYourRepo] git push --tags

    [PathToGithubReleaseExe] release --security-token [YourSecurityToken] --user [YourGithubUserName] --repo [YourRepoName] --tag Release-v0.%build.number%

    [PathToGithubReleaseExe] upload --security-token [YourSecurityToken] --user [YourGithubUserName] --repo [YourRepoName] --tag Release-v0.%build.number% --name Release-v0.%build.number%.zip --file DependentArtifact.zip

И это все! Возможно, есть более простой способ сделать это, но я его не нашел.

person Rostyslav Kurdiumov    schedule 07.05.2017
comment
Шаг 1 должен читаться как «Установить ..» на компьютере с агентом TeamCity, поскольку сборка выполняется на агенте. - person Yaegor; 09.05.2017