5

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

它失败的部分在生产脚本中。我创建了一个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脚本?

4

2 回答 2

1

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

于 2015-11-23T10:16:31.083 回答
-1

将 ${HOME}/clone 替换为 ~/clone

这对我有用

于 2016-04-12T20:37:21.617 回答