文档

构建

更新时间:
一键部署

云效流水线通过支持不同的构建组件,对各种语言提供了构建打包能力,以便随后流水线上的部署任务进行部署。

构建能力

云效流水线提供了一系列的基础构建环境环境为用户提供了开箱即用的构建能力。

构建语言支持

语言 支持版本
Java jdk1.6,jdk1.7,jdk1.8,jdk1.9 (Maven3.5, Gradle4.1)
Nodejs 6.11,7.10,8.13,9.11,10.15,11.15,12.2
Python 2.7,3.5,3.6,3.7
Ruby -
Php 5.6,7.0,7.1,7.2
Go 1.8,1.9,1.11,1.12

对应的构建能力都是通过基础构建机支持, 基础环境已经支持了上述构建能力,如上述能力无法支持您的构建需求,请您联系我们的客服以获取更多的支持。

构建依赖

Maven仓库

使用阿里云公共代理库和云效私有仓库

云效会默认使用构建代码库的根目录下Maven的settings.xml文件中配置的依赖库。

如果用户项目代码库的根目录没有Mavensettings.xml文件,那么云效构建时会为用户自动生成一个settings.xml文件,并且配置连接阿里云公共代理仓库maven.aliyun.com和云效提供的企业私有仓库。 用户通过云效构建时,会默认使这两个仓库的二方库作为构建依赖。

使用企业自建私有的Maven仓库

如果需要指定连接企业自建私有的Maven仓库,需要在构建代码库的根目录下,添加 settings.xml 文件,并在settings.xml指定依赖的Maven仓库。

(1)源码仓库中添加settings.xml比如我要构建的项目为java_demo, 则可以把settings.xml放置到java_demo的根目录下:

(2)源码仓库中添加settings.xml

  1. <mirror>
  2. <id>alimaven</id>
  3. <name>aliyun maven</name
  4. <url>http://maven.aliyun.com/nexus/content/groups/public/</url
  5. <mirrorOf>central</mirrorOf>
  6. </mirror>

Npm 国内镜像源

默认使用NPM依赖下载

npm 是 Node.js 默认依赖管理工具。云效Nodejs构建,默认通过npm进行依赖下载, npm的使用请参考官方文档

使用CNPM加速依赖下载

npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,淘宝 NPM 镜像提供了国内镜像源,可以加速依赖的下载。云效的构建环境默认提供 cnpm 工具,如需[淘宝 NPM 镜像],可以将构建命令中的 npm 命令替换为 cnpm 即可从淘宝NPM镜像源拉取依赖。cnpm跟npm用法完全一致,只是在执行命令时将npm改为cnpm即可。

Go 语言提供镜像源代理

阿里云提供了官方的Go Module代理仓库服务,镜像源地址:https://mirrors.aliyun.com/goproxy/云效的构建默认会通过该该代理来避免DNS污染导致的模块拉取缓慢或失败的问题,加速你的构建。

Gradle构建

构建基础镜像中内置了Gradle4.1,如果需要其它的版本,建议使用Gradle Wrapper。使用方式:

  1. 在代码库中初始化Gradle Wrapper:https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:adding_wrapper
  2. 修改代码库中的gradle/wrapper/gradle-wrapper.properties文件,修改其中的distributionUrl为云效提供的镜像地址,如:

    1. distributionBase=GRADLE_USER_HOME
    2. distributionPath=wrapper/dists
    3. distributionUrl=https\://rdc-public-software.oss-cn-hangzhou.aliyuncs.com/gradle/gradle-5.6.4-bin.zip
    4. zipStoreBase=GRADLE_USER_HOME
    5. zipStorePath=wrapper/dists
  3. 使用./gradlew替换gradle命令即可。

云效镜像中支持目前支持的gradle版本:4.4.1, 4.5.1, 4.6, 4.7, 4.8.1, 4.9, 4.10.3, 5.3.1, 5,4.1, 5.5.1, 5.6.4

  • 本页导读 (0)
文档反馈