我开发了一个python项目,它使用包owlready2
。对于它的一些功能,owlready2通过subprocess
-package显式地进行类似java -jar ...
的调用
在我本地的机器上,这工作正常。现在我想用drone.io设置CI
我当前的.drone.yml
如下所示:
---
kind: pipeline
name: python-3-8
steps:
- name: test
image: python:3.8
commands:
- pip install -r requirements.txt
- pip install .
- python -m unittest yamlpyowl.tests
在测试摘要中,我得到了错误:
...
File "/usr/local/lib/python3.8/subprocess.py", line 1702, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'java'
当我使用图像“python:3.8”时,这是非常合乎逻辑的
问题:如何使java在测试机上可用
您必须使用的是由您指定的Docker映像定义的。您使用的是标准的
python3.8
Docker映像,因此只有Python可用您需要的是找到或生成一个包含Python和Java工具集的Docker映像,并将其提供给Drone可以访问的地方。这可能在DockerHub上,您可以在它上创建一个帐户并免费使用。我不知道DockerHub上是否已经有包含这两个工具集的图像。我建议你去DockerHub网站搜索这样的图片。如果找不到Docker映像,则可以创建自己的Docker映像,其中包含您想要/需要的任何内容,将其推送到DockerHub,然后在无人机构建文件中引用它
按照@Steve的回答,我在repo中创建了一个自定义docker映像:carvk/java_python
现在工作
.drone.yml
为相关问题 更多 >
编程相关推荐