开发者社区> 问答> 正文

云效使用指南:持续交付:构建:Web应用构建配置



概述


本文讲解Web应用构建相应的配置。关于构建的更多内容,比如<应用名>.release是什么,请从 构建配置概述读起。
完成Web应用的构建配置后,请继续部署配置,参见 部署配置:通过脚本部署

Java构建


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

  1. code.language=oracle-jdk1.9
  2. 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,RDC会使用该文作为构建的settings.xml。
如果需要使用私有maven仓库下载依赖或上传二方库,具体做法详见 在RDC中使用私有maven仓库

Node构建


此时<应用名>.release文件基本内容:
  1. code.language=node8.x

这意味着,将在Node构建环境(详见 构建环境)中,使用Node默认构建命令npm --python=/usr/alibaba/install/python-3.5.0/bin/python3 --registry=https://registry.npm.taobao.org install --productionL进行构建,随后把构建输出./(源代码根目录)打为tgz包并保存,供后续部署使用。
如果想改变构建命令,需要设置build.command。详见 可配置键的完整列表中的build.command。类似的,如果想改变打包范围,需要设置build.output。
Node构建通过engines的方式来获得特定的版本,具体方式是在package.json中添加如下片段:
  1. ...
  2.   "engines": {
  3.     "node": ">=5.1.0"
  4.   },
  5. ...

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

PHP构建


此时<应用名>.release文件基本内容:
  1. code.language=php7.0

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

其他情况


此时<应用名>.release文件基本内容:
  1. code.language=scripts

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

补充说明



灵活配置构建环境


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

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


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

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


RDC支持为不同的运行环境打不同的包。为此,在不同的环境中使用不同的构建配置。详见 使用参数影响构建行为
修改一个环境的构建配置后,考虑相应的修改该环境的部署配置。详见 应用部署概述

关于包的管理


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

展开
收起
行者武松 2017-10-23 14:26:19 2898 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
云效助力企业软件供应链生产效能提升 立即下载
云效 DevOps 客户案例集(公共云) 立即下载
云效专有云服务手册下载(2019最新版) 立即下载