如何通过云效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. tar.gz 文件解压

    tar.gz 文件解压 解压缩 file.tar.gz 的过程中出现如下所示问题: tar: 它似乎不像是一个 tar 归档文件 tar: 跳转到下一个头 tar: 由于前次错误,将以上次的错误状态退 ...

  2. jQuery中ajax请求的六种方法(三、六):load()方法

    6.load()方法 load的html页面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...

  3. java发送短信开发,第三方接口方法

    必备的三个jar包Maven有自己去下: commons-logging commons-logging 1.1 commons-httpclient commons-httpclient 3.1 c ...

  4. Node.js开发博客系统

    数据库设计 用户表: id phone password nickname head_img personal_sign level_id create_time update_time is_del ...

  5. django1.9和mysql

    修改setting.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql',#使用mysql 'NAME': 'jiank ...

  6. Shell 脚本如何输出帮助信息?

    作者展示了一个技巧,将帮助信息写在 Bash 脚本脚本的头部,然后只要执行"脚本名 + help",就能输出这段帮助信息 https://samizdat.dev/help-mes ...

  7. java IO操作,看完你应该就清晰了。

    前言: java中IO里的一些知识对于一个java新手来说,是比较难理解的.因为里面存在一些很绕的概念,比如: 1.到底是读入写出,还是读出写入: 2.我要将一个文件的内容拷贝到另一个文件是先用Inp ...

  8. 迭代器生成器阅读【Python3.8官网文档】

    目录 1.迭代器 2.生成器 2.1.yield 表达式 2.2.简要理解概念 2.3.生成器-迭代器的方法 2.4.生成器理解 2.5.例子 3.生成器表达式 1.迭代器 for element i ...

  9. 内核软中断之tasklet机制

    1. 软中断IRQ简介 软中断(SoftIRQ)是内核提供的一种基于中断的延时机制, Linux内核定义的软中断有以下几种: enum { HI_SOFTIRQ=0, /*高优先级的tasklet*/ ...

  10. 硕盟 TYPE C转HDMI+VGA+USB3.0+PD3.0四口扩展坞

    硕盟SM-T54是一款USB-C 四合一多功能扩展坞,支持四口同时使用,您可以将含有USB 3.1协议的电脑主机,通过此产品连接到具有HDMI或VGA的显示器.电视机或其他显示设备.产品可以接入硬盘. ...