Я использовал несколько систем контроля версий для моего исходного кода и исследовательских проектов. Недавно я объединил их в TFS и Git. Я начал использовать Visual Studio Online для своей исследовательской работы, CodePlex для моих фреймворков и инструментов с открытым исходным кодом и GitHub для кода блога. Многие из этих решений основаны на целевой аудитории и характере моей работы (код). TFS, являясь отличным инструментом ALM, предлагает больше, чем просто систему контроля версий, которая может быть особенно полезна, когда вам приходится работать с большими командами или у вас есть проект с открытым исходным кодом, сборку которого вы хотели бы автоматизировать. Для моих исследований (это происходит дома) я увлекался автоматизацией сборки для проекта CInject .
Visual Studio Online предлагает полный пакет непрерывной интеграции и доставки в службы Azure, но такой функции нет для репозиториев TFS CodePlex. Для этого случая я начал оценивать другие платформы CI, такие как CruiseControl.NET, TeamCity и Jenkins. Я остановил свой выбор на Jenkins за его простоту использования, чрезвычайно легкое развертывание, мое знакомство с ним и затраты на настройку без нуля.
В этом примере мы использовали бы репозиторий CodePlex, но метод можно использовать с любым локальным репозиторием TFS или даже с Visual Studio Online.
Скачивание последней версии
Прямая ссылка на версию Jenkins для Windows доступна здесь . Установка этого требует административных прав, если вы делаете это на Windows 7+ или Windows Server 2008+
После завершения установки у вас будет запущена служба в диспетчере служб
Если эта служба запущена, вы можете получить доступ к консоли Jenkins по адресу: http: // localhost: 8080 /
Скачать плагин TFS
Посетите страницу управления плагинами [Управление Jenkins> Управление плагинами> Доступно] ( ярлык ) и найдите плагин Team Foundation Server . Нажмите на флажок и нажмите кнопку «Установить без перезагрузки»
Если ваша сборочная машина / сервер имеет ограниченный доступ к Интернету, вы получите ошибку при загрузке файла.
java.io.IOException: Failed to download from http://updates.jenkins-ci.org/download/plugins/tfs/3.1.1/tfs.hpi at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:781) at hudson.model.UpdateCenter$DownloadJob._run(UpdateCenter.java:1125) at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1285) at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1103) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:104) at java.lang.Thread.run(Unknown Source)
В таких случаях вам необходимо вручную загрузить последнюю версию плагина и скопировать ее в
<<JenkinsInstallDirectory>>\plugins
Вам нужно будет перезапустить сервис Jenkins, если вам пришлось установить его вручную.
Загрузка Team Explorer везде
Если вы запускаете этот процесс на настольном компьютере и являетесь разработчиком .NET, скорее всего, у вас установлена Visual Studio 2012+. В таких случаях у вас будут исполняемые файлы Team Foundation, а также путь к исполняемым файлам TF будет также указан в системной переменной PATH.
Если путь к исполняемому файлу TF не является частью системной переменной PATH, вам придется настроить Jenkins для просмотра нужного каталога ( ярлык ). На моем домашнем ноутбуке я настроил его как
Если вы используете это на своем Windows Server, на котором установлена только платформа .NET, вам придется установить TEE. Если вы используете это на сервере Unix / Linux, вам все равно понадобится TEE. Это бесплатный исполняемый файл от Microsoft и очень тонкий клиент. Вы можете скачать и установить его отсюда и настроить конфигурацию как
X:\Jenkins\TEE-CLC-12.0.1\TEE-CLC-12.0.1\tf.cmd
Вам нужно будет запустить tf eula в командной строке, чтобы принять соглашение об использовании и условия и нажать «y» при появлении соответствующего запроса . Аналогичная конфигурация должна быть сделана для Unix / Linux. Один и тот же файл CMD будет работать для платформ Unix и Linux.
Настройка TFS-репозитория в Jenkins
Нажмите на ссылку New Job в левом меню, чтобы создать новый профиль сборки ( ярлык )
На следующем экране вы можете настроить конфигурацию, чтобы включить одновременную сборку, количество повторов и т. Д. Но в этой статье основное внимание будет уделено настройке рабочей области TFS. Поэтому, чтобы получить конфигурацию TFS, посетите страницу инфраструктуры CodePlex и получите URL-адрес TFS. Если вы настраиваете для репозитория, отличного от CodePlex, вы можете проверить URL с вашим администратором
Скопируйте ссылку на Jenkins, как показано ниже, и нажмите «Применить».
Теперь вы можете запустить Build for environment, и он должен успешно завершиться.
Вы можете использовать этот метод с любым репозиторием TFS — как локальным, так и Visual Studio Online. Здесь следует отметить одну вещь — каждый репозиторий TFS (здесь https://tfs.codeplex.com:443/tfs ) имеет несколько коллекций (TFS01…. TFSxx), и у каждой коллекции есть проекты. URL-адрес сервера должен включать имя коллекции, тогда как путь к проекту должен быть относительным путем ($ /…) к реальному проекту.
Использование CodePlex SVN Path с Jenkins
Вы также можете использовать ссылку SVN для доступа к хранилищу Codeplex. Обратите внимание: если вы используете репозиторий не из Codeplex, у вас может не быть SVN-URL.
Таким образом, вы можете выбрать любой метод, если вы используете Jenkins для CodePlex, а также можете настроить автоматизацию сборки и непрерывную интеграцию.
Надеюсь это поможет.