与Git + Heroku(Ruby on Rails)一起使用的优秀部署策略是什么?
目前我使用我的原始Git存储库的方式:所有功能(或"故事")首先作为分支检出,然后与master合并并推送到原点.
推送到origin/master的任何东西都会触发一个脚本,将新的rails代码拉到临时区域(简单的rails webserver).
当我需要将新的生产版本推送到Heroku时,我应该创建一个新的分支(称为类似于production_version_121),并以某种方式将其推送到Heroku?
理想情况下,我想选择我应该包含在生产分支中的先前开发版本中的哪些功能...测试它,并推送到Heroku.
例如,我可能不希望所有最新代码都被推送到生产中.我可能想要我曾经使用的功能"a"和功能"c"都以某种方式合并到制作中,而不包括需要更多调试的实验性功能"b".
NB我首先要尝试避免使用capistrano并立即手动工作.
思考?最佳实践?
我遇到了这个Git问题,我似乎无法解决它.
我有一个节点,我一直在构建,我终于达到了部署它的程度.
我正在尝试将文件直接推送到Heroku上的应用程序.我知道我可以简单地从Github仓库中提取数据但是我想避免公开我的私钥,所以我为要访问的密钥创建了一个自定义模块(例如,"模块/私有变量". JS").这个文件包含在.gitignore中,因此我不会将它推送到我公开查看的Github.
当我的应用程序推送到Heroku时,无论出于何种原因我都无法专门推送该文件.
git add -f modules/private-variables.js
Run Code Online (Sandbox Code Playgroud)
无论出于何种原因,这都行不通.它还在回答"一切都是最新的"
$ git add -f modules/private-variables.js
$ git commit -m "7th attempt to include necessary file"
$ git push heroku master
Run Code Online (Sandbox Code Playgroud)
我甚至做了"git commit -a"
$ git add -f modules/private-variables.js
$ git commit -a
$ git push heroku master
Run Code Online (Sandbox Code Playgroud)
我跑了"heroku run bash"并得出结论说我的文件仍然不在那里.
不可否认,我对Git仍然缺乏经验,但这是我第一次尝试包含曾经在.gitignore中的文件,所以我从未遇到过这个问题.我甚至尝试删除.gitignore中的一行.
任何有用的提示将不胜感激.
第一次使用Heroku。试图推动。我已经运行了命令:
heroku create --buildpack heroku/python
并显示
$ heroku create --buildpack heroku/python
Creating app... done, glacial-reef-7599
Setting buildpack to heroku/python... done
https://glacial-reef-7599.herokuapp.com/ | https://git.heroku.com/glacial-reef-7599.git
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
$ git push heroku master
Counting objects: 129, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (124/124), done.
Writing objects: 100% (129/129), 69.06 KiB | 0 bytes/s, done.
Total 129 (delta 22), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: ! No default language could be detected …Run Code Online (Sandbox Code Playgroud)