gpt4 book ai didi

ubuntu - Pylint 不能在 Jenkins 内部运行

转载 作者:行者123 更新时间:2023-12-04 18:44:02 25 4
gpt4 key购买 nike

我有一个 Jenkins 管道设置,在这个阶段,用 hadolint 和 python 文件用 Pylint 对 Dockerfile 进行 lints。

当 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 的机器上手动使用,Jenkins 是一个 Ubuntu 18.04 EC2 虚拟机。

感谢任何帮助。

最佳答案

显然,问题出在 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

关于ubuntu - Pylint 不能在 Jenkins 内部运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62161201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com