2017-01-31 10 views
2

Мне интересно, может ли кто-нибудь узнать, можно ли запустить Jenkins для сборки Perforce, только если в нем есть определенное ключевое слово?Триггер Дженкинс Построить на Perforce

Мой вариант использования заключается в том, что я ищу способ запуска сборки Jenkins, которая будет строить пакет Nuget библиотеки, над которой я работаю, и поместить ее в правильный каталог сервера Nuget. Я не хочу создавать пакет Nuget каждый раз, когда я делаю отправку в Perforce, поэтому мне было интересно, можно ли настроить какой-то триггер, чтобы запустить только сборку Jenkins, если какое-то ключевое слово было включено в список изменений описание.

Кто-нибудь знает, возможно ли это или какие-либо другие возможные идеи о том, как это реализовать?

ответ

1

Это работает для меня. Я уверен, что он может быть более эффективным, но он работает. Это ищет строку «buildit» в описании списка изменений.

Во-первых, создать триггер изменения подать в Perforce, например,

buildit change-submit //... "/usr/bin/buildthis %changelist%" 

(там, где вы размещаете он должен быть доступен для записи, а также создать файл с именем «описание», который также должен быть доступен для записи).

Ниже содержимое buildthis сценария:

#!/bin/sh 
changelist="$1" 
P4PORT=perforce:1666 
P4CLIENT=myclient 
P4USER=myuser 
p4 -p $P4PORT -c $P4CLIENT -u $P4USER describe $changelist >/usr/bin/description 
if grep -q buildit /usr/bin/description; 
    then 
     curl -X POST http://jenkinsserver:port/job/jobname/build?token=TOKEN 
    else 
     exit 0 
fi