Jenkins配置演示:Kemumaki与Wakame CI部署框架

需积分: 5 0 下载量 57 浏览量 更新于2024-10-26 收藏 21KB ZIP 举报
资源摘要信息:"kemumaki-jenkins-demo 是一个用于演示如何配置 Jenkins 的示例项目。该项目展示了在使用版本控制工具(如 Git)以及 rpmbuild 工具进行自动化构建和部署时,Jenkins 如何作为持续集成 (CI) 服务器的角色。本文将详细探讨如何通过 Jenkins 实现对软件开发的持续集成和部署流程,以及如何在 Jenkins 中配置和管理作业。此外,本文还将简要介绍使用 Jenkins 的一些基础知识,例如安装 Jenkins、配置 Jenkins 作业以及使用 Jenkins 的 shell 命令进行操作。" 知识点详细说明: 1. Jenkins 概述 Jenkins 是一个开源的自动化服务器,主要用于自动化各种任务,尤其是构建、测试和部署软件。它能够支持多种类型的自动化测试,包括单元测试、功能测试、压力测试等,并且支持各种构建工具,如 Maven、Gradle、Ant 和 Ant+Ivy 等。 2. Jenkins 配置演示 在 "kemumaki-jenkins-demo" 中,演示了如何配置 Jenkins 来实现 CI 管道。其中包括了以下几个关键的步骤: - 版本控制下的 /var/lib/jenkins:展示了如何在 Jenkins 中设置版本控制仓库,用于管理源代码。 - rpmbuild 作业演示:解释了如何使用 Jenkins 来自动执行 rpmbuild 任务,这通常用在创建 RPM 包的场景中。 - 部署管道骨架:说明了如何构建一个部署管道的基础架构。 3. Jenkins 安装和初始配置 - 使用 su - jenkins 命令切换到 jenkins 用户,这是因为 Jenkins 通常以非 root 用户运行,以保证安全性。 - 设置 umask 为 077,目的是为了保证文件的权限安全性,使得 Jenkins 生成的文件默认只有属主有读写执行权限,其他人无权限。 - git clone 命令用于从远程 Git 仓库克隆代码到本地临时目录 /var/tmp/kemumaki-jenkins-demo。 - rsync 命令则将克隆的代码库同步到 /var/lib/jenkins,这是 Jenkins 默认的工作空间。 - cd /var/lib/jenkins 和 git checkout . 是为了进入 Jenkins 工作目录并检出所需的代码。 4. Jenkins 核心组件和配置文件 - config.xml 是 Jenkins 的核心配置文件,包含了 Jenkins 全局配置信息,如插件配置、系统设置等。 - buildstep-config-files.xml 是用于配置 Jenkins 作业中使用到的构建步骤的文件。 5. 使用 Shell 命令进行 Jenkins 管理 - 文中提到的 "$ su - jenkins" 和其他 Shell 命令是使用 Jenkins 操作系统的基本方式,比如,使用 Shell 命令安装 Jenkins、启动/停止 Jenkins 服务、执行 Jenkins 管理任务等。 6. Jenkins 的安装和管理 Jenkins 可以通过多种方式安装,包括使用包管理器安装、直接下载 WAR 文件运行以及使用 Docker 部署等。安装完成后,通常需要通过访问 Jenkins 的 Web 界面进行初始配置,如设置系统管理员密码、安装推荐的插件、创建第一个管理员用户等。 7. Jenkins 作业的配置 - Jenkins 作业是执行构建、测试和部署任务的基本单位。 - 配置 Jenkins 作业通常涉及设置源代码管理、构建触发器、构建环境、构建步骤、后构建操作等。 - 对于复杂项目,可能需要编写 Groovy 脚本来进行更高级的配置。 通过以上信息,可以看出 "kemumaki-jenkins-demo" 项目为用户提供了一个基本的框架和方法来快速开始使用 Jenkins 进行自动化部署和持续集成。其不仅演示了 Jenkins 的安装和基础配置,还展示了如何在实际项目中应用 Jenkins 来提高软件开发的效率和质量。

[root@jenkins JDk17_rpm]# systemctl status jenkins ● jenkins.service - Jenkins Continuous Integration Server Loaded: loaded (/usr/lib/systemd/system/jenkins.service; enabled; vendor preset: disabled) Active: activating (start) since Tue 2023-07-11 10:24:54 EDT; 28s ago Main PID: 2806 (java) CGroup: /system.slice/jenkins.service └─2806 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=%C/jenkins/war --httpPort=8080 Jul 11 10:25:22 jenkins jenkins[2806]: at winstone.Launcher.main(Launcher.java:492) Jul 11 10:25:22 jenkins jenkins[2806]: at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) Jul 11 10:25:22 jenkins jenkins[2806]: at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorI...ava:77) Jul 11 10:25:22 jenkins jenkins[2806]: at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodA...ava:43) Jul 11 10:25:22 jenkins jenkins[2806]: at java.base/java.lang.reflect.Method.invoke(Method.java:568) Jul 11 10:25:22 jenkins jenkins[2806]: at executable.Main.main(Main.java:347) Jul 11 10:25:22 jenkins jenkins[2806]: 2023-07-11 14:25:22.778+0000 [id=1] INFO o.e.j.s.handler.ContextHandler#d...ns/war} Jul 11 10:25:22 jenkins jenkins[2806]: 2023-07-11 14:25:22.802+0000 [id=1] INFO o.e.j.server.AbstractConnector#d...0:8080} Jul 11 10:25:22 jenkins jenkins[2806]: 2023-07-11 14:25:22.816+0000 [id=1] INFO org.eclipse.jetty.server.Server#...27942ms Jul 11 10:25:22 jenkins jenkins[2806]: 2023-07-11 14:25:22.817+0000 [id=24] INFO winstone.Logger#logInternal: Wi...isabled Hint: Some lines were ellipsized, use -l to show in full. [root@jenkins JDk17_rpm]# 这是jenkins的状态,怎么解决??

2023-07-12 上传

[2023-05-31 11:07:02] Started by user coding [2023-05-31 11:07:02] Running in Durability level: MAX_SURVIVABILITY [2023-05-31 11:07:04] [Pipeline] Start of Pipeline [2023-05-31 11:07:06] [Pipeline] getContext [2023-05-31 11:07:07] [Pipeline] node [2023-05-31 11:07:07] Running on Jenkins in /root/codingci/tools/jenkins_home/workspace/2553946-cci-31810232-464995 [2023-05-31 11:07:07] [Pipeline] { [2023-05-31 11:07:08] [Pipeline] withEnv [2023-05-31 11:07:08] [Pipeline] { [2023-05-31 11:07:08] [Pipeline] withDockerRegistry [2023-05-31 11:07:08] [Pipeline] { [2023-05-31 11:07:08] [Pipeline] isUnix [2023-05-31 11:07:08] [Pipeline] sh [2023-05-31 11:07:08] + docker inspect -f . public/docker/nodejs:18-2022 [2023-05-31 11:07:08] /root/codingci/tools/jenkins_home/workspace/2553946-cci-31810232-464995@tmp/durable-221f7a67/script.sh: 1: docker: not found [2023-05-31 11:07:08] [Pipeline] isUnix [2023-05-31 11:07:08] [Pipeline] sh [2023-05-31 11:07:09] + docker inspect -f . coding-public-docker.pkg.coding.net/public/docker/nodejs:18-2022 [2023-05-31 11:07:09] /root/codingci/tools/jenkins_home/workspace/2553946-cci-31810232-464995@tmp/durable-4892b310/script.sh: 1: docker: not found [2023-05-31 11:07:09] [Pipeline] isUnix [2023-05-31 11:07:09] [Pipeline] sh [2023-05-31 11:07:09] + docker pull coding-public-docker.pkg.coding.net/public/docker/nodejs:18-2022 [2023-05-31 11:07:09] /root/codingci/tools/jenkins_home/workspace/2553946-cci-31810232-464995@tmp/durable-0770ad1b/script.sh: 1: docker: not found [2023-05-31 11:07:09] [Pipeline] } [2023-05-31 11:07:09] [Pipeline] // withDockerRegistry [2023-05-31 11:07:09] [Pipeline] } [2023-05-31 11:07:09] [Pipeline] // withEnv [2023-05-31 11:07:09] [Pipeline] } [2023-05-31 11:07:09] [Pipeline] // node [2023-05-31 11:07:09] [Pipeline] End of Pipeline [2023-05-31 11:07:09] ERROR: script returned exit code 127 [2023-05-31 11:07:09] Finished: FAILURE

2023-06-01 上传