задействайте друга конфигурация и изпращайте текущия статус на компилация с Jenkins

В определена конфигурация на Jenkins искам да задействам друга конфигурация като действие след изграждане. Искам да предам като един от параметрите текущия статус на компилация.

IE: низ / int, който представлява състоянието (УСПЕХ/НЕУСПЕХ/НЕСТАБИЛЕН).

Имам 2 опции за създаване на задействания след изграждане:

Използване на приставката за присъединяване добавка за присъединяване

Използване на задействащата параметризирана компилация в действия след компилация параметризирана компилация

Иска ми се да има някаква достъпна env променлива в края на изпълнението...

Имате ли представа?

Благодаря!


person orshachar    schedule 28.06.2012    source източник
comment
този въпрос е дублиран, проверете тази връзка: stackoverflow.com/questions/19381124/   -  person ivoruJavaBoy    schedule 09.05.2017


Отговори (2)


Можете да проверите за състояние с помощта на скрипт Groovy в стъпка след изграждане чрез Groovy Post- Създаване на приставка, която може да осъществява достъп до вътрешните елементи на Jenkins чрез Jenkins Java API. Приставката предоставя на скрипта променлива manager, която може да се използва за достъп до важни части от API (вижте раздела Използване в документацията на приставката).

Например, ето как можете да изведете резултат от компилация към конзолата за компилация:

def result = manager.build.result
manager.listener.logger.println "And the result is: ${result}"

Сега можете вместо това да използвате тази стойност, за да създадете файл със свойства и да прехвърлите този файл към стъпката след изграждане на Parameterized Trigger (има такава опция).

Едно предупреждение: Не съм сигурен дали е възможно да организирам стъпките след изграждането да се изпълняват в определен ред, за да се гарантира, че стъпката след изграждане на Groovy се изпълнява преди стъпката на параметризирания тригер.

person malenkiy_scot    schedule 28.06.2012

Ето едно просто решение, което ще отговори на повечето случаи:

Използвайте плъгина „Trigger Parameterized Build“ и задайте два тригера –

  1. „Стабилен или нестабилен, но без отказ“
  2. "неуспех"

Всеки от тези тригери трябва да изпълнява едно и също задание – нека го наречем „JOB_B“.

За всеки от тригерите подайте каквито параметри желаете и също така подайте дефинирана от потребителя стойност:

  • за тригер '1' използвайте: JOB_A_STATUS=SUCCESS
  • за тригер '2' използвайте: JOB_A_STATUS=FAIL

Сега всичко, което трябва да направите, е да тествате стойността на ${JOB_A_STATUS} от JOB_B, за да видите дали е зададено на „УСПЕХ“ или „НЕУСПЕХ“.

Обърнете внимание, че това решение не прави разлика между „стабилен“ и „нестабилен“, а знае само разликата между „провал“ и „успех“.

Късмет!

person Gonen    schedule 28.06.2012