便捷快速部署koji服务(kojihub+web篇)
koji是fedora/centos/rhel/openanolisos/opencloudos使用的rpm包自动化构建与追踪系统(koji build system),用来集中、批量、可复现地编译RPM软件包并管理软件仓库。
如何快速高效部署搭建kojihub+web服务
共分为六个部分组成:
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 数据。
本文将讲解第二、三部分kojihub+web搭建部署。
目录
一、部署准备
1、准备基础镜像
2、准备数据库
3、准备必备文件
4、准备配置文件
二、手搓证书
1、手搓CA 根证书
2、手搓kojihub组件证书
三、制作镜像
四、创建容器
五、访问验证
1、域名加入本地hosts解析
2、浏览器访问
注:
一、部署准备
1、准备基础镜像
参考地址:《如何制作一个docker base镜像》
2、准备数据库
参考地址:《便捷快速部署koji服务(postgresql数据库篇)》
3、准备必备文件
git clone https://gitee.com/koji_docker/kojihub.git4、准备配置文件
mkdir -p ~/.koji/conf cp hub.conf ssl.conf web.conf kojihub.conf ~/.koji/conf/二、手搓证书
注:可购买证书不执行本步骤
1、手搓CA 根证书
bash create_ca.sh2、手搓kojihub组件证书
bash koji_make_cert.sh koji.delcare.cn三、制作镜像
docker build -f Dockerfile -t cr.delcare.cn/koji:1.31.1 .四、创建容器
docker run -itd --name kojihub --hostname kojihub \ -v $HOME/koji:/mnt/koji \ -v $HOME/.koji/conf/hub.conf:/etc/koji-hub/hub.conf:ro \ -v $HOME/.koji/conf/ssl.conf:/etc/httpd/conf.d/ssl.conf:ro \ -v $HOME/.koji/conf/web.conf:/etc/kojiweb/web.conf:ro \ -v $HOME/.koji/conf/kojihub.conf:/etc/httpd/conf.d/kojihub.conf:ro \ -v $HOME/.koji/certs/koji.delcare.cn.crt:/etc/pki/koji/certs/kojihub.crt:ro \ -v $HOME/.koji/private/koji.delcare.cn.key:/etc/pki/koji/private/kojihub.key:ro \ -v $HOME/.koji/certs/koji_ca_cert.crt:/etc/pki/koji/certs/koji_ca_cert.crt:ro \ -p 80:80 -p 443:443 cr.delcare.cn/koji:1.31.1注:手搓证书需将证书加入可信,重启生效
cp /etc/pki/koji/certs/kojihub.crt /etc/pki/koji/certs/koji_ca_cert.crt /etc/pki/ca-trust/source/anchors/ && update-ca-trust
五、访问验证
1、域名加入本地hosts解析
注:公网服务器可通过配置DNS解析,不执行本步骤
sudo echo 127.0.0.1 koji.delcare.cn >> /etc/hosts2、浏览器访问
https://koji.delcare.cn/koji/
注:
至此,kojihub+web部分已配置完毕,其他部分将后续分别进行介绍。