如何通过云效Flow完成自动化构建—构建集群,云效流水线Flow是持续交付的载体,通过构建自动化、集成自动化、验证自动化、部署自动化,完成从开发到上线过程的持续交付。通过持续向团队提供及时反馈,让交付过程高效顺畅,云效Flow为了支持用户个性化的自动化构建。
 
云效构建集群,云效Flow 支持用户个性化的构建场景,提供三种类型的构建集群的能力支持。用户在流水线编排时,可以为任务设置不同的构建集群。
 

北京和香港构建集群

 
为解决用户下载海外构建依赖或者连接海外服务的场景需求,Flow 分别提供了北京构建集群和香港构建集群。
 
使用构建集群
 
在任务节点选择构建集群,默认使用北京构建集群。
 
 

自有构建集群

 
如果有特殊的构建环境需求,用户也可在 Flow 中创建并使用私有的构建集群。
 
云效流水线 Flow 支持使用用户阿里云 ECS 或者自有主机作为构建集群。
 
对于上述的主机类型,需要确认以下配置:
  1. 支持的 OS 类型:Linux
  2. 推荐配置:4 核 8G 或以上
  3. 安装并启动 Docker Daemon:https://docs.docker.com/engine/install/
  4. 验证 Docker 运行状态:在主机上执行命令 sudo docker ps; echo $?,输出应该为 0
  5. 对于使用阿里云ECS主机作为构建集群的情况,需要确保云助手处于运行状态
 
创建自有构建集群
 
通过 构建集群管理 -> 新建构建集群,开始创建自有构建集群。
 
 
你可以创建两种类型的主机组:
 
使用自有构建集群
 
在任务节点选择构建集群,切换为自有构建集群。
 
 
图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来引用)
 
各语言构建环境中的软件及使用方法
 

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

设置依赖下载访问凭证

 
环境变量
 
在构建过程中,需要设置仓库的访问凭证并下载构建依赖,为保护访问凭证的安全性,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是持续交付的载体,通过构建自动化、集成自动化、验证自动化、部署自动化,完成从开发到上线过程的持续交付。通过持续向团队提供及时反馈,让交付过程高效顺畅。

如何通过云效Flow完成自动化构建—构建集群的更多相关文章

  1. 如何通过云效Flow完成自动化部署—主机部署

    如何通过云效Flow完成自动化部署-主机部署,云效流水线Flow是持续交付的载体,通过构建自动化.集成自动化.验证自动化.部署自动化,完成从开发到上线过程的持续交付.通过持续向团队提供及时反馈,让交付 ...

  2. 如何使用云效Flow做质量检测,保障高质量的交付速度

    使用云效Flow做质量检测,保障高质量的交付速度,云效「Flow」 提供代码扫描. 安全扫描和各种自动化测试能力,支持人工测试卡点.自动化验证卡点等多种质量红线,确保业务质量.云效流水线 Flow 流 ...

  3. 云效Flow如何实现阿里云ECS多环境发布

    一.背景 云效Flow基于标签功能实现阿里云ECS多环境发布,在软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行,例如:开发人员本地开发环境.测试团队的测试环境.还有类生产环境和生产环境 ...

  4. 利用ansible进行自动化构建etcd集群

    上一篇进行了手动安装etcd集群,此篇利用自动化工具ansible为三个节点构建etcd集群 环境: master:192.168.101.14,node1:192.168.101.15,node2: ...

  5. Ansible自动化部署K8S集群

    Ansible自动化部署K8S集群 1.1 Ansible介绍 Ansible是一种IT自动化工具.它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新.Ansible适用于管理企 ...

  6. [k8s]kubespray(ansible)自动化安装k8s集群

    kubespray(ansible)自动化安装k8s集群 https://github.com/kubernetes-incubator/kubespray https://kubernetes.io ...

  7. [自动化]基于kolla-ceph的自动化部署ceph集群

    kolla-ceph来源: 项目中的部分代码来自于kolla和kolla-ansible kolla-ceph的介绍: 1.镜像的构建很方便, 基于容器的方式部署,创建.删除方便 2.kolla-ce ...

  8. [自动化]基于kolla的自动化部署ceph集群

    kolla-ceph来源: 项目中的部分代码来自于kolla和kolla-ansible kolla-ceph的介绍: 1.镜像的构建很方便, 基于容器的方式部署,创建.删除方便 2.kolla-ce ...

  9. windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)

    本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,由标题就能看出此内容不是一篇分享文章能说完的,所以我打算分几篇分享文章来讲解,一步一步实现分 ...

随机推荐

  1. Flink 保证ExactlyOnce

    Flink 保证 ExactlyOnce 1.使用执行ExactlyOnce 的数据源,比如 kafka 2.使用FlinkConsumer,开启CheckPointing,偏移量会保存通过Check ...

  2. 技术调研,IDEA 插件怎么开发「脚手架、低代码可视化编排、接口生成测试」?

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 不踩些坑,根本不是成熟的码农! 你觉得肯德基全家桶是什么?一家人一起吃的桶吗,就那么 ...

  3. reids rdb与aof

    rdb:时合高并发场景,容易备份恢复,会丢失部分数据 1.默认开启的方式,可以进过压缩,可以根据时间点生成快照 2.数据量大的情况下恢复快 3.bgsave一边开启fork保存文件,一边继续响应客户端 ...

  4. assign()与create()的区别

    Q:assign()与create()的区别? A:let obj = Object.assign(targetObj, -sourceObj) 作用:将一个或多个源对象自身的可枚举属性与目标对象的属 ...

  5. MySQL-LSN

    查看lsn:   show engine innodb status Log sequence number 2687274848548    Log flushed up to 2687274848 ...

  6. k8s笔记0528-基于KUBERNETES构建企业容器云手动部署集群记录-6

    1.创建一个测试用的deployment [root@linux-node1 ~]# kubectl run net-test --image=alpine --replicas=2 sleep 36 ...

  7. k8s笔记0528-基于KUBERNETES构建企业容器云手动部署集群记录-2

    三.ETCD集群部署 类似于走zookeeper集群分布式协调服务,可做以key v形式存储在ETCD中. 官方链接:https://github.com/coreos/etcd 分布式kv存储,为分 ...

  8. 解决->maven下载失败bug

    一.前言: 经过一个下午的奋斗(谷歌,视频...重装)后终,于暂时解决了上一篇文章中的bug 传送门:https://blog.csdn.net/weixin_44092288/article/det ...

  9. Java程序中使用Spire Jar包报java.lang.NoSuchMethodError类型错误的解决方法

    Jar包功能概述 使用Spire系列的Jar包可以操作Word.Excel.PPT.PDF.Barcode等格式的文件,分别对应使用的jar包是Spire.Doc for Java.Spire.XLS ...

  10. MySQL——MySQL客户端命令

    1. mysql: (1)用于数据库连接 (2)用于管理数据库: a: 命令接口自带命令 b: SQL语句: DDL: 数据库定义语言 DCL: 数据库控制语言 DML: 数据库操作语言 2. mys ...