Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как отключить одну джобу из другой джобы автоматически?

jenkins
Теги: #<Tag:0x00007f7b65e5ec90>

(Artur Korobeynyk) #1

План прост, а значит крассив. При выполнении цепочки задач необходимо отключить автоматический запуск одной джобы (не upstream и не downstream). А потом снова включить его. Как решали задачу?
Были идеи инжектить файл (как семафор, если файл есть, то джоба не бежит и абортится), но это как-то не по джентельменски, так что хочется какой-то вариант красивее.


(Stan) #2

Через

  1. внутренний апи http://jenkinsapi.readthedocs.org/en/latest/using_jenkinsapi.html#example-3-disable-enable-a-jenkins-job
  2. jenkins-jar `java -jar jenkins-cli.jar -s http://jenkins/ disable-job job_name
  3. rest api

(Борис Осипов) #3

Чем этот плагин не нравится? Вроде специально для этого.
https://wiki.jenkins-ci.org/display/JENKINS/Build+Blocker+Plugin


(Artur Korobeynyk) #4

На плагины не хватает прав доступа. Дженкинс овнится не тест тимой.


(Artur Korobeynyk) #5

1 не подходит по той же причине что и в предыдущем посте. Операции с мастером невозможны.
2. Возможно мой вариант, попробую. Как раз успел его на стековерфлов найти к этому времени
3. Надо будет где-то хранить аккаунт где-то и использовать его в скрипте, а не хочется, так как это нарушает безопасность интранета.


(Stan) #6

3 -> не нарушаешь, в апи можно авторизоваться по токену, причем двумя вариантами

  1. https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API
  2. через http://user:hash@jenkins.com

Во втором случае хэш берешь с аккаунта в https://%jenkins%/user/%username%/configure:

Теоретически можно даже через сертификат настроить (следующая настройки, add credentials). Но не пробовал :slight_smile:


(Artur Korobeynyk) #7

Но что хеш, что токен придется вшивать в джобу. И используя его какой-то говнюк может получить доступ к дженкинсу с моим аккаунтом (в случае с токеном), ну или как минимум конфигурировать другие джобы от моего имени (в случае с хэшем).


(Stan) #8

Можно сконфигурировать отдельного бот-юзера с дорступом только к нужной джобе.