写在前面:
heroku 是一个类似于google app engine的Paas 云平台,可以在上面进行多种web应用的部署,
基本快把流程走通了,真是挖了一个大坑啊,不过生命在于折腾。
- 在windows下安装Mojolicious::Command::deploy::heroku (这个模块不适合windows)
- windows的heroku各种问题,以及采用cygwin的失败。。。
- gfw
一、最简单的方式
Install
curl -L tempi.re/bundles/mojo-deploy-heroku | sh
Workflow
-
Sign up with Heroku
https://api.heroku.com/signup
-
Generate Mojolicious app
mojo generate lite_app hello
-
Deploy
hello deploy heroku --create
利用一个 mojolicious::command::deploy::heroku,省略许多繁杂的步骤,实现一键上传吧。
该方法只适合linux,并且降低了可操作性,让我们不清楚具体要做什么。
二、详细一点
https://github.com/judofyr/perloku
windows注意事项:
- 安装heroku的工具
- 测试方式
perl ./app.pl daemon --listen http://*:3000
#windows下需要chmod
git init git add . git update-index --chmod=+x Perloku git update-index --chmod=+x app.pl git commit -m "Initial version" heroku create -s cedar --buildpack http://github.com/judofyr/perloku.git git push heroku master
- git push heroku master 无法提交,由于没有ssh的key,或者 gfw。
ssh-keygen -t rsa 生成keys
heroku add:keys
heroku keys 可以查看keys
修改 ~/.ssh/config 文件 User 为 heroku keys 看到的user
Host heroku.com
User XXXX@XXX-PC
Hostname 107.21.95.3
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
得到:demo
三、总结:
cygwin也不能解决所有的问题,没有安装所有的包。
建议开发还是在linux环境进行,避免不必要的麻烦。
windows下使用perl安装模块的的问题,cpanm 也会存在失败的情况,例如正确安装但无法识别某些模块的正确版本,采用cpan 一步步安装反而不会出错。
简易性和正确性总是难以并存,当然能ppm直接安装当然是最好的了。
部分参考:
http://tempire.github.io/mojolicious-command-deploy-heroku/
https://github.com/phelanm/perl-heroku
https://github.com/judofyr/perloku
http://blog.kraih.com/post/43199102900/mojolicious-in-the-cloud-hello-heroku