environment-variables - 使用 Codeship 进行持续部署无法识别环境变量

标签 environment-variables continuous-deployment codeship

最近我开始使用 Codeship 作为我正在维护的一个小型网站的 CI/CD 工具。我将我的 Codeship 项目设置为通过 sftp 部署为 described in their guide here .

失败的部分在生产脚本中。我创建了一个 deploy文件夹和 production.sh包含以下行的脚本:

put -rp "${HOME}/clone/build/*" /path/to/remote/dir

但是,在运行构建时,我收到以下错误:
sftp> put -rp "${HOME}/clone/build/*" /path/to/remote/dir
stat ${HOME}/clone/build/*: No such file or directory

回声 $HOME在 Codeship 中的测试脚本中直接为我提供了我的主目录,因此环境变量可以工作。但是,在运行批处理脚本时,环境变量无法识别。

我怎样才能解决这个问题?我宁愿不在我的部署脚本中硬编码路径。这似乎也不可能发生,因为我添加了后缀 production.sh ,而在文档中他们只有 production脚本?

最佳答案

在 Codeship 的人没有回答的情况下,我导致写了 ${HOME} 的绝对路径。目录。我已经在几个不同的项目中这样做了一段时间,而且一切似乎都奏效了。

关于environment-variables - 使用 Codeship 进行持续部署无法识别环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31849555/

相关文章:

node.js - Jest JS 测试覆盖率数据未从 Codeship 发布到 Code Climate

javascript - Protractor 测试失败,配置未定义

linux - 为什么 QProcessEnviroment 返回一个空的 QStringList?

java - 使用 Java_OPTS 启动 Java

kubernetes - 混合来自 kubernetes 部署和 docker 镜像的环境变量

cordova - 持续部署和实时更新不会在成功构建和部署的 ionic 应用程序流中发生

mysql - 使用 Docker 在 WordPress 上持续交付

c++ - 如何将getenv()的内容放入字符串中

google-app-engine - 推送部署、管道、谷歌应用引擎

meteor - 在 Codeship 上使用 Velocity 测试 Meteor