IMO, этот пример использования действительно должен быть специально определен на веб-странице/документации плагина.
Скажем, у меня есть проект под названием U для upstream и D для downstream. Когда U заканчивает строительство, я хочу, чтобы D проверил ту же ревизию, которую только что построил U. U всегда будет проверять HEAD.
Вот что я сделал:
- В U я добавил "Действия после сборки" для "Триггер-параметризованная сборка для других проектов".
- Для "Проекты для сборки" я набрал D и создаю только "Стабильный".
- Я добавил триггер для "пересмотра Subversion".
- Я сохранил эту конфигурацию
Теперь я не знаю, что я должен делать дальше, но у меня нет обратной связи, чтобы показать, что это работает. Фактически, даже этот тестовый файл, посвященный источнику плагина, предполагает, что это все, что мне нужно сделать.
Но, если бы я мог догадаться, я бы подумал, что я должен пометить U как параметризованную сборку и добавить к ней параметр. Этот параметр следует назвать тем, что U отправляет D. Но если у меня есть правильная идея, я не знаю, что я должен назвать этим параметром. Ни в консольном журнале D, ни в консольном журнале U не упоминается новый параметр.
Я сделал предположение и создал параметр String в U с именем "SVN_REVISION" и по умолчанию использовал его -1, но это не повлияло. Каждый раз, когда D запускает сборку, SVN_REVISION по умолчанию имеет значение -1.
Это результат запуска export
в проекте D:
+ export
export BUILD_ID="2013-03-20_09-48-32"
export BUILD_NUMBER="4522"
export BUILD_TAG="jenkins-D-4522"
export BUILD_URL="http://my.jenkins.server.com:8081/job/D/4522/"
export EXECUTOR_NUMBER="2"
export HUDSON_COOKIE="8ec52f7a-d60d-4640-83a9-dbed7351b32a"
export HUDSON_HOME="/opt/hudson"
export HUDSON_SERVER_COOKIE="633967fcd1d6f7b38a85042ada5c3949"
export HUDSON_URL="http://my.jenkins.server.com:8081/"
export JAVA_HOME="/opt/java"
export JENKINS_HOME="/opt/hudson"
export JENKINS_SERVER_COOKIE="633967fcd1d6f7b38a85042ada5c3949"
export JENKINS_URL="http://my.jenkins.server.com:8081/"
export JOB_NAME="D"
export JOB_URL="http://my.jenkins.server.com:8081/job/D/"
export LANG="en_US.UTF-8"
export LD_LIBRARY_PATH="/opt/jdk1.6.0_30/jre/lib/i386/server:/opt/jdk1.6.0_30/jre/lib/i386:/opt/jdk1.6.0_30/jre/../lib/i386"
export M2="/opt/maven/bin"
export M2_HOME="/opt/maven"
export MAVEN_OPTS="-Xms256m -Xmx512m"
export NHINC_PROPERTIES_DIR="/opt/nhinc/Properties"
export NLSPATH="/usr/dt/lib/nls/msg/%L/%N.cat"
export NODE_LABELS="master"
export NODE_NAME="master"
export OLDPWD
export PATH="/sbin:/usr/sbin:/bin:/usr/bin:/opt/java/bin:/opt/apache-ant-1.8.1/bin:/usr/local/bin:/opt/maven/bin"
export PWD="/opt/hudson/jobs/D/workspace"
export SHLVL="2"
export SVN_REVISION="24186"
export SVN_URL="https://a/url/trunk"
export TERM="xterm"
export WORKSPACE="/opt/hudson/jobs/D/workspace"
export XFILESEARCHPATH="/usr/dt/app-defaults/%L/Dt"
export _="/opt/java/bin/java"
Итак, похоже, что у него есть переменная окружения SVN_REVISION. Но я не думаю, что это обязательно происходит из плагина. Мои данные взяты из описания "URL-адрес репозитория" в jenkins:
Во время сборки, номер ревизии модуля, который был извлечен доступен через переменную среды SVN_REVISION, при условии, что что вы проверяете только один модуль. Если у вас несколько проверены модули, используйте команду svnversion. Если у вас несколько Выбрав модули, вы можете использовать команду svnversion, чтобы получить информацию о пересмотре, или вы можете использовать среду SVN_REVISION_ переменные, где 1-основанный индекс, соответствующий местоположениям сконфигурировано. URL-адреса доступны через похожие SVN_URL_ переменные среды.
Но давайте предположим, что это устанавливается из U вместо D. Как мне сделать D использовать это или как его узнать, используя его, когда D запускается?
Позвольте мне задать вопрос, который мне, вероятно, нужно будет задать дальше. Как только я узнаю имя параметра, который мне нужно использовать, как мне изменить конфигурацию D так, чтобы он проверял эту ревизию? Могу ли я изменить "URL-адрес репозитория", чтобы положить @${PARAMETER_NAME}
в конец или что-то в этом роде?