Скопируйте файлы с Bitbucket через Jenkins на производственный сервер

99
9

У меня есть мои файлы кода в битбакете и настроено задание сборки jenkins для запуска там, где есть изменение в репозитории битбакетов. В конце которого он должен скопировать файлы из репо в каталог, расположенный на рабочем сервере, с которого выполняется приложение.

Есть ли возможность скопировать файлы из репо на сервер, используя скрипт, введенный в jenkins?

спросил(а) 2021-01-25T17:58:31+03:00 4 месяца, 2 недели назад
1
Решение
125

У вас есть 2 возможности:

Запуск подчиненного устройства на производственном сервере

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

2 Варианты этой возможности:

Вы можете выполнить клонирование (checkout) репозитория bitbucket на главном компьютере, а затем использовать stash, чтобы файлы были доступны на подчиненном устройстве, запущенном на рабочем сервере (https://jenkins.io/doc/pipeline/steps/workflow- basic-steps/# stash-stash-some-files-to-be-used-later-in-the-build). Вы запускаете весь конвейер на подчиненном устройстве, который запущен на рабочем сервере, что означает, что серверу требуется доступ к битбакету.

Существует несколько возможностей подключения подчиненного устройства к ведущему: https://wiki.jenkins.io/display/JENKINS/Distributed+builds#Distributedbuilds-Differentwaysofstartingagents

Использовать удаленные возможности копирования

Скопируйте файлы, например. scp в linux.

Это имеет некоторые последствия для безопасности:

    Вы должны добавить пароль продукта в хранилище учетных данных jenkins и передать его команде копирования при использовании ключей (рекомендуется). Вы должны добавить закрытый ключ в хранилище учетных данных jenkins и передать его команде.

ответил(а) 2021-01-25T17:58:31+03:00 4 месяца, 2 недели назад
45

Я предполагаю, что у вас есть файлы в рабочей области задания. Как насчет копирования файлов через командную строку? Если вы хотите это сделать, вставьте пакетный блок для узлов Windows или блок оболочки для узлов Linux и используйте

cp original_file new_file

ответил(а) 2021-01-25T17:58:31+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема