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

Lod*_*ybo 5 environment-variables continuous-deployment codeship

最近我开始使用Codeship作为我正在维护的小型网站的CI/CD工具.我将我的Codeship项目设置为通过sftp进行部署,如其指南中所述.

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

put -rp "${HOME}/clone/build/*" /path/to/remote/dir
Run Code Online (Sandbox Code Playgroud)

但是在运行构建时,我收到以下错误:

sftp> put -rp "${HOME}/clone/build/*" /path/to/remote/dir
stat ${HOME}/clone/build/*: No such file or directory
Run Code Online (Sandbox Code Playgroud)

呼应$HOME直接在Codeship测试脚本给我我的主目录,所以环境变量的作品.但是,在运行批处理脚本时,环境变量无法识别.

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

Lod*_*ybo 1

由于 Codeship 的人员没有给出答案,我最终编写了该${HOME}目录的绝对路径。我已经在几个不同的项目中这样做了一段时间,而且似乎一切都有效。