社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

hoefling

hoefling 最近创建的主题
hoefling 最近回复了
6 年前
回复了 hoefling 创建的主题 » 如何使用jenkins pipline步骤在docker映像中安装pip?

如我所说 in this comment ,解决方案应该是在容器中添加适当的用户。詹金斯使用 984:984 对于我的机器上的uid/gid(但在您的机器上可能不同-登录到主机jenkins正在运行并执行 sudo -u jenkins id -a 要检测它们),因此需要将其复制到应由jenkins运行的容器中:

FROM python:3.7

RUN mkdir /home/jenkins
RUN groupadd -g 984 jenkins
RUN useradd -r -u 984 -g jenkins -d /home/jenkins jenkins
RUN chown jenkins:jenkins /home/jenkins
USER jenkins
WORKDIR /home/jenkins

CMD ["/bin/bash"]

当然,既然你不是 root 容器中的用户再创建一个虚拟环境:

$ docker run --rm -it jenkins/python /bin/bash
jenkins@d0dc87c39810:~$ python -m venv myenv
jenkins@d0dc87c39810:~$ source myenv/bin/activate
jenkins@d0dc87c39810:~$ pip install numpy

或使用 --user 论点:

$ docker run --rm -it jenkins/python /bin/bash
jenkins@d0dc87c39810:~$ pip install --user --upgrade pip
jenkins@d0dc87c39810:~$ pip install --user numpy

等。


或者,你 可以 (但在大多数情况下不应该)作为 但是 jenkins 组:

$ docker run --user 0:984 ...

这样,虽然修改后的文件仍将改变所有者,但它们的组所有权仍然完好无损,因此詹金斯将能够清理文件(或者您可以自己通过,通过

sh 'rm -f modified_file'

Jenkinsfile .

6 年前
回复了 hoefling 创建的主题 » 如何使用setuptools将python标记添加到bdist_wheel命令?

每个命令行参数 distutils 命令可以保存在安装配置文件中。创建名为的文件 setup.cfg 在同一个目录中 setup.py 驻留并存储自定义 bdist_wheel 其中的配置:

# setup.cfg
[bdist_wheel]
python-tag=py36

现在运行 python setup.py bdist_wheel 基本上与跑步相同 python setup.py bdist_wheel --python-tag py36 .

中的相关文章 迪斯妥尔 文档: Writing the Setup Configuration File .