Как получить несколько сценариев в разных местах в Jenkins - PullRequest
0 голосов
/ 06 февраля 2019

Мне нужно получить 2 сценария в разных местах, а затем запустить docker-compose, но я сталкиваюсь с ошибкой, что сначала необходимо получить сценарии.

Я нашел это Как использовать команду источника в Jenkins* * * * * * * * * * * * * * * Сценарий конвейера вопрос и написал мой комментад Дженкинс, как показано ниже:

. ../env/scriptA.sh arg-1 ../env/scriptB.sh ../compose/build.yml arg-2

Но все еще сталкивается с этой ошибкой.Так как я могу получить все эти сценарии и собрать файл в jenkins?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Как отметил Нахуэль Фуйе в своем ответе, это всего лишь одна строка, а файлы сценария и yml являются другими аргументами, и, как я уже упоминал в комментарии к Науэлю Фуйе, проблема заключается в том, что «[[» я не могу найти этот сценарийв оболочке jenkins (даже если скрипт имеет свой собственный shebang), поэтому я добавил shebang в блок оболочки в jenkins, как показано ниже, и теперь он работает.

sh '''#!/bin/bash -xe
. ../env/scriptA.sh arg-1 ../env/scriptB.sh ../compose/build.yml arg-2
echo "other commands"
'''
0 голосов
/ 06 февраля 2019

из руководство по bash

.(точка)

.filename [arguments]

Чтение и выполнение команд ...

синтаксис - это одно имя файла, а затем позиционные параметры, он не может принимать несколько файлов.Объединение файлов не позволяет изменять параметры между вызовами, возможно, если это разрешено, можно использовать последовательность команд

{ . file1 args ; . file2 args;}

Обратите внимание на пробел после первой открывающей скобки и точку с запятой перед закрывающей скобкой.

...