使用Codeship进行持续部署并不能识别环境变量

时间:2015-08-06 07:35:00

标签: 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

直接在Codeship中在测试脚本中回显$HOME会给我一个主目录,因此环境变量可以正常工作。但是,在运行批处理脚本时,环境变量无法识别。

我该如何解决这个问题?我宁愿不在我的部署脚本中硬编码路径。这种情况似乎也不可能发生,因为我加上了production.sh,而在文档中他们只有一个production脚本?

2 个答案:

答案 0 :(得分:1)

由于来自Codeship的人没有回答,我找到了写${HOME}目录的绝对路径。我已经做了一段时间了,现在有几个不同的项目,这一切似乎都有效。

答案 1 :(得分:-1)

用〜/ clone

替换$ {HOME} / clone

这对我有用