CODING 中提供了内置云主机用来执行持续集成(CI)中的构建计划,能够胜任大部分构建任务。但如果碰上了大型项目的构建,或者需要在本地服务器生成构建成果,单个计算资源就显得有点捉急了。针对这一部分需求,CODING 现已支持接入第三方计算资源作为构建节点,甚至可以接入多个服务器共同作为构建节点池,打造专属的计算集群。

下面将会以腾讯云 CVM 为例,演示如何在 CODING 持续集成中接入自己的计算资源。

开通安全组

在购买了腾讯云 CVM后,第一件要做的事情就是开放相应的安全组策略,入站和出站规则都需要设置。

登录服务器

在【操作】中点击登录,按照提示输入 root 密码。如果忘记密码可以在【更多】>【密码/密钥】中点击【重置密码】后再次输入即可。

做完上述操作并成功登录服务器后,可以选择 Docker 或 cci-agent 两种方式将服务器接入至构建节点池。如果想使用与 CODING 官方提供的运行节点一致的环境,请选择使用 Docker 运行构建节点。如果想使用节点上自带的环境,譬如需要使用 MacOS 上的 Xcode 编译 iOS 应用,请选择 cci-agent 方式进行接入。

接入构建节点池

使用 Docker(推荐)

使用 Docker 的前提是服务器上已经安装了 Docker。需要注意的是,部分 openVZ 虚拟化的服务器因内核较低,无法成功安装 Docker,当然我们的腾讯云 CVM 是没有这个问题的。下面使用 curl 命令安装 Docker。

curl -fsSL https://get.docker.com/ | sh

待 Docker 安装完成后,前往 CODING 进入【项目】>【持续集成】>【构建节点】,在构建节点页复制配置命令。

等待一小会,等镜像构建完成后便会提示构建成功。

在 CODING 构建节点页也可以看到新注册上线的服务器。

手动接入 cci-agent

在 CODING 的构建节点页一键生成初始化命令,并在服务器中运行该命令。

执行 cci-agent 启动命令。

./cci-agent up -d

配置完成后会出现在节点池中。

在安装过程中,节点状态会不断变化。关于节点的状态说明:

  • 闲置:构建节点此时空闲。
  • 占用:构建节点已被分配到构建任务中使用。
  • 准备中:构建节点正在准备构建环境。
  • 开启:只有处于开启状态的节点才能被分配使用,如果关闭节点不会影响正在运行的构建任务。
  • 删除:节点将会脱离 CODING 持续集成服务,但只会删除工作空间和相关的配置信息,之前产生的全局缓存文件仍会保留。

使用自定义节点

计算资源接入成功后,在【构建计划】>【设置】中选择使用自定义节点。

保存修改后,触发构建任务后就可以在自己的计算资源集群中执行持续集成任务了。使用自定义节点不会占用 CODING 团队配额,不受并行上限限制。并且服务器集群规模越大,构建大型项目的速度也会越快。

点击查看帮助文档了解更多

弹性配置为构建提速 - CODING & 腾讯云 CVM 最佳实践的更多相关文章

  1. nginx使用ssl模块配置支持HTTPS访问,腾讯云申请免费证书

    开始我尝试用 let's encrypt 让http 变 https 官方:https://github.com/certbot/certbot 参考:https://www.cnblogs.com/ ...

  2. 腾讯云CVM之间配置免密钥登录

    背景: 1客户A和B俩台主机之间需要实现免密钥登录,已绑定腾讯云申请的密钥对 系统:centos7.3 A:192.168.0.100 B:192.168.0.84 A主机的私钥文件:aaa B主机的 ...

  3. 腾讯云微计算实践:从Serverless说起,谈谈边缘计算的未来

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:黄文俊,腾讯云高级产品经理,曾经历过企业级存储.企业级容器平台等产品的架构与开发,对容器.微服务.无服务器.DevOps等都有浓厚兴趣. ...

  4. 腾讯云CVM服务器怎么建网站

    腾讯云云服务器CVM站在用户的角度看就相当于一台计算机,虽然实际上它是一个虚拟服务器,是一个大的云端服务器集群虚拟出来的一个虚拟服务器,在使用上直接当做一个实际的服务器即可.那么,对于一个新手菜鸟来说 ...

  5. 【get√】golang中实现从腾讯云CVM查询网卡流量的两种方法

    公众号文章链接 主要参考了以下位置的资料: 云服务器监控接口 腾讯云go-sdk example 方法一:使用腾讯云go-sdk go.mod文件中增加这样一行: github.com/tencent ...

  6. 腾讯云CVM使用记录--使用root权限

    1.su root 指令 ,执行下列命令获取root权限: sudo /bin/su - root 注意:严禁执行password命令,root密码默认不能被修改.

  7. Aggregated APIServer 构建云原生应用最佳实践

    作者 张鹏,腾讯云容器产品工程师,拥有多年云原生项目开发落地经验.目前主要负责腾讯云 TKE 云原生 AI 产品的开发工作. 谢远东,腾讯高级工程师,Kubeflow Member.Fluid(CNC ...

  8. qGPU on TKE - 腾讯云发布下一代 GPU 容器共享技术

    背景 qGPU 是腾讯云推出的 GPU 共享技术,支持在多个容器间共享 GPU卡,并提供容器间显存.算力强隔离的能力,从而在更小粒度的使用 GPU 卡的基础上,保证业务安全,达到提高 GPU 使用率. ...

  9. Aeraki Mesh正式成为CNCF沙箱项目,腾讯云携伙伴加速服务网格成熟商用

    6月,由腾讯云主导,联合百度.灵雀云.腾讯音乐.滴滴.政采云等多家合作伙伴发起的服务网格开源项目 Aeraki Mesh 通过了全球顶级开源基金会云原生计算基金会(CNCF)技术监督委员会评定,正式成 ...

随机推荐

  1. 关于Dev-C++一种引用头文件<iostream>问题(暴力解决)

    问题情况如下,因个人水平有限,不知道具体原因是啥,当引用头文件<iostream>时会出现如下问题,经排查,并不是头文件本身的问题,有可能是Dev哪一个文件被改动了,或者设置出了问题(前者 ...

  2. CSS用户自定义样式

    在浏览器中打开前面写的例子页面,你会发现 <strong> 元素中的文字会比其他文字粗一些.这些样式就是在浏览器定义的默认HTML样式. 而<strong> 元素是红色的,这是 ...

  3. 「MoreThanJava」计算机系统概述

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  4. Java实现 LeetCode 516 最长回文子序列

    516. 最长回文子序列 给定一个字符串s,找到其中最长的回文子序列.可以假设s的最大长度为1000. 示例 1: 输入: "bbbab" 输出: 4 一个可能的最长回文子序列为 ...

  5. Java实现 LeetCode 472 连接词

    472. 连接词 给定一个不含重复单词的列表,编写一个程序,返回给定单词列表中所有的连接词. 连接词的定义为:一个字符串完全是由至少两个给定数组中的单词组成的. 示例: 输入: ["cat& ...

  6. Java实现 蓝桥杯VIP 算法训练 暗恋

    算法训练 暗恋 时间限制:1.0s 内存限制:256.0MB 问题描述 同在一个高中,他却不敢去找她,虽然在别人看来,那是再简单不过的事.暗恋,是他唯一能做的事.他只能在每天课间操的时候,望望她的位置 ...

  7. Java实现Fibonacci取余

    Description Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. Input 多 ...

  8. Java实现 LeetCode 21 合并两个有序链表

    21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1 ...

  9. java实现第九届蓝桥杯整理玩具

    整理玩具 小明有一套玩具,一共包含NxM个部件.这些部件摆放在一个包含NxM个小格子的玩具盒中,每个小格子中恰好摆放一个部件. 每一个部件上标记有一个0~9的整数,有可能有多个部件标记相同的整数. 小 ...

  10. 为什么我觉得 Java 的 IO 很复杂?

    初学者觉得复杂是很正常的,归根结底是因为没有理解JavaIO框架的设计思想: 可以沿着这条路想一想: 1,学IO流之前,我们写的程序,都是在内存里自己跟自己玩.比如,你声明个变量,创建个数组,创建个集 ...