如何通过云效 Flow 实现自动化构建—构建集群,云效流水线 Flow 是继续交付的载体,通过构建自动化、集成自动化、验证自动化、部署自动化,实现从开发到上线过程的继续交付。通过继续向团队提供及时反馈,让交付过程高效顺畅,云效 Flow 为了反对用户个性化的自动化构建。
云效构建集群,云效 Flow 反对用户个性化的构建场景,提供三种类型的构建集群的能力反对。用户在流水线编排时,能够为工作设置不同的构建集群。
北京和香港构建集群
北京和香港构建集群
为解决用户下载海内构建依赖或者连贯海内服务的场景需要,Flow 别离提供了北京构建集群和香港构建集群。
应用构建集群
在工作节点抉择构建集群,默认应用北京构建集群。
自有构建集群
如果有非凡的构建环境需要,用户也可在 Flow 中创立并应用公有的构建集群。
云效流水线 Flow 反对应用用户阿里云 ECS 或者自有主机作为构建集群。
对于上述的主机类型,须要确认以下配置:
- 反对的 OS 类型:Linux
- 举荐配置:4 核 8G 或以上
- 装置并启动 Docker Daemon:https://docs.docker.com/engine/install/
- 验证 Docker 运行状态:在主机上执行命令 sudo docker ps; echo $?,输入应该为 0
- 对于应用阿里云 ECS 主机作为构建集群的状况,须要确保云助手处于运行状态。
创立自有构建集群
通过 构建集群治理 -> 新建构建集群,开始创立自有构建集群。
你能够创立两种类型的主机组:
阿里云 ECS 构建集群
自有主机构建集群
应用自有构建集群
在工作节点抉择构建集群,切换为自有构建集群。
图 2. 应用构建集群
构建语言反对
云效流水线 Flow 通过多种构建步骤,反对不同语言的构建能力。上面形容构建环境中装置的软件清单,及不同语言场景下的应用办法。
公共软件
所有构建环境都蕴含的软件:
- gcc/g++ 4.8.4
- make 3.8.1
- curl 7.35.0
- wget 1.15
- unzip 6.00
- git 1.9.1
- python 3.5(不在 PATH 中,须要应用 /usr/alibaba/install/python-3.5.0/bin/python3 来援用)
各语言构建环境中的软件及应用办法
对应的构建能力都是通过根底构建机反对,根底环境曾经反对了上述构建能力,如上述能力无奈反对你的构建需要,请你分割咱们的客服以获取更多的反对。
设置依赖下载拜访凭证
环境变量
在构建过程中,须要设置仓库的拜访凭证并下载构建依赖,为爱护拜访凭证的安全性,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>
将其中相干的 <url> 内容替换成您本人的私库地址。
2、在流水线中配置账号密码的环境变量。
3、在流水线运行命令中, 应用 settings.xml。
NPM 和 GoLang
1、在流水线中配置账号密码的环境变量。
2、在 npm install 或 go get 之前,增加如下命令。
git config --global url."https://${GIT_USERNAME}:${GIT_PASSWORD}@codeup.aliyun.com".insteadOf "https://codeup.aliyun.com"
其中:
GIT_USERNAME:是您在第 1 步中配置的公有 git 仓库的用户名环境变量的名称。
GIT_PASSWORD:是您在第 1 步中配置的公有 git 仓库的明码环境变量的名称。
将其中的 codeup.aliyun.com 局部替换成您理论应用的 git 仓库的域名,比方 github.com
云效 Flow 反对用户个性化的自动化构建。提供三种类型的构建集群的能力反对。用户在流水线编排时,能够为工作设置不同的构建集群。云效流水线 Flow 是继续交付的载体,通过构建自动化、集成自动化、验证自动化、部署自动化,实现从开发到上线过程的继续交付。通过继续向团队提供及时反馈,让交付过程高效顺畅。