轻松配置基于Agent的OneDev CI/CD集群

介绍

OneDev是一个开源的自建Git服务,自带工单看板和CI/CD,项目地址:
https://github.com/theonedev/...

在CI/CD任务需要消耗大量资源时,OneDev可以将其作为pod运行在Kuberntes集群中。然而Kubernetes集群自建较为麻烦,而使用云服务商的集群又较贵。基于此,OneDev从4.10版本开始提供基于Agent的CI/CD集群。Agent设计为零维护,OneDev server在升级时会自动升级所有连接的Agent。

如何配置

我们通过一个简单的实例来演示如果配置基于Agent的集群:

  1. 在Linux或者Mac里运行下面的命令启动OneDev:
    docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v $(pwd)/onedev:/opt/onedev -p 6610:6610 -p 6611:6611 1dev/server
  2. 打开浏览器访问http://localhost:6610来完成设置
  3. 如下所示访问Agent管理页面并下载Agent安装包(运行在Mac下的Docker有点慢,请耐心等待):
    轻松配置基于Agent的OneDev CI/CD集群_第1张图片
  4. 简单起见,我们直接在本机安装Agent。首先如上图确保安装了JDK,Docker和Git。下载Agent安装包并解压到选定的目录。然后从该目录运行bin/agent.sh console来启动Agent。如果下载时server url没有正确设置,可以通过在conf/agent.properties里修改并重新启动Agent让其生效。
  5. Agent连接上时就会在管理页面显示为在线:
    轻松配置基于Agent的OneDev CI/CD集群_第2张图片
  6. 现在我们创建一个Job Executor来使用该Agent。切换到Job Executors页面,删除默认的auto-discover executor,并添加一个Remote Docker Executor,输入名称,其他属性使用默认值。测试并保存:
    轻松配置基于Agent的OneDev CI/CD集群_第3张图片
  7. 现在您可以创建一个测试项目,定义Build Spec,添加一个简单的CI任务并运行它,该任务将在Agent上运行。OneDev在为CI任务分配Agent时,会根据Agent的cpu/memory容量以及任务所需的cpu/memory来进行选择。当没有Agent的cpu/memory满足时,任务将会进入等待状态。

谢谢关注!

你可能感兴趣的:(运维gitci-cd开发工具)