вторник, 24 марта 2020 г.

Jenkins: переносим задачи на другой сервер

При наличии доступа к серверу:

переносим /var/lib/jenkins



Через API

Самый простой вариант - через jenkins.jar
SRC_JENKINS_URL=http://jenkins.server.loc:8080/
#token name backup
SRC_API_TOKEN=1111111
SRC_JUSER=user

wget ${SRC_JENKINS_URL}/jnlpJars/jenkins-cli.jar

java -jar jenkins-cli.jar -s ${SRC_JENKINS_URL} -auth ${SRC_JUSER}:${SRC_API_TOKEN} list-jobs

И потом получаем задачи
java -jar jenkins-cli.jar -s ${SRC_JENKINS_URL} -auth ${SRC_JUSER}:${SRC_API_TOKEN} get-job XXX > XXX.xml

Но.. дампить оно так будет только то что в корне, нужен рекурсивный обход. Можно и на баше написать, но лучше взять более удобный язык.
Также отдельно будет стоять вопрос плагинов, которые надо тоже отдельно считать, потом поставить. И иногда не последней версии, а более старой.

Через плагины
https://dragonflybsd.blogspot.com/2020/01/jenkins-freestyle-configuration.html

а также
https://github.com/jenkinsci/job-import-plugin
https://plugins.jenkins.io/job-import-plugin/

И
https://github.com/jenkinsci/scm-sync-configuration-plugin/
https://plugins.jenkins.io/scm-sync-configuration/
Но учитывать что пациент скорее мёртв, хотя пока и работает
Last released:4 years ago

Комментариев нет:

Отправить комментарий