#python #python-3.x #jenkins #jenkins-plugins
#python #python-3.x #дженкинс #дженкинс-плагины
Вопрос:
Я новичок в Дженкинсе. Я установил плагин python, который доступен в пользовательском интерфейсе Jenkins. Но, похоже, он устанавливает python 2. Я хочу иметь python 3 на Дженкинсе. Я не нашел ничего подходящего в Интернете. Есть пара вопросов в похожих строках, но ни у одного из них нет правильных ответов.
Комментарии:
1. Вы смотрели на Shining Panda или pyenv и pyenv-pipeline ?
2. они не задокументированы должным образом, я не видел никаких примеров того, как начать их использовать
3. Это открытый исходный код; я думаю, вы получаете то, за что платите. Я просто предполагаю, что есть альтернативы, которые, вероятно, будут работать с python3.pyenv-pipeline и ShingPanda, похоже, имеют документацию.
Ответ №1:
Для достижения вышеуказанного существует несколько способов
- Плагин Python (по моему опыту, не очень полезный и широко используемый)
- Установите Docker на Agent Shell virtualenv (с конвейерами или без них)
- Оболочка докер (с конвейерами или без них)
Я добавлю ссылки на документы и пример к 3. который я считаю современным способом Дженкинса, поскольку он позволяет смешивать и сопоставлять версии python и зависимости пакетов
Пример:
// // Modern jenkins python example - utilizing Pipelines and Docker agent(python:3) // pipeline { agent { docker { image 'python:3' label 'my-build-agent' } } stages { stage('Test') { steps { sh """ python --version python ./test.py """ } } } }
Документы для более глубокого изучения вышеизложенного:
https://www.jenkins.io/doc/book/pipeline/getting-started/
https://www.jenkins.io/doc/book/pipeline/docker/
Комментарии:
1. @yahoo надеюсь, вы найдете это полезным, если вам нужен пример 2. оставьте комментарий, я его тоже приложу
Ответ №2:
По моему опыту, лучший способ сделать это — написать сценарий оболочки для того, что вам нужно сделать, а затем вызвать этот сценарий оболочки из Jenkins в качестве шага «команды оболочки».
Это просто, это дает вам контроль и дает вам все, что вам нужно. Вы не ограничены тем, что предоставляет Jenkins, он отлично работает virtualenv
, и ваши разработчики могут запускать тот же скрипт на своих компьютерах, что также чрезвычайно полезно.
Вы можете зафиксировать этот скрипт как часть проекта в своем репозитории.
Ответ №3:
Более простой способ:
Установите Python как часть конвейера, например:
apt install python3 -y