{% extends 'www/raster.html' %} {% load i18n %} {% block main-content%}
代码仓库
如果已经提交代码,可以
如果不知道如何提交代码,请 参阅文档
各开发语言关于 “一键部署” 的说明

语言识别

源代码目录需要有index.phpcomposer.json文件

运行

目前支持 Apache 和 Nginx 两种 Web 服务器,如果源代码根目录没有 Procfile 文件来定义启动命令,系统默认会使用 Apache。如果用Nginx可以将Procfile写成如下格式:

web: vendor/bin/heroku-php-nginx

详细文档参见 [ php文档 ]

语言识别

java应用程序使用Maven进行构建,源代码根目录需要有pom.xml文件

 - 基于jetty的webapp

将下面的内容添加到pom.xml文件中

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <version>2.3</version>
      <executions>
        <execution>
          <phase>package</phase>
          <goals><goal>copy</goal></goals>
          <configuration>
            <artifactItems>
              <artifactItem>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-runner</artifactId>
                <version>7.5.4.v20111024</version>
                <destFileName>jetty-runner.jar</destFileName>
              </artifactItem>
            </artifactItems>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
- 基于tomcat的webapp

将下面的内容添加到pom.xml文件中

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <version>2.3</version>
      <executions>
        <execution>
          <phase>package</phase>
          <goals><goal>copy</goal></goals>
          <configuration>
            <artifactItems>
              <artifactItem>
                <groupId>com.github.jsimone</groupId>
                <artifactId>webapp-runner</artifactId>
                <version>7.0.57.2</version>
               <destFileName>webapp-runner.jar</destFileName>
              </artifactItem>
            </artifactItems>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

运行

源码跟目录需要有Procfile 文件来定义启动命令,下面根据jetty和tomcat定义不同的启动命令:

jetty web: java $JAVA_OPTS -jar target/dependency/jetty-runner.jar --port $PORT target/*.war
tomcat web: java $JAVA_OPTS -jar target/dependency/webapp-runner.jar --port $PORT target/*.war

更多文档参见

[ java支持文档 ]

[ 部署基于jetty的java应用程序 ]

[ 部署基于tomcat的java应用程序 ]

语言识别

源代码根目录需要有requirements.txtsetup.py文件

运行

需要用户在代码根目录创建 Procfile 文件来指定启动应用的命令,该文件是普通的文本文件,类似的内容如下:

web: gunicorn APP_MODULE --log-file - --access-logfile - --error-logfile -

注意:


APP_MODULE 指定 wsgi 应用程序文件,书写格式 $(MODULE_NAME):$(VARIABLE_NAME)

MODULE_NAME 用来指定将要运行的 wsgi 应用程序文件。如当前目录 myapp 目录下有个 Python 包 gunicorn_app, gunicorn_app包下有一个wsgi 应用程序文件 test.py 则MODULE_NAME可以直接写成 gunicorn_app.test。

VIRIABLE_NAME表示在 MODULE_NAME 文件中要调用的对象(是一个WSGI callable, 可以是一个函数,类详情参看 WSGI规格说明书 )名。

详细文档参见 [ python文档 ]

语言识别

源代码根目录需要有Gemfile文件,即便没有任何gem依赖也需要有一个空的Gemfile文件

运行

代码跟目录中的Procfile 文件定义应用的启动命令,Rails或Rack应用如果没有该文件会默认使用如下的命令启动:

Rails 4.xweb: bundle exec bin/rails server -p $PORT -e $RAILS_ENV
Rails 3.xweb: bundle exec rails server -p $PORT
Rails 2.xweb: bundle exec ruby script/server -p $PORT
Rackweb: bundle exec rackup config.ru -p $PORT

注意:

生产环境建议使用puma做为ruby应用的web server,Procfile的写法参见 [ruby-sinatra] 或 [ ruby-rails] 代码示例。

详细文档参见 [ ruby文档 ]

语言识别

源代码目录需要有package.json 文件,如果不存在请使用 npm init 命令创建并配置需要的依赖和其它信息。

运行

Procfile 文件不是必须的,系统会检查 package.json 里的 scripts.start 项,如果存在,系统会自动创建 Procfile 。点击查看 package.json 文件中的 scripts.start 示例。否则,用户需要自行创建 Procfile 来指定应用启动命令,如:

web: node app.js

详细文档参见 [ Node.js文档 ]

{% endblock %}