BitBucket部署Django到Google App Engine提示找不到app.yaml文件如何解决
排查与解决步骤
- 第一步:确认仓库内app.yaml的实际路径与大小写
检查你的代码仓库根目录下是否存在realpars_platform文件夹,且该文件夹内存在app.yaml文件。注意BitBucket流水线运行环境为Linux系统,路径大小写敏感,若实际文件夹/文件名为RealPars_platform、App.yaml这类大小写不一致的命名,会直接触发找不到文件的报错。 - 第二步:检查是否被.gitignore规则忽略
查看仓库根目录的.gitignore文件,确认是否存在匹配app.yaml或者realpars_platform/路径的忽略规则,如果存在则删除对应规则,提交app.yaml文件到仓库后重试。 - 第三步:添加调试步骤确认流水线运行时的文件结构
在部署pipe的前一步添加文件结构打印步骤,直接确认流水线拉取代码、执行构建后的实际文件分布:
运行流水线后查看该步骤的输出,即可明确- step: name: 查看文件结构调试 script: - ls -R # 递归打印当前目录所有文件 - find . -name "app.yaml" # 搜索所有名为app.yaml的文件路径app.yaml的实际路径,或者确认该文件是否真的被拉取到流水线的工作目录中。 - 第四步:修正DEPLOYABLES配置
根据调试步骤拿到的实际路径,修改部署pipe的DEPLOYABLES参数值即可。比如你发现app.yaml实际在仓库根目录,就修改为'app.yaml';如果是在构建产物目录dist/realpars_platform/下,就修改为'dist/realpars_platform/app.yaml'。 - 第五步:检查工作目录是否被切换
如果你的流水线前面的构建步骤有执行cd切换目录的操作,部署pipe执行时会继承当前工作目录,导致路径匹配错误。可以在部署pipe之前添加一行cd $BITBUCKET_CLONE_DIR切回仓库根目录后再执行部署。
内容的提问来源于stack exchange,提问作者Shahram
相关产品推荐
相关产品推荐

