Как получить python3 на Дженкинсе?

#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:

Для достижения вышеуказанного существует несколько способов

  1. Плагин Python (по моему опыту, не очень полезный и широко используемый)
  2. Установите Docker на Agent Shell virtualenv (с конвейерами или без них)
  3. Оболочка докер (с конвейерами или без них)

Я добавлю ссылки на документы и пример к 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