Write up in-app doc for deployment flow of Python / NodeJS / Rails app

Issue #47 resolved
Jimmy Chu created an issue

@quasimo 請在下面列出要做的框架,完成後,這樣 標式完成了框架。

  • PHP: Laravel
  • PHP: Symfony
  • NodeJS: Express
  • NodeJS: Meteor
  • Python: Django
  • Python: Flask
  • Ruby: Sinatra
  • Ruby: Rails

Comments (28)

  1. quasimo

    目前进度未如理想,这两天从早到晚连续尝试了各种framwork如何建立demo app以及以下framwork测试应用的deploy:

    • flask
    • rails
    • express
    • django
    • symfony

    目前成功运行的只有flask和express:

    尚未测试连数据库的情况(symfony的demo是关联了数据库的但是deploy不成功)

    目前各种返回都试过,包括503,500,404等。

    其中最困惑的是symfony(因为openshift官方文档看过几遍并且照着做了,另外还参考了好几个第三方的教程) http://symfony-532731669qq.app.cnpaas.io/

    我截了不少图。如果明天有空,我想和你专门探讨一下symfony。

  2. quasimo

    我发现,当我根据一些教程,创建deploy文件时(或者下载openshift的github官方example repo后),push之后都有类似报错:

    remote: 54fe41779068dc9306000082 (Error activating gear: CLIENT_ERROR: Failed to execute action hook 'deploy' for 54fe41779068dc9306000082 application django)
    

    除了django外昨天测symfony也有这个问题,本来我以为是我的deploy文件写错(我已经+x的),但是今天上午尝试了几个自己创建的django project失败后我下载了openshift的django-example下来直接push,结果报了这个错。(我自己创建的几个django project由于没有写deploy文件所以没有报错从终端的remote讯息看是很顺利的只不过打开网址还是不行)

  3. quasimo

    我发现当我local的git处于非master的branch的时候,push指令放出后直接提示Everything up-to-date. 实际上这个过程没有push东西上去。 (无论是git push origin master 还是 git push -f origin master)

    一定要在master上做修改?

  4. quasimo

    今朝deploy左个laravel应用。但是返回空白页: http://php2-linuximooutlook.app.cnpaas.io

    不过其实是正确deploy的,因为我放了个phpinfo上去: http://php2-linuximooutlook.app.cnpaas.io/info.php

    我已经尝试很多方法,主页还是空白页。

    stackoverflow我找到几个和我情况一样的,但是人家貌似是apache的设定错误。我假定cnpaas的apache是正确的。

    我也有怀疑是不是我没有设定正确环境变量是否要把相对路径设为绝对路径,但是我刚才尝试把 /public/index.php (lavarel的主目录在public里,openshift会自动识别)里面两个require文件改为相对路径下的(/../bootstrap/info.php)时,是正常打开phpinfo的。这说明应该不是路径问题。

    我现在的判断是:你的PHP library没有安装足够的extension。

    laravel的需求是:

    • PHP 版本 >= 5.4
    • Mcrypt PHP 扩展
    • OpenSSL PHP 扩展
    • Mbstring PHP 扩展
    • Tokenizer PHP 扩展

    我看你的info貌似缺少了 McryptMbstring

  5. quasimo

    express3 with mongoDB just work! http://exp2-linuximooutlook.app.cnpaas.io/dashboard

    express比我想象花多了很多时间(因为每次以为得左结果create一个新的app做测试还是503)。但是从中我发现了openshift处理nodejs上边原来还有不少坑不过已经身经百战了知道该如何处理。有些细节问题官方文档没有提到。所以在logs里面先后出现的不同error在网上也有好多人遇到。

    接下来我要测试去除 .openshift 重建一个app是否ok,因为我把默认的supervisor运行的模式通过官方文档提及的方法(用 .openshift/markers/user_npm )来用npm start -d方式运行了。也就是现在这版本: http://exp2-linuximooutlook.app.cnpaas.io/dashboard

    但是我想进一步确定用默认的方式是否能运行。

    另外一个问题是,较早前我发现我本机express4 create的app,放上去通过rhc发现线上的express版本是3。所以原以为是线上的问题。但是我想用我现在解决了问题的办法再尝试一次express4是否也能在cnpaas上用。

    然后我冲凉后就会写express的文档了。

    总之有得看log之后世界就变的很美好了!

    :)

  6. quasimo

    刚pull requrest flask文档了。

    运行结果: http://flask-test04hkwtf.app.cnpaas.io

    经过 Django 的考验和经验以及做减法的测试,我放弃原先deploy flask应用的方法,发现原来如此简单都可以运行flask(但是是hello world应用而已)。

    由于我本身没有学过如何写 Django 应用 和 Flask 应用,所以更深入的部分需要之后再补充(预计下周初)。

    不过起码我会再clone多几个现成的app来测试跟数据库的结合的。

    而目前的两份文档我测试过起码是可以运行基本的应用。

  7. Log in to comment