Примечание: никогда раньше не использовал Дженкинс.
У меня есть скрипт на Python, который требует для запуска 3 аргумента. Через терминал вы бы использовали его так:
python script.py arg1 arg2 arg3
Я хочу создать новое задание jenkins, которое в основном использует этот скрипт и запускает его после того, как были предоставлены 3 аргумента. Однако я не могу найти никаких примеров, в которых выполнялась бы такая работа. Скрипт помещается в репозиторий github, поэтому его путь выглядит так: https://github.com/username/repo/folder/script.py
. Вот что я сделал: 1. Я пошел дальше и создал новую работу. New Item --> Freestyle Project
. 2. В GitBucket -> Githubproject я добавил путь: https://github.com/username/repo/
3. Затем я щелкнул This build is parameterized
и добавлены 3 параметра выбора, которые являются возможными вариантами. 4. Затем при сборке я выбрал командную оболочку и дал команду python script.py $param1 $param2 $param3
Мой вопрос в том, что на шаге 2 я должен указывать путь к сценарию как https://github.com/username/repo/folder/script.py
Или это так, как я сейчас.
Любые предложения / ссылки на руководства будут полезны
Если вам нужен только конкретный файл - вы можете использовать только сценарий оболочки
#!/bin/bash
wget -q -O sample.py https://raw.githubusercontent.com/Alexhha/hello-world/master/python/sample.py
/usr/bin/python sample.py ${ARG1} ${ARG2} ${ARG3}
sample.py это просто простой скрипт
import sys
print 'Sample output: %s, %s, %s' % (str(sys.argv[1]), str(sys.argv[2]), str(sys.argv[3]))
Запустить пример сборки
Вы получите что-то вроде следующего
сценарий находится в частном репо
Если вы клонируете внутри скрипта и вам нужно избегать запросов, вы можете добавить токен в URL-адрес клона:
git clone https://<token>@github.com/owner/repo.git
или
git clone https://<token>:x-oauth-basic@github.com/owner/repo.git
Примечание. Токены следует рассматривать как пароли. Помещение токена в URL-адрес клона приведет к тому, что Git запишет его в файл .git / config в виде обычного текста. К сожалению, это происходит и с паролями HTTP.
Похоже, вам все, что вам нужно сделать, это добавить команду в диалог оболочки exec. Остальные настройки мне подходят. Что в консольном выводе вашего задания Jenkins?
Если вы добавили расположение репозитория git и у системы есть надлежащий доступ к этому репо, или если вы настроили учетные данные в задании Jenkins, попробуйте настроить команду оболочки выполнения, добавив полный путь к Python и локальный путь к сценарию.
Наша установка Jenkins выполняется из контейнера локальной рабочей области для каждого задания.
Выполнить оболочку:
/usr/bin/python ./folder/script.py $param1 $param2 $param3