koji的部署与配置

2023-10-11 17:59
文章标签 配置 部署 koji

本文主要是介绍koji的部署与配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

koji的安装配置
koji 的一些术语

N-V-R


即Name-Version-Release对于unzip-6.0-2.fc13.i686.rpm来说,Name="unzip",Version="6.0",Release="2.fc13"NVR其实来自SPEC文件中的对应字段而非rpm文件名,该例只是正好相同而已,比如gcc- 4.4.4-2.fc13.i686.rpm和gcc-c++-4.4.4-2.fc13.i686.rpm其实是由一个srpm即gcc- 4.4.4-2.fc13.src.rpm编译出来的,所以package name都是gcc,即同属一个package

package


package name(比如unzip)

build


即NVR(比如:unzip-6.0-2.fc13)koji系统内的build是唯一的;但是没有编译通过的可以继续提交该build直到编译成功为止

rpm


指*.rpm文件一个package(N)可能有多个build(NVR);一个build可能有多个rpm,比如unzip-6.0-2.fc13可 能包括unzip-6.0-2.fc13.i686.rpm,unzip-6.0-2.fc13.x86_64.rpm和unzip- 6.0-2.fc13.src.rpm等。

tag


koji使用tag来引用package或build的集合。也就是说可以给多个package或build打上同一个tag。必须先给package打上tag以后才能给属于该包的build打tag

build tag


其实就是tag,只是有不同的用途,tag只是一个package的集合,build-tag一般从某个tag继承而来且还包含arch和build- group信息,可用来创建不同体系的build任务,比如可以为i386和x86_64各创建一个build tag,每次只引用其中一个来为其parent tag创建不同体系的build版本。

build target


标明一次build从哪个build tag确定包及编译体系,build完了以后放到哪个tag(默认是源tag)。

build group


用于指定mock chroot中需要安装的所有rpm包,然后mock还会安装要编译包的所有依赖,一起构成基础编译系统


Koji 架构

术语

Koji 中有时需要分清通常的 package ,一个包的特定 build ,和一个 build 产生的各种 rpm 文件。下面详细解释:


Package: source rpm 的名字(仅仅name字段!)。如: kernel , glibc 等等

Build: source 包的一个特定 build,特指 source rpm 的name+version+release。例如:kernel-2.6.9-34.EL , glibc-2.3.4-2.19

RPM: 一个特定的 rpm。 例如: kernel-2.6.9-34.EL.x86_64,kernel-devel-2.6.9-34.EL.s390, glibc-2.3.4-2.19.i686,glibc-common-2.3.4-2.19.ia64

Koji 包含几个部分 : koji-hub

它是所有 Koji 操作的核心,通过 XML-RPC 运行于 Apache 的 mod_python 模块下。koji-hub 采用被动方式,仅仅接受 XML-RPC 请求,依 赖编译守护模块和其他模块来进行交互。koji-hub是唯一直接访问数据库的 模块,而且是有读写文件系统的权限的两个模块之一(另外一个是koji)。

kojid

它是编译守护模块,运行在每一个执行编译任务的机器上。主要任务 是对编译请求分析处理。Koji除了编译外也支持其他任务,如创建安装 images。kojid同样也可以完成这样的任务。kojid使用mock来编译。它为每 一个build创建一个干净的编译环境。kojid使用python编写,通过 XML-RPC 和 koji-hub 通信。

koji-web

它包含一套脚本,运行在 mod_python 下,使用 Cheetah 模板引 擎为 Koji 提供一个 Web 接口。

koji

它是一个用 python 写的 CLI 程序,提供对于 Koji 最多的操作。它 能让用户查询信息,也能执行编译操作。

kojira

它是一个后台守护程序,可以实时更新 build root repodata 一个示例架构图

koji 的安装

必须预先安装的包
  • Koji Server

httpd koji koji-hub koji-web mod_ssl mod_python postgresql-server

  • Koji Builder

koji-builder mock koji-utils rpm-build createrepo
setarch (for some archs you'll require a patched version)(暂时没用到)

Koji Server服务端的配置
创建SSL配置文件

mkdir /etc/pki/koji/ &&  touch /etc/pki/koji/ssl.cnf

写入配置文件  /etc/pki/koji/ssl.cnf 如下内容(可根据自己的情况修改)


HOME                    = .
RANDFILE                = .rand[ca]
default_ca              = ca_default[ca_default]
dir                     = .
certs                   = $dir/certs
crl_dir                 = $dir/crl
database                = $dir/index.txt
new_certs_dir           = $dir/newcerts
certificate             = $dir/%s_ca_cert.pem
private_key             = $dir/private/%s_ca_key.pem
serial                  = $dir/serial
crl                     = $dir/crl.pem
x509_extensions         = usr_cert
name_opt                = ca_default
cert_opt                = ca_default
default_days            = 3650
default_crl_days        = 30
default_md              = md5
preserve                = no
policy                  = policy_match[policy_match]
countryName             = match
stateOrProvinceName     = match
organizationName        = match
organizationalUnitName  = optional
commonName              = supplied
emailAddress            = optional[req]
default_bits            = 1024
default_keyfile         = privkey.pem
distinguished_name      = req_distinguished_name
attributes              = req_attributes
x509_extensions         = v3_ca # The extentions to add to the self signed cert
string_mask             = MASK:0x2002[req_distinguished_name]
countryName                     = Country Name (2 letter code)
countryName_default             = CN									# you can modify
countryName_min                 = 2
countryName_max                 = 2
stateOrProvinceName             = State or Province Name (full name)
stateOrProvinceName_default     = Beijing								# you can modify
localityName                    = Locality Name (eg, city)
localityName_default            = Beijing								# you can modify
0.organizationName              = Organization Name (eg, company)
0.organizationName_default      = Linux									# you can modify
organizationalUnitName          = Organizational Unit Name (eg, section)
commonName                      = Common Name (eg, your name or your server\'s hostname)
commonName_max                  = 64
emailAddress                    = Email Address
emailAddress_default            = koji@regulus-cn.org						# you can modify
emailAddress_max                = 64[req_attributes]
challengePassword               = A challenge password
challengePassword_min           = 4
challengePassword_max           = 20
unstructuredName                = An optional company name[usr_cert]
basicConstraints      

这篇关于koji的部署与配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/189834

相关文章

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

在Spring中配置Quartz的三种方式

《在Spring中配置Quartz的三种方式》SpringQuartz是一个任务调度框架,它允许我们定期执行特定的任务,在Spring中,我们可以通过多种方式来配置Quartz,包括使用​​@Sche... 目录介绍使用 ​​@Scheduled​​ 注解XML 配置Java 配置1. 创建Quartz配置

Kibana的安装和配置全过程

《Kibana的安装和配置全过程》Kibana是一个开源的数据分析和可视化平台,它与Elasticsearch紧密集成,提供了一个直观的Web界面,使您可以快速地搜索、分析和可视化数据,在本文中,我们... 目录Kibana的安装和配置1.安装Java运行环境2.下载Kibana3.解压缩Kibana4.配

若依部署Nginx和Tomcat全过程

《若依部署Nginx和Tomcat全过程》文章总结了两种部署方法:Nginx部署和Tomcat部署,Nginx部署包括打包、将dist文件拉到指定目录、配置nginx.conf等步骤,Tomcat部署... 目录Nginx部署后端部署Tomcat部署出现问题:点击刷新404总结Nginx部署第一步:打包

Nginx、Tomcat等项目部署问题以及解决流程

《Nginx、Tomcat等项目部署问题以及解决流程》本文总结了项目部署中常见的four类问题及其解决方法:Nginx未按预期显示结果、端口未开启、日志分析的重要性以及开发环境与生产环境运行结果不一致... 目录前言1. Nginx部署后未按预期显示结果1.1 查看Nginx的启动情况1.2 解决启动失败的

tomcat在nginx中的配置方式

《tomcat在nginx中的配置方式》文章介绍了如何在Linux系统上安装和配置Tomcat,并通过Nginx进行代理,首先,下载并解压Tomcat压缩包,然后启动Tomcat并查看日志,接着,配置... 目录一、下载安装tomcat二、启动tomcat三、配置nginx总结提示:文章写完后,目录可以自动