介绍
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的集群:
- 在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 - 关上浏览器拜访http://localhost:6610来实现设置
- 如下所示拜访Agent治理页面并下载Agent安装包(运行在Mac下的Docker有点慢,请急躁期待):
- 简略起见,咱们间接在本机装置Agent。首先如上图确保装置了JDK,Docker和Git。下载Agent安装包并解压到选定的目录。而后从该目录运行bin/agent.sh console来启动Agent。如果下载时server url没有正确设置,能够通过在conf/agent.properties里批改并重新启动Agent让其失效。
- Agent连贯上时就会在治理页面显示为在线:
- 当初咱们创立一个Job Executor来应用该Agent。切换到Job Executors页面,删除默认的auto-discover executor,并增加一个Remote Docker Executor,输出名称,其余属性应用默认值。测试并保留:
- 当初您能够创立一个测试项目,定义Build Spec,增加一个简略的CI工作并运行它,该工作将在Agent上运行。OneDev在为CI任务分配Agent时,会依据Agent的cpu/memory容量以及工作所需的cpu/memory来进行抉择。当没有Agent的cpu/memory满足时,工作将会进入期待状态。
谢谢关注!