便捷快速部署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.git

4、准备配置文件
mkdir -p ~/.koji/conf cp hub.conf ssl.conf web.conf kojihub.conf ~/.koji/conf/

二、手搓证书

注:可购买证书不执行本步骤

1、手搓CA 根证书
bash create_ca.sh

2、手搓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/hosts

2、浏览器访问

https://koji.delcare.cn/koji/

注:

至此,kojihub+web部分已配置完毕,其他部分将后续分别进行介绍。