我对詹金斯和卡皮斯特拉诺很新。我发现现有的文档在Jenkins中运行Capistrano时非常分散。话虽如此,我已经成功安装了Jenkins和Capistrano。我创建了这些项目并可以触发脚本。对于我的初始测试,我只是运行默认的部署脚本,因为它是开箱即用的。
当我通过Jenkins触发器运行以下内容时:
#!/bin/bash -exl
export PATH=$PATH:/usr/local/bin
cap staging deploy
我收到错误(为简洁而编辑):
+ USER=jenkins
+ LOGNAME=jenkins
Stage not set, please call something such as `cap production deploy`, where production is a stage you have defined.
*Nothing in /capistrano.log
当我从命令行在脚本中运行相同的命令时,我得到:
+ USER=root
+ LOGNAME=root
*capistrano.log file:
---
INFO START 2016-09-29 16:50:03 +0000 cap staging deploy
INFO ------------------------------------------------------------------------
---
似乎jenkins用户配置不正确并且缺少某些依赖项,但我无法找到解决方法。
帮助表示赞赏。如果有人知道将Capistrano与Jenkins一起使用的良好资源,这也将是一个巨大的帮助。
答案 0 :(得分:0)
原来问题是我的工作区目录名称中有一个空格。由于某种原因,在Jenkins脚本中没有正确解释目录名,但在我从命令行运行的bash脚本中没有问题。感谢我的好友斯科特想出那一个!