В настоящее время я использую Jenkins на своем ПК для разработки. Я установил его на свой ПК для разработки, потому что у меня были ограниченные знания об этом инструменте; так что я проверил это на своем ПК для разработки. Теперь я чувствую себя комфортно с Дженкинсом как моим долгосрочным «партнером» в процессе сборки и хотел бы «переместить» этот Дженкинс на выделенный сервер.
До этого я выполнил несколько сборок и архивировал артефакты из каждой сборки. В частности, номер сборки очень важен для меня для контроля версий.
Как я могу экспортировать всю информацию Jenkins с моего текущего компьютера на мой новый сервер?
jenkins
data-migration
huahsin68
источник
источник
Ответы:
Следуя вики Дженкинс , вы должны:
chown -R jenkins:jenkins $JENKINS_HOME
JENKINS_HOME по умолчанию , расположенный в
~/.jenkins
на установке Linux, но точно найти , где он расположен, перейдите на Http: // your_jenkins_url / Configure страницы и проверьте значение первого параметра:Home directory
; это JENKINS_HOME.источник
Если ваш каталог JENKINS_HOME слишком велик для копирования , и все, что вам нужно, это настроить одинаковые конфигурации Jobs, Jenkins Plugins и Jenkins (и вам не нужны старые артефакты Job и отчеты), тогда вы можете использовать ThinBackup Plugin :
Настройте каталог резервного копирования на обоих (в разделе Управление Jenkins -> ThinBackup -> Настройки)
На Sourse Jenkins перейдите в ThinBackup -> Резервное копирование сейчас
Если некоторые плагины или задания отсутствуют, скопируйте содержимое резервной копии непосредственно в целевой JENKINS_HOME.
Если у вас была аутентификация пользователя в исходном Jenkins, а теперь она заблокирована в целевом Jenkins, то отредактируйте Jenkins config.xml, установите
<useSecurity>
значение false и перезапустите Jenkins.источник
Это помогло мне перейти с Ubuntu 12.04 (Jenkins ver. 1.628) на Ubuntu 16.04 (Jenkins ver. 1.651.2). Сначала я установил Jenkins из репозиториев .
Скопируйте
JENKINS_HOME
(например, / var / lib / jenkins) со старого сервера на новый. Из консоли на новом сервере:rsync -av username@old-server-IP:/var/lib/jenkins/ /var/lib/jenkins/
Запустите свой новый сервер Jenkins
Возможно, вам это не нужно, но мне пришлось
Manage Jenkins
иReload Configuration from Disk
.Configure System > Jenkins Location
,Jenkins URL
правильно ли назначен новый сервер Jenkins.источник
/configureSecurity
я получаюjava.lang.AssertionError: InstanceIdentity is missing its singleton
Автоматизация сервера Jenkins:
Шаг 1:
Настройте репозиторий для хранения домашнего хранилища Jenkins (заданий, конфигураций, плагинов и т. Д.) В локальном GitLab или в частном репозитории GitHub и регулярно обновляйте его, отправляя любые новые изменения в задания Jenkins, плагины и т. Д.
Шаг 2:
Настройте группу / роль Puppet для Jenkins, которую можно использовать для раскрутки новых серверов Jenkins. Выполните все основные настройки в рецепте Puppet и убедитесь, что он устанавливает последнюю версию Jenkins и настраивает отдельный каталог / mount для
JENKINS_HOME
.Шаг 3:
Раскрутите новую машину, используя конфигурацию Jenkins-puppet выше. Когда все установлено, захватите / клонируйте конфигурацию Jenkins из репозитория Git в домашнюю директорию Jenkins и перезапустите Jenkins.
Шаг 4:
Перейти к URL Дженкинс, выберите Управление Jenkins → Управление плагинами и обновите все плагины, которые требуют обновления.
Готово
Вы можете использовать Docker Swarm или Kubernetes для автоматического масштабирования подчиненных узлов.
источник
Иногда у нас может не быть доступа к машине Jenkins для копирования папки непосредственно в другой экземпляр Jenkins. Поэтому я написал утилиту, управляемую меню, которая использует вызовы Jenkins REST API для установки плагинов и заданий из одного экземпляра Jenkins в другой.
Для миграции плагина:
{SOURCE_JENKINS_SERVER}/pluginManager/api/json?depth=1
вы получите список плагинов, установленных с их версией.Вы можете отправить запрос POST со следующими параметрами, чтобы установить эти плагины.
Для миграции работы:
{SOURCE_JENKINS_URL}/view/All/api/json
{SOURCE_JENKINS_URL}/job/{JOB_NAME}
.Я создал утилиту на основе меню в Python, которая просит пользователя запустить плагин или миграцию Jenkins и использует для этого вызовы Jenkins REST API.
Вы можете ссылаться на JenkinsMigration.docx с этого URL Дженкинсjenkinsmigrationjenkinsrestapi
источник