【发布时间】:2023-03-24 16:10:02
【问题描述】:
我正在尝试通过 Travis CI 将 AngularJS 应用程序部署到 Divshot 主机上。
此应用包含一个/dist 目录,即:
- Grunt 构建结果的去向(就像在本地一样)
-
.gitignored,因此没有推送(Travis 必须重建它) - 设置为 Divshot 应用的根目录
感谢.travis.yml 文件,Travis 可以很好地安装 deps 并运行构建:
language: node_js
node_js:
- '0.10'
install:
- "npm install"
- "gem install compass"
- "bower install"
script:
- "grunt build"
deploy:
provider: divshot
environment:
master: development
api_key:
secure: ...
skin_cleanup: true
但谈到部署,Travis 说:
Error: Your app's root directory does not exists.
这实际上是来自divshot-cli 的消息,因为/dist 目录不存在。删除 /dist 目录后,在本地执行 divshot push 时,我收到完全相同的消息。
这是一个无法部署的构建:https://travis-ci.org/damrem/anm-client/builds/35582994
为什么安装和构建运行正常后,Travis VM 上不存在 /dist 目录?
注意事项:
- 我尝试将
script步骤替换为before_deploy步骤,但问题仍然存在(构建 #13)。 - 如果我推送一个包含
index.html的预先存在的/dist文件夹,它会很好地部署 (https://travis-ci.org/damrem/anm-client/builds/35583904)
【问题讨论】: