Нужно загрузить файл через окно браузера на jenkins slave (Windows), но файл находится на jenkins master (linux) - PullRequest
0 голосов
/ 21 декабря 2018

Jenkins master - Linux Jenkins Slave - Windows Jenkins запускает сценарий селена, который запускается на ведомом Windows и выполняет необходимый тест.Ход испытаний заключается в следующем.Шаг 1 - Он генерирует файл и сохраняет его в рабочей области проекта.Файл сохраняется в рабочей области Jenkins на главном узле (Linux).Шаг 2 - На подчиненном (Windows) сценарий открывает приложение и окно загрузки браузера, чтобы загрузить файл, который хранится в рабочей области Jenkins.Шаг 3 - AutoIt используется для автоматизации части «Загрузка файла».который вводит путь к файлу в окне загрузки.Шаг 4 - Теперь при попытке получить файл, который находится на мастере jenkins, путь к файлу указывается как путь linux, который не работает в окне загрузки браузера.Поскольку он будет принимать только формат пути к файлам операционной системы Windows.

Пробный вариант - 1. Попытался использовать плагин «Копировать для сохранения», но копирует файл в конце сборки.Но требование заключается в том, что он должен получить файл и загрузить его во время выполнения.2. Попытался создать папку / файл с указанием пути Windows, чтобы увидеть, создает ли он эту папку или файл в Windows, но создает только на главном компьютере Jenkins.Например, "C: \ temp" создается как каталог в Linux.3. Открыл jenkins на узле Windows и вызвал скипет оттуда.Без влияния.4. Мысль об использовании скрипта Winscp для передачи файла из Linux в Windows, но он будет бесполезен, если не сможет получить доступ к папке / файлу подчиненного устройства (ОС Windows) через код во время выполнения, который имеет место на данный момент.

В1. Есть ли какой-нибудь способ, которым мы можем получить доступ к папке / файловой памяти ведомого, чтобы сохранить / получить файл во время выполнения, хотя скрипт запускается через мастер Jenkins?Q2 - Есть ли какой-либо механизм управления, который файл может храниться вне рабочей области jenkins?

1 Ответ

0 голосов
/ 21 декабря 2018

вы можете попробовать конвейерную сборку, как показано ниже:

pipeline{
    agent { label 'master' }
    stages {
        stage('Some Stage') {
            steps{
                    // This will create temporary zip of files for current build from master
                  stash includes: 'your/folder/path/pattern', name : 'tempName'
              }
            }            
        stage('Run node server') {
            agent { label 'slave name' }
            steps{
                // unzip the files which are zipped previously
                    unstash 'tempName'
                }
            }
    }
}

Обратите внимание, что на каждом этапе метка агента будет меткой агента, которую вы уже настроили.

См. this документ для получения дополнительной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...