Возникновение проблем при интеграции VSTS с Jenkins с использованием сервисных хуков

[В рамках CI я хочу интегрировать VSTS с Jenkins с помощью Service Hooks. Вот шаги, которые я выполняю.

1. После выбора опции Jenkins Service я ввожу данные Jenkins, как показано на рисунке ниже.

2. Базовый URL-адрес Jenkins, имя пользователя, токен API пользователя введены, но текстовое поле «Сборка» не позволяет мне вводить какое-либо значение.

Создайте журнал ошибок, используя сборку и выпуск: -

2017-06-23T12:46:02.5702001Z ##[section]Starting: Build
2017-06-23T12:46:02.5721999Z Current agent version: '2.119.1'
2017-06-23T12:46:03.0032004Z ##[section]Starting: Initialize Job
2017-06-23T12:46:03.0122005Z Prepare build directory.
2017-06-23T12:46:03.0431992Z Set build variables.
2017-06-23T12:46:03.0471996Z Download all required tasks.
2017-06-23T12:46:03.0601994Z Downloading task: JenkinsQueueJob
2017-06-23T12:46:03.7031992Z Downloading task: JenkinsDownloadArtifacts
2017-06-23T12:46:05.7861997Z Downloading task: PublishTestResults
2017-06-23T12:46:05.9391998Z Downloading task: PublishBuildArtifacts
2017-06-23T12:46:06.1041998Z ##[section]Finishing: Initialize Job
2017-06-23T12:46:06.1351993Z ##[section]Starting: Get Sources
2017-06-23T12:46:06.1711981Z Syncing repository: MyFirstProject (TfsGit)
2017-06-23T12:46:06.1761997Z Prepending Path environment variable with directory containing 'git.exe'.
2017-06-23T12:46:06.1842000Z ##[command]git version
2017-06-23T12:46:06.4442001Z git version 2.12.0.windows.1
2017-06-23T12:46:06.4561989Z ##[command]git init "d:\a\1\s"
2017-06-23T12:46:06.5122094Z Initialized empty Git repository in d:/a/1/s/.git/
2017-06-23T12:46:06.5151998Z ##[command]git remote add origin https://ramandogra.visualstudio.com/_git/MyFirstProject
2017-06-23T12:46:06.5371993Z ##[command]git config gc.auto 0
2017-06-23T12:46:06.5571999Z ##[command]git config --get-all http.https://ramandogra.visualstudio.com/_git/MyFirstProject.extraheader
2017-06-23T12:46:06.5761994Z ##[command]git config --get-all http.proxy
2017-06-23T12:46:06.6061997Z ##[command]git -c http.extraheader="AUTHORIZATION: bearer ********" fetch --tags --prune --progress origin
2017-06-23T12:46:07.4221999Z ##[command]git checkout --progress --force refs/remotes/origin/master
2017-06-23T12:46:07.4431999Z error: pathspec 'refs/remotes/origin/master' did not match any file(s) known to git.
2017-06-23T12:46:07.6841986Z ##[error]Git checkout failed with exit code: 1
2017-06-23T12:46:07.6881995Z ##[section]Finishing: Get Sources
2017-06-23T12:46:07.6901995Z ##[section]Starting: Post Job Cleanup
2017-06-23T12:46:07.6951999Z Cleaning any cached credential from repository: MyFirstProject (Git)
2017-06-23T12:46:07.6992000Z ##[command]git remote set-url origin https://ramandogra.visualstudio.com/_git/MyFirstProject
2017-06-23T12:46:07.7211998Z ##[command]git remote set-url --push origin https://ramandogra.visualstudio.com/_git/MyFirstProject
2017-06-23T12:46:07.7401991Z ##[section]Finishing: Post Job Cleanup
2017-06-23T12:46:07.7461997Z ##[section]Finishing: Build

PS: я впервые пользуюсь VSTS.

введите здесь описание изображения

введите здесь описание изображения


person Rodger Nadal    schedule 21.06.2017    source источник
comment
Можно ли получить доступ к вашему серверу Jenkins из Интернета?   -  person Eddie Chen - MSFT    schedule 27.06.2017
comment
@ Eddie-MSFT Нет, его нельзя открыть в Интернете. У меня нет прав на отключение брандмауэра Windows.   -  person Rodger Nadal    schedule 30.06.2017


Ответы (1)


В основном это связано с тем, что ваш базовый URL-адрес jenkins является локальным адресом, например http://computername:8080 (или http://ip:8080). Но URL-адрес не может быть доступен другим.

Выполните следующие действия, чтобы проверить, можно ли использовать локальный URL:

  1. В http://localhost:8080/configure используйте URL-адрес Jenkins в качестве базового URL-адреса Jenkins для перехватчика службы. введите здесь описание изображения

  2. Отключите брандмауэр для вашей локальной машины.

person Marina Liu    schedule 22.06.2017
comment
Делаю все по локалке. Вместо того, чтобы указывать http://localhost:8080, я помещаю значение http://fullpcname:8080. - person Rodger Nadal; 22.06.2017
comment
Я не уверен, можно ли использовать локальный URL-адрес в jenkins. Но вы можете дважды проверить настройки, которые я добавил в своем ответе. - person Marina Liu; 22.06.2017
comment
Привет, Марина, я попробовал URL-адрес сервера как ipaddress:8080/configure и получил ошибку тайм-аута операции. Не удалось запросить API конечной точки службы: ipaddress:8080/api/json?tree= задания[имя,отображаемоеИмя]. Сообщение об ошибке: время ожидания операции истекло. Примечание. Проверка может завершиться ошибкой, если URL-адрес недоступен из Visual Studio Team Services. Однако он все еще может быть действительным и доступным из агента, который выполняет сборку/выпуск. - person Rodger Nadal; 22.06.2017
comment
Я имею в виду, что вы должны использовать URL jenkins, как показано на рисунке http://10.168.173.8.:8080. - person Marina Liu; 22.06.2017
comment
-MSFT, я думаю, что правильно ввожу свой IP. ipaddress:8080 - person Rodger Nadal; 23.06.2017
comment
Теперь при попытке использовать сборку и выпуск соединение создается, но моя сборка завершается с ошибкой. Вот журналы сборки - person Rodger Nadal; 23.06.2017
comment
Привет, Марина, теперь я использую Build and Release, но моя сборка не удалась. Вставлен журнал ошибок в содержание вопроса. - person Rodger Nadal; 23.06.2017
comment
Существует ли ветка master в репозитории git, который вы создаете для jenkins? - person Marina Liu; 23.06.2017
comment
Нет, Master Branch находится в разделе кода VSTS. Принимая во внимание, что я ничего не храню в Git. - person Rodger Nadal; 12.07.2017