首页 > 解决方案 > python:无法打开文件 - Bamboo

问题描述

我已将任务配置为从 Bit-Bucket 检查源代码,它工作正常。

根据一些评论,我可以看到以下几行工作正常。

/usr/bin/python <<EOF
print "Hello, World!"
EOF

我试图从签出源代码中运行我的 python 文件。

根据文档从以下代码中获取当前工作目录,

${bamboo.working.directory}

Got the result : 
/opt/atlassian/atlassian-bamboo-home-6.4.1/xml-data/build-dir/XXXXSCRIP-XXXXSCRIP-JOB1

我的存储库路径是

ProjectName/app.py

添加了一个脚本任务并将以下内容作为内联注释给出,

/usr/bin/python /opt/atlassian/atlassian-bamboo-home-6.4.1/xml-data/build-dir/XXXXSCRIP-XXXXSCRIP-JOB1/ProjectName/app.py

但是,执行失败。请参阅以下错误消息。

python: can't open file '/opt/atlassian/atlassian-bamboo-home-6.4.1/xml-data/build-dir/XXXXSCRIP-XXXXSCRIP-JOB1/ProjectName/app.py': [Errno 2] No such file or directory

我该如何解决这个问题。

编辑:

在此处输入图像描述

标签: pythonbamboobitbucket-server

解决方案


即使您指定了目录,Python 或 Bamboo 也可能无法在您的脚本任务范围内直接访问。

让您在 Bamboo 中的第一个任务是从链接存储库中签出源代码。只要您在下面的工作目录步骤中设置它,您就可以给它一个结帐目录名称。

接下来,使用以下更改修改您的脚本任务:

  • 设置解释器为shell
  • 将 Environment 变量设置为 PATH="$PATH:/usr/local/bin" 这将允许 Bamboo 访问 Python 的 Path 变量。
  • 从“XXXXSCRIP-XXXXSCRIP-JOB1”之后定义您的工作目录。在 Bamboo 中,您的默认工作目录将是“XXXXSCRIP-XXXXSCRIP-JOB1”。因此,如果您将 python 代码签出到 ProjectName,则脚本的工作目录应该只是 ProjectName。

推荐阅读