koji是fedora/centos/rhel/openanolisos/opencloudos使用的rpm包自动化构建与追踪系统(koji build system),用来集中、批量、可复现地编译RPM软件包并管理软件仓库。
如何快速高效部署搭建koji编译机
共分为六个部分组成:
1、postgresql:存储用户、任务、构建记录;
2、koji-hub:核心服务端,XML-RPC接口,连postgresql;
3、koji-web:Web UI,通过Apache/httpd展示;
4、koji-builder:编译节点,用 mock 在 chroot 里编 RPM;
5、kojira (koji-utils):负责生成 yum 仓库元数据;
6、/mnt/koji (NFS 或本地):存放 SRPM、RPM、repo 数据。
本文将讲解第四部分koji builder搭建部署。
目录
一、部署准备
1、准备基础镜像
参考地址:《如何制作一个docker base镜像》
2、准备kojihub+web服务
参考地址:《便捷快速部署koji服务(kojihub+web篇)》
3、准备必备文件
git clone https://gitee.com/koji_docker/kojid.git

4、准备配置文件
cp kojid.conf kojid.ini supervisord.conf ~/.koji/conf/.

二、手搓证书
注:可购买证书不执行本步骤。
具体方法参考《便捷快速部署koji服务(kojihub+web篇)》段落二、第2步。
bash koji_make_cert.sh mos-aarch64-01.delcare.cn

三、制作镜像
docker build -f Dockerfile -t cr.delcare.cn/kojid:1.31.1 .

四、创建容器
docker run -itd --name kojid --hostname kojid --privileged \
-v $HOME/koji:/mnt/koji \
-v $HOME/.koji/conf/kojid.conf:/etc/kojid/kojid.conf:ro \
-v $HOME/.koji/conf/supervisord.conf:/etc/supervisord.conf:ro \
-v $HOME/.koji/conf/kojid.ini:/etc/supervisord.d/koji.ini:ro \
-v $HOME/.koji/certs/mos-aarch64-01.delcare.cn.pem:/etc/kojid/client.crt:ro \
-v $HOME/.koji/certs/koji_ca_cert.crt:/etc/kojid/serverca.crt:ro \
cr.delcare.cn/kojid:1.31.1

注1:手搓证书需将证书加入可信,重启生效
cp /etc/kojid/client.crt /etc/kojid/serverca.crt /etc/pki/ca-trust/source/anchors/ && update-ca-trust

注2:kojihub域名加入本地hosts解析
docker inspect kojihub|grep 172.17
echo 172.17.0.4 koji.delcare.cn >> /etc/hosts

注3:注1/2修改后,需重启服务生效
supervisorctl restart all

五、添加构建机
koji add-host mos-aarch64-01.delcare.cn aarch64 noarch

注:需使用kojiadmin
六、查看验证
https://koji.delcare.cn/koji/hosts

注:
至此,koji builder部分已配置完毕,其他部分将后续分别进行介绍。
&spm=1001.2101.3001.5002&articleId=162942952&d=1&t=3&u=1f737cac458140d29227dc2645032b05)
2600

被折叠的 条评论
为什么被折叠?



