目前我的部署如下所示:
提交本地更改后,我在本地运行一个 grunt 任务以将项目构建到一个
/dist
文件夹中。然后我将它们推送到 bitbucket。例如分支名称是功能/存款
在 Bitbucket 中,我将功能/存款合并到开发分支中,Codeship 构建开发分支(运行测试),然后执行以下代码:
ssh nodejs@12.345.67.891 'cd 项目/www; git结帐开发;git pull origin 开发;npm 安装;sudo monit restart project.app.js'
我不喜欢这种方法,因为对我来说,部署 Codeship 构建的东西会更有意义。Codeship 运行npm install
,我希望它运行我的grunt:build
任务,然后将其部署到我的生产服务器。
我发现一篇解决类似问题的文章并添加了 export CI_COMMIT_ID=$(git rev-parse HEAD) 任务。但我只是没有完全意识到我需要在我的部署脚本中用它做什么。此外,此示例与 heroku 一起使用,而在我的情况下,我使用自定义部署脚本。
我还找到了一个带有有用部署脚本的 github 存储库,这个可能适合我的需要。
但我想弄清楚的是,我是否可以以与我现在相同的方式从构建版本(Codeship 构建的那个)中提取,但
git pull origin develop
应该git pull
来自 Codeship 刚刚构建的版本