Web应用构建配置

更新时间:

概述

本文讲解Web应用构建相应的配置。关于构建的更多内容,比如<应用名>.release是什么,请从构建配置概述读起。

完成Web应用的构建配置后,请继续部署配置,参见部署配置:通过脚本部署

Java构建

此时<应用名>.release文件基本内容:

code.language=oracle-jdk1.9
build.output=target/<应用名>.war

这意味着,将在Java构建环境(详见构建环境)中,使用Java默认构建命令mvn -U clean package -Dappname=$APP_NAME -P$PACKAGE_LABEL进行构建,随后把构建输出target/<应用名>.war打为tgz包并保存,供后续部署使用。

如果想改变构建命令,需要设置build.command。详见可配置键的完整列表中的build.command

默认的Maven settings会把所有的repository都镜像到maven.aliyun.com下载依赖,如果您需要不同的配置,只需要在代码根目录放置您的settings.xml,云效会使用该文作为构建的settings.xml

如果需要使用私有Maven仓库下载依赖或上传二方库,具体做法详见在云效中使用私有Maven仓库

Node构建

此时<应用名>.release文件基本内容:

code.language=node8.x

这意味着,将在Node构建环境(详见构建环境)中,使用Node默认构建命令npm --python=/usr/alibaba/install/python-3.5.0/bin/python3 --registry=https://registry.npmmirror.com install --productionL进行构建,随后把构建输出./(源代码根目录)打为tgz包并保存,供后续部署使用。

如果想改变构建命令,需要设置build.command。详见可配置键的完整列表中的build.command。类似的,如果想改变打包范围,需要设置build.output

Node构建通过engines的方式来获得特定的版本,具体方式是在package.json中添加如下片段:

...
  "engines": {
    "node": ">=5.1.0"
  },
...

则云效会根据使用您指定的版本。该机制背后使用的是nvm,所以只要是nvm支持的版本,都可以填写。

PHP构建

此时<应用名>.release文件基本内容:

code.language=php7.0

系统将简单的把./(源代码根目录)打为tgz包并保存,供后续部署使用。如果希望构建,请设置build.command,于是将在PHP构建环境(详见构建环境)中,据此构建后再打包。

其他情况

此时<应用名>.release文件基本内容:

code.language=scripts

系统将简单的把./(源代码根目录)打为tgz包并保存,供后续部署使用。如果希望构建,请设置build.command,于是将在基础环境(详见构建环境)中,据此构建后再打包。

补充说明

灵活配置构建环境

build.command中,可以指定任意构建命令,比如build.command=sh build.sh,所以如果需要安装软件,或者执行复杂的命令,都可以通过这种方式实现。

环境变量对于构建过程的影响

关于环境变量对于构建过程的影响,请参看使用参数影响构建行为

不同环境使用不同的构建配置

云效支持为不同的运行环境打不同的包。为此,在不同的环境中使用不同的构建配置。详见使用参数影响构建行为

修改一个环境的构建配置后,考虑相应的修改该环境的部署配置。详见应用部署概述

关于包的管理

目前不提供压缩包的下载,该压缩包会在进行部署时候,直接传到指定机器上。详见部署配置:通过脚本部署