Подтвердить что ты не робот

Дженкинс передает 0 файлов, используя публикацию через плагин SSH

Я хочу передать файлы из моего рабочего места Jenkins в папку на удаленном сервере. Строка идет гладко для всех шагов в задании, но всегда передает 0 файлов.

Это консольный вывод:

    Started by user Patrick
    Building in workspace /var/lib/jenkins/jobs/20eyes Build/workspace
    Fetching changes from the remote Git repository
    Fetching upstream changes from https://github.com/project/project.git
    using .gitcredentials to set credentials
    Checking out Revision a758e0f8e534271b999a2fc8696b6fd5a3d5e500 (origin/master)
    executing script:

    cd /var/www/20eyes-web
    [SSH] exit-status: 0
    SSH: Connecting from host [dev1.remotehost]
    SSH: Connecting with configuration [dev2.remotehost] ...
    SSH: Disconnecting configuration [dev2.remotehost] ...
    SSH: Transferred 0 file(s)
    Build step 'Send files or execute commands over SSH' changed build result to  SUCCESS
    Finished: SUCCESS

Задача сконфигурирована для сборки после того, как какое-либо коммит переместится в GitHub

Комплект передачи: Исходные файлы:

/var/lib/jenkins/jobs/20eyes Build/workspace/**/*

Удалить префикс:

/var/lib/jenkins/jobs/20eyes Build/workspace
4b9b3361

Ответ 1

Я думаю, проблема в вашем конфиге. У нас есть 2 позиции для настройки.

  • В конфигурации системы (глобальная конфигурация). - > Если тест ok == > Конфигурация для удаленного сервера в порядке.
  • В вашем проекте. Мы сосредоточимся на наборе переноса: (Исходный файл, Удалить префикс, удаленный каталог)

    2.1 Исходный файл: если он пустой = каталог рабочей области.  в вашем случае я думаю, что вы должны ввести **/*
    2.2 Удалите префикс: см. здесь для получения дополнительной информации.
    2.3 Удаленный каталог: если он пуст = каталог, настроенный в конфигурации системы выше.

Надеюсь, что это поможет! Извините за мой английский.

Ответ 2

Сначала попробуйте быстро: установите исходную папку только с помощью: **/*, чтобы увидеть, скопирован ли какой-либо файл. Если файл был скопирован, посмотрите здесь, чтобы узнать, как написать правильный путь здесь

Ответ 3

Мои советы:

  • Вам следует избегать использования пробелов в названии задания Jenkins!
    • в вашем случае: name 20eyes Build может вызвать некоторые проблемы в сопоставлении файлов/каталогов
  • Вы должны использовать относительные пути, а не абсолютные пути!
    • в вашем случае: /var/lib/jenkins/... следует заменить относительным путем из рабочей области
  • Вы не должны копировать всю рабочую область!
    • укажите только соответствующие файлы из последней сборки (например, WAR файл из целевого каталога)
  • Вы должны проверить документацию и примеры Опубликовать над плагинами:
    • examples будет очень полезно для вас.

Ответ 4

В моем случае я использовал абсолютный путь (от корня) в "Передача исходных файлов набора:". Когда я изменил путь относительно рабочей области, он сработает!

Ответ 5

просто выберите относительный путь: например, если у вас есть в рабочей области index.html, просто установите index.html в разделе "Исходные файлы".