我创建了一个如下所示的python包。该软件包主要用于在docker容器内的jenkins管道中运行阶段。因此,我在github中创建了一个存储库,并创建了一个dockerfile,其中有一个步骤是克隆存储库并对该软件包执行pip安装。然后,我构建了docker镜像。
jenkins_pipeline_pkg/
| - jenkins_pipeline_pkg/
| - __init__.py
| - config/
| - config.yaml
| - scripts/
| - pre_build.py
| - build.py
| - setup.py
我在使用dockerfile创建的docker容器内的软件包上执行了pip安装。 setup.py如下所示。
#!/usr/bin/env python
from setuptools import setup
setup(name='jenkins_pipeline_pkg',
version='0.1',
description='Scripts for jenkins pipeline',
url='<private repo url>',
author='<name>',
author_email='<email>',
packages=['jenkins_pipeline_pkg'],
zip_safe=False,
entry_points={
'console_scripts': [
'pre-build = jenkins_pipeline_pkg.pre_build:main',
'build = jenkins_pipeline_pkg.build:main',],
}
)
我在包装上运行了pip安装。它安装了~/.local/bin
中entry_points中提到的可执行文件。然后,我尝试通过不更改目录~/.local/bin
来从其他任何地方执行可执行文件(只是说我是从/ home / user执行的)。而且bash自动完成功能不会显示pre-build命令。我不知道我在这里想念什么。
答案 0 :(得分:1)
尝试在/ use / bin中为可执行文件创建链接,或者在$ PATH中包含〜/ .local / bin。
编辑: 导出PATH =〜/ .local / bin:$ PATH