2016-04-07 3 views
0

Я пытаюсь создать приложение, где некоторые из них должны выполняться на ОС Windows, а некоторые - в Linux, например Centos/Ubuntu. При конструировании конвейера, как я могу заверить, что все связанные с Windows задачи/задания должны перейти к агенту Windows, и все связанные с linux задания должны перейти к соответствующей операционной системе Linux.GOCD - Несколько операционных систем GOQ и конвейеры

Что было бы идеальным подходом для достижения этого.

+0

Я думаю, что опция ресурсов в агенте и заданиях будет делать магию. благодаря – user3121011

ответ

4

[Просто чтобы добавить больше информации]

Вы вообще включить/добавить агентов Go (которые установлены на различных операционных системах) на вкладке «агентах» в приборной панели Go. Вы можете пометить агент Go несколькими ресурсами, используя кнопку «RESOURCES» на вкладке «AGENTS».

И когда вы создаете задание на этапе (в конвейере), вы можете указать ресурсы (которые используются агентом) для запуска этого задания в поле «Ресурсы» в разделе «Параметры задания» ".

Основываясь на упомянутых ресурсах, сервер Go будет использовать эти агенты Go для распределения заданий. Вы можете пометить агент Go несколькими ресурсами.

Надеюсь, это поможет.

0

У меня есть несколько трубопроводов, которые должны работать на определенных машинах. Я выполняю это, используя два метода.

Первый - использование среды. Я назначаю конкретные конвейеры для конкретной среды (например, Developement, QA, Production). Затем я назначаю агента, который имеет возможность выполнять задачи/задания, связанные с развитием, в среду разработки. Я назначаю агенты, которые могут выполнять задачи/задания, связанные с QA, в среду QA.

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

Если ваш агент имеет возможность выполнять как задачи разработки, так и задачи QA, назначьте агент как для среды разработки, так и для обеспечения качества.

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

Например, вы можете иметь среду разработки, которую вы назначаете конвейерам и агентам, которые должны обрабатывать сборки Windows. Другой называется Development-Linux, который вы назначаете агентам и конвейерам, которые должны обрабатывать сборки Linux.

Поскольку у меня есть агенты, которые могут строить для нескольких сред (Dev, QA и Prop), я также использую «Ресурсы», которые назначены на вкладке «Настройки работы». Если задание необходимо выполнить на хосте Windows, я назначу ресурс «win2012». Это говорит мне, что агент должен иметь ресурс «Windows 2012» для выполнения этой конкретной задачи.

Я назначаю агенту ресурс «win2012», чтобы указать, что он является ресурсом Windows 2012.

С учетом конфигурации среды и параметров ресурса задание будет выполняться только агентом, который удовлетворяет требованиям к ресурсам и находится в надлежащей среде.

Если у вас есть несколько требований к ресурсам для задачи, которую вы можете назначить каждому из них, используя список, разделенный запятыми. Некоторые из ресурсов, которые я использую, - msbuild, subversion, sqlcmd.Это говорит мне, что агент должен иметь доступ к msbuild (для компиляции кода), subversion (для его получения из SVN) и sqlcmd (для выполнения SQL-запросов к SQL Server). Затем я отмечаю агенты, которые содержат эти конкретные ресурсы. Только если агенту соответствуют все эти требования к ресурсам, будет назначена задача.