Pylint无法在Jenkins中运行

问题描述 投票:0回答:1

我有一个Jenkins管道,在这个阶段,它用hadolint删除Dockerfile,并用Pylint删除python文件。

[虽然Hadolint步骤有效,但Pylint步骤抛出此错误:

/var/lib/jenkins/workspace/readerXCL_blue@tmp/durable-7d7d2570/script.sh: line 2: pylint: command not found

script returned exit code 127

这些是相关的管道步骤:

    stage('Lint Dockerfile') {
        steps {
            sh 'hadolint Dockerfile'
        }
    }
    stage('Lint Python') {
        steps {
            sh 'pylint --disable=C *.py'
        }
    }

我明确尝试使用bash(但是bash似乎仍然是默认值),并设置venv来运行pylint,但无济于事。

pylint和hadolint命令均在运行Jenkins的计算机上手动使用,这是Ubuntu 18.04 EC2 VM。

感谢任何帮助。

ubuntu jenkins pylint
1个回答
0
投票

问题出在Jenkins shell中,并且显然缺少virtualenv-即使Jenkins配置为使用bin / bash。

我解决的方法是:

            steps {
            sh 'bash ./lintpython.sh'
        }

在lintpython.sh内部:

#!/bin/bash
python3 -m venv ~/.somevenv
source ~/.somevenv/bin/activate
pip install --upgrade pip &&\
  pip install -r requirements.txt
pylint app.py
© www.soinside.com 2019 - 2024. All rights reserved.