基于云效Flow落地自动化构建,构建集群,​云效流水线Flow​是持续交付的载体,通过构建自动化、集成自动化、验证自动化、部署自动化,完成从开发到上线过程的持续交付。通过持续向团队提供及时反馈,让交付过程高效顺畅,基于云效Flow自动化构建工具,构建集群操作群指南。

立即体验

云效构建集群,云效Flow 支持用户个性化的构建场景,提供三种类型的构建集群的能力支持。用户在流水线编排时,可以为任务设置不同的构建集群。

北京和中国(香港)构建集群

为解决用户下载海外构建依赖或者连接海外服务的场景需求,Flow 分别提供了北京构建集群和中国(香港)构建集群。

使用构建集群

在任务节点选择构建集群,默认使用北京构建集群。

基于云效Flow落地自动化构建——构建集群_流水线 Flow

自有构建集群

如果有特殊的构建环境需求,用户也可在 Flow 中创建并使用私有的构建集群。

云效流水线 Flow 支持使用用户阿里云 ECS 或者自有主机作为构建集群。

对于上述的主机类型,需要确认以下配置:

  1. 支持的 OS 类型:Linux
  2. 推荐配置:4 核 8G 或以上
  3. 安装社区版docker,Docker Daemon:​​https://docs.docker.com/engine/install/?channel=yy_rccb​
  4. 验证 Docker 运行状态,在主机上执行命令 ​​docker run --rm --entrypoint=/bin/sh -v /var/run/docker.sock:/var/run/docker.sock registry.cn-beijing.aliyuncs.com/build-steps/runner:latest && echo 0​​​,输出应该为 0
  5. 对于使用阿里云ECS主机作为构建集群的情况,需要​​确保云助手处于运行状态​​​。

创建自有构建集群

通过 构建集群管理 -> 新建构建集群,开始创建自有构建集群。

基于云效Flow落地自动化构建——构建集群_环境变量_02

你可以创建两种类型的主机组:

使用自有构建集群

在任务节点选择构建集群,切换为自有构建集群。

基于云效Flow落地自动化构建——构建集群_持续交付_03

图2.使用构建集群

构建语言支持

云效流水线 Flow 通过多种构建步骤,支持不同语言的构建能力。下面描述构建环境中安装的软件清单,及不同语言场景下的使用方法。

公共软件

所有构建环境都包含的软件:

  1. gcc/g++ 4.8.4
  2. make 3.8.1
  3. curl 7.35.0
  4. wget 1.15
  5. unzip 6.00
  6. git 1.9.1
  7. python 3.5(不在PATH中,需要使用​​/usr/alibaba/install/python-3.5.0/bin/python3​​​来引用)

各语言构建环境中的软件及使用方法

语言

支持版本


Java


  • Maven 2.2.1, 3.2.5, 3.5.2, 3.6.1, 3.6.3
  • Gradle Flow 未提供内置 Gradle,建议使用 ​​GradleWrapper​​。

  • 修改gradle/wrapper/gradle-wrapper.properties文件,将其中的distributionUrl修改为 Flow 提供的镜像地址,如:”distributionUrl=https\://rdc-public-software.oss-cn-hangzhou.aliyuncs.com/gradle/gradle-6.5-bin.zip”,可将其中‘6.5’可替换为以下版本。
  • 云效提供的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, 6.5





  • JDK 1.6
  • JDK 1.7
  • JDK 1.8
  • JDK 1.9
  • JDK 10
  • JDK 11



NodeJS


  • 安装了python 2.7,默认置于PATH中,支持node-gyp编译。
  • cnpm 6.1.1




  • node6.11.3 npm3.10.10 yarn1.15.2
  • node7.10.0 npm4.2.0 yarn1.15.2
  • node8.13.0 npm6.4.1 yarn1.15.2
  • node9.11.2 npm5.6.0 yarn1.15.2
  • node10.15.3 npm6.4.1 yarn1.15.2
  • node11.15.0 npm6.7.0 yarn1.15.2
  • node12.2.0 npm6.9.0 yarn1.15.2
  • node12.18.4 npm6.14.6 yarn1.15.2
  • node13.14.0 npm6.14.4 yarn1.15.2
  • node14.8.0 npm6.14.7 yarn1.15.2
  • nodejs 支持版本自定义



Python




  • 2.7
  • 3.5
  • 3.6
  • 3.7



PHP


  • componser 1.8.6




  • 5.6
  • 7.0
  • 7.1
  • 7.2



Golang


  • go-wrapper




  • 1.8
  • 1.9
  • 1.11
  • 1.12
  • 1.13



C/C++




  • gcc/g++ 10.2
  • gcc/g++ 9.3
  • gcc/g++ 8.4



.net Core




  • SDK 3.1



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

设置依赖下载访问凭证

​环境变量​

在构建过程中,需要设置仓库的访问凭证并下载构建依赖,为保护访问凭证的安全性,Flow 支持通过环境变量设置访问凭证,关于环境变量请查看:​​环境变量​

当然,作为企业统一管控的仓库访问凭证,我们更建议您使用通用变量组进行管理,关于通用变量组请查看:​​通用变量组​

以下,提供了如何使用环境变量配置 Java、NPM 和 GoLang 仓库访问凭证的指南。

Java

1、在​​settings.xml​​中添加私库的地址和账号/密码(环境变量)。

<servers>
<server>
<id>rdc-releases</id>
<username>${MVN_USERNAME}</username>
<password>${MVN_PASSWORD}</password>
</server>
<server>
<id>rdc-snapshots</id>
<username>${MVN_USERNAME}</username>
<password>${MVN_PASSWORD}</password>
</server>
</servers>

<profiles>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<id>rdc-private-repo</id>
<repositories>
<repository>
<id>rdc-releases</id>
<url>https://packages.aliyun.com/maven/repository/2000093-release/</url>
</repository>
<repository>
<id>rdc-snapshots</id>
<url>https://packages.aliyun.com/maven/repository/2000093-snapshot/</url>
</repository>
</repositories>
</profile>
</profiles>

基于云效Flow落地自动化构建——构建集群_环境变量_04基于云效Flow落地自动化构建——构建集群_持续交付_05将其中相关的​​​<url>​​内容替换成您自己的私库地址。

2、在流水线中配置账号密码的环境变量。

基于云效Flow落地自动化构建——构建集群_环境变量_06

3、在流水线运行命令中, 使用​​settings.xml​​。

基于云效Flow落地自动化构建——构建集群_持续交付_07

NPM 和 GoLang

1、在流水线中配置账号密码的环境变量。

基于云效Flow落地自动化构建——构建集群_持续集成_08

2、在​​npm install​​​或​​go get​​之前,添加如下命令。

git config --global url."https://${GIT_USERNAME}:${GIT_PASSWORD}@codeup.aliyun.com".insteadOf "https://codeup.aliyun.com"

基于云效Flow落地自动化构建——构建集群_流水线 Flow_09基于云效Flow落地自动化构建——构建集群_环境变量_10

其中:

​GIT_USERNAME​​:是您在第 1 步中配置的私有 git 仓库的用户名环境变量的名称。

​GIT_PASSWORD​​:是您在第 1 步中配置的私有 git 仓库的密码环境变量的名称。

将其中的​​codeup.aliyun.com​​​部分替换成您实际使用的 git 仓库的域名,比如​​github.com​

基于​​云效Flow​​落地自动化构建,构建集群,云效流水线Flow是持续交付的载体,通过构建自动化、集成自动化、验证自动化、部署自动化,完成从开发到上线过程的持续交付。通过持续向团队提供及时反馈,让交付过程高效顺畅,基于云效Flow自动化构建工具,构建集群操作群指南。


立即体验


关于我们

了解更多关于云效DevOps的最新动态,可微信搜索关注【云效】公众号;

福利:公众号后台回复【指南】,可获得《阿里巴巴DevOps实践指南》&《10倍研发效能提升案例集》;

看完觉得对您有所帮助别忘记点赞、收藏和关注呦;

基于云效Flow落地自动化构建——构建集群_流水线 Flow_11