jdk1.8的Jenkins安装配置实践

2025-12-12 19:50

本文主要是介绍jdk1.8的Jenkins安装配置实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《jdk1.8的Jenkins安装配置实践》Jenkins是一款流行的开源持续集成工具,支持自动构建、测试和部署,通过Jenkins,开发团队可以实现代码提交后自动进行构建、测试,并将构建结果分发到测...

Jenkins介绍

jdk1.8的Jenkins安装配置实践

Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。官网: Jenkins。

Jenkins的特征:

  • 开源的 Java语言开发持续集成工具,支持持续集成,持续部署。

  • 易于安装部署配置:可通过 yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。

  • 消息通知及测试报告:集成 RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告。

  • 分布式构建:支持 Jenkins能够让多台计算机一起构建/测试。

  • 文件识别: Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。

  • 丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如 git,svn,maven,docker等。

Jenkins安装和持续集成环境配置

jdk1.8的Jenkins安装配置实践

1 )首先,开发人员每天进行代码提交,提交到Git仓库

2)然后,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDK,Maven等软件完成代码编译,代码测试与审查,测试,打包等工作,在这个过程中每一步出错,都重新再执行一次整个流程。

3)最后,Jenkins把生成的jar或war包分发到测试服务器或者生产服务器,测试人员或用户就可以访问应用。

Jenkins环境搭建

Jenkins安装配置

1.采用YUM方式安装

加入jenkins安装源:javascript

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/RedHat-stable/jenkins.repo --no-check-certificate

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

执行yum命令安装:

yum -y install jenkins

2.采用RPM安装包方式【推荐】

Jenkins安装包下载地址

wget https://repo.huaweicloud.com/jenkins/redhat-stable/jenkins-2.346.3-1.1.noarch.rpm

执行安装:

rpm -ivh jenkins-2.346.3-1.1.noarch.rpm

配置:

修改jenkins配置-添加自己的jdk路径

vim /etc/init.d/jenkins 

jdk1.8的Jenkins安装配置实践

修改配置文件:

vi /etc/sysconfig/jenkins

修改内容:

# 修改为对应的目标用户, 这里使用的是root
$JENKINS_USER="root"
# 服务监听端口
JENKINS_PORT="16060"

目录权限:

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

启动:

/etc/init.d/jenkins start  #启动服务
#其他指令
./jenkins stop    #关闭服务
./jenkins restart #重启服务

如果启动失败, 出现错误信息:

Starting Jenkins bash: /usr/bin/java: No such file or directory

创建JAVA环境的软链接:

ln -s /usr/local/jdk/bin/java /usr/bin/java

3.docker安装

拉取镜像

docker pull jenkins/jenkins:lts

创建文件夹

mkdir -p /mydata/jenkins_home
chown -R 1000 /mydata/jenkins_home/

运行镜像

docker run -di --name=jenkins -p 8080:8080 -v /mydata/jenkins_home/:/var/jenkins_home jenkins/jenkins:lts 

4.管理后台初始化设置

http://192.168.2.4:8080/

需要输入管理密码, 在以下位置查看:

#docker安装
docker logs jenkins 
#yum安装
cat /var/lib/jenkins/secrets/initialAdminPassword

jdk1.8的Jenkins安装配置实践

按默认设置,把建议的插件都安装上

jdk1.8的Jenkins安装配置实践

这一步等待时间较长, 安装完成之后, 创建管理员用户:

jdk1.8的Jenkins安装配置实践

配置访问地址:

jdk1.8的Jenkins安装配置实践

配置完成之后, 会进行重启, 之后可以看到管理后台:

jdk1.8的Jenkins安装配置实践

Jenkins插件安装

在实现持续集成之前, 需要确保以下插件安装成功。

  • Maven Integration plugin: Maven 集成管理插件。

  • Docker plugin: Docker集成插件。

  • GitLab Plugin: GitLab集成插件。

  • Publish Over SSH:远程文件发布插件。

  • SSH: 远程脚本执行插件。

安装方法:

进入【系统管理】-【插件管理】

点击标签页的【可选插件】

在过滤框中搜索插件名称

jdk1.8的Jenkins安装配置实践

勾选插件, 点击直接安装即可。

注意,如果没有安装按钮,需要更改配置

在安装插件的高级配置中,修改升级站点的连接为:http://updates.jenkins.io/update-center.jsonhttp://updates.jenkins.io/update-center.jsonhttps://jenkins-zh.gitee.io/update-center-mirror/tsinghua/update-center.json保存

或者从这个网站获取对应jenkins版本的升级站点

Index of /jenkins/updates/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

jdk1.8的Jenkins安装配置实践

然后www.chinasem.cn到Jenkins安装服务器上,全局查找

 find / -name default.json

找到后,进入文件目录,备份该文件

cp default.json default.json.bak

 在同目录下载该文件,并修改文件名为default.json

# 下载
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-stable-2.346.3/update-center.json --no-check-certificate

 
# 改名
mv update-center.json default.json

Git安装配置

1.yum 安装方式

yum -y install git

2.采用源码包方式安装

安装依赖包

yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum -y install gcc perl-ExtUtils-MakeMaker

如果之前有安装旧版本, 先做卸载, 没有安装则忽略

yum remove git

下载源码包

cd /usr/local
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-1.8.3.1.tar.gz
tar -xvf git-1.8.3.1.tar.gz

也可以安装其他版本, 地址:Index of /pub/software/scm/git/

编译安装

cd git-1.8.3.1
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc

3.检查git版本

git version

Maven安装配置

1.下载安装包

下载地址: Maven – Download Apache Maven

2.解压安装包

cd /usr/local
unzip -o apache-maven-3.6.1-bin.zip 

上传本地仓库并解压

jdk1.8的Jenkins安装配置实践

3.配置  

环境变量配置

vi /etc/profile

增加:

export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.1
export PATH=$PATH:$MAVEN_HOME/bin

如果权限不够,则需要增加当前目录的权限

chmod 777 /usr/local/apache-maven-3.6.1/bin/mvn

修改镜像仓库配置:

vi /usr/local/apache-maven-3.6.1/conf/settings.XML

需要把本机的仓库打包上传到服务器上(不上传会自动下载)

然后指定上传后的仓库配置

jdk1.8的Jenkins安装配置实践

Jenkins工具配置

进入【系统管理】--> 【全局工具配置】

jdk1.8的Jenkins安装配置实践

 MAVEN配置全局设置

jdk1.8的Jenkins安装配置实践

指定JDK配置  

jdk1.8的Jenkins安装配置实践

指定MAVEN 目录

jdk1.8的Jenkins安装配置实践​ 

指定DOCKER目录

jdk1.8的Jenkins安装配置实践

如果不清楚docker的安装的目录,可以使用whereis docker 命令查看docker的安装的目录  

SSH配置

进入【系统管理】--> 【凭据】--> 【全局】

jdk1.8的Jenkins安装配置实践

添加凭证

jdk1.8的Jenkins安装配置实践

进入【系统管理】--> 【系统配置】

配置SSH

jdk1.8的Jenkins安装配置实践

持续集成应用js

应用集成Docker配置

目标:部署的每一个微服务都是先创建docker镜像后创建对应容器启动

方式一:本地微服务打包以后上传到服务器,编写Dockerfile文件完成。

方式二:使用dockerfile-maven-plugin插件,可以直接把微服务创建为镜像使用(更省事)

以demo应用为例

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.2</version>
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>demo</description>
    <properties>
        <docker.image>docker_storage</docker.image>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

 

    <build>
        <finalName>heima-leadnews-user</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.3.6</version>
                <configuration>
                    <repository>${docker.image}/${project.artifactId}</repository>
                    <buildArgs>
                        <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

应用集成Dockerfile文件

# 设置JAVA版本
FROM openjdk:8
# 指定存储卷, 任何向/tmp写入的信息都不会记录到容器存储层
VOLUME /tmp
# 拷贝运行JAR包
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
# 设置JVM运行参数, 这里限定下内存大小,减少开销
ENV JAVA_OPTS="\
-server \
-Xms256m \
-Xmx512m \
-XX:MetASPaceSize=256m \
-XX:MaxMetaspaceSize=512m"
#空参数,方便创建容器时传参
ENV PARAMS=""
# 入口点, 执行JAVA运行命令
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /app.jar $PARAMS"]

放到与pom同级

jdk1.8的Jenkins安装配置实践

jenkins应用打包配置

以demo应用为例

1.新建任务

jdk1.8的Jenkins安装配置实践

jdk1.8的Jenkins安装配置实践

2.找到自己指定的git仓库,设置用户名和密码

找到自己指定的git仓库

jdk1.8的Jenkins安装配置实践

设置gitee用户和密码

jdk1.8的Jenkins安装配置实践

配置gitee

jdk1.8的Jenkins安装配置实践

3.执行maven命令  

jdk1.8的Jenkins安装配置实践

jdk1.8的Jenkins安装配置实践

clean install -Dmaven.test.skip=true  dockerfile:build -f pom.xml

注意:根据自己的实际代码路径配置

  • -Dmaven.test.skip=true 跳过测试
  • dockerfile:build 启动dockerfile插件构建容器
  • -f pom.xml 指定需要构建的文件(必须是pom)

4.并执行shell脚本  

jdk1.8的Jenkins安装配置实践

jdk1.8的Jenkins安装配置实践

if [ -n  "$(docker ps -a -f  name=$JOB_NAME  --format '{{.ID}}' )" ]
 then
 #删除之前的容器
 docker rm -f $(docker ps -a -f  name=$JOB_NAME  --format '{{.ID}}' )
fi
 # 清理镜像
docker image prune -f 
 # 启动docker服务
docker run -d --net=hoNRuGKtNst -e PARAMS="--spring.profiles.active=prod"  --name $JOB_NAME docker_storage/$JOB_NAME

5.执行日志

拉取代码

jdk1.8的Jenkins安装配置实践

编译打包

jdk1.8的Jenkins安装配置实践

构建镜像

jdk1.8的Jenkins安装配置实践

清理容器,创建新的容器

jdk1.8的Jenkins安装配置实践

测试

访问应用

jdk1.8的Jenkins安装配置实践

jenkins触发器配置

URL触发远程构建

触发远程构建,修改jenkins的配置,如下

jdk1.8的Jenkins安装配置实践

触发构建url: http://192.168.200.100:16060/job/leadnews-admin/build?token=88888888

其他工程构建后触发

配置需要触发的工程

jdk1.8的Jenkins安装配置实践

定时构建

定时构建( Build periodically)

jdk1.8的Jenkins安装配置实践

定时字符串从左往右分别为: 分 时 日 月 周

定时构建-定时表达式

定时字符串从左往右分别为: 分 时 日 月 周

组成部分含义取值范围
第一部分minute (分)0~59
第二部分hour(小时)0~23
第三部分day(天)1~31
第四部分month(月)1~12
第五部分week(周)0~7,0 和 7 都是表示星期天
  • 符号H 表示一个随机数
  • 符号* 取值范围的任意值

案例:

  • 每30分钟构建一次:H/30 * * * * 10:02 10:32
  • 每2个小时构建一次: H H/2 * * *
  • 每天的8点,12点,22点,一天构建3次: (多个时间点中间用逗号隔开) 0 8,12,22 * * *
  • 每天中午12点定时构建一次 H 12 * * *
  • 每天下午18点定时构建一次 H 18 * * *

轮询

轮询 SCM(Poll SCM)

轮询SCM,是指定时扫描本地代码仓库的代码是否有变更,如果代码有变更就触发项目构建。

jdk1.8的Jenkins安装配置实践

Jenkins会定时扫描本地整个项目的代码,增大系统的开销,不建议使用。  

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持China编程(www.chinasem.cn)。

这篇关于jdk1.8的Jenkins安装配置实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot的全局异常拦截实践过程

《SpringBoot的全局异常拦截实践过程》SpringBoot中使用@ControllerAdvice和@ExceptionHandler实现全局异常拦截,@RestControllerAdvic... 目录@RestControllerAdvice@ResponseStatus(...)@Except

python版本切换工具pyenv的安装及用法

《python版本切换工具pyenv的安装及用法》Pyenv是管理Python版本的最佳工具之一,特别适合开发者和需要切换多个Python版本的用户,:本文主要介绍python版本切换工具pyen... 目录Pyenv 是什么?安装 Pyenv(MACOS)使用 Homebrew:配置 shell(zsh

Nginx之https证书配置实现

《Nginx之https证书配置实现》本文主要介绍了Nginx之https证书配置的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录背景介绍为什么不能部署在 IIS 或 NAT 设备上?具体实现证书获取nginx配置扩展结果验证

mysql_mcp_server部署及应用实践案例

《mysql_mcp_server部署及应用实践案例》文章介绍了在CentOS7.5环境下部署MySQL_mcp_server的步骤,包括服务安装、配置和启动,还提供了一个基于Dify工作流的应用案例... 目录mysql_mcp_server部署及应用案例1. 服务安装1.1. 下载源码1.2. 创建独立

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

nginx跨域访问配置的几种方法实现

《nginx跨域访问配置的几种方法实现》本文详细介绍了Nginx跨域配置方法,包括基本配置、只允许指定域名、携带Cookie的跨域、动态设置允许的Origin、支持不同路径的跨域控制、静态资源跨域以及... 目录一、基本跨域配置二、只允许指定域名跨域三、完整示例四、配置后重载 nginx五、注意事项六、支持

windows下安装Nginx全过程

《windows下安装Nginx全过程》文章介绍了HTTP和反向代理服务器的概念,包括正向代理和反向代理的区别,并详细描述了如何安装和配置Nginx作为反向代理服务器... 目录概念代理正向代理反向代理安装基本属性nginx.conf查询结构属性使用运行重启停止总结概念是一个高性能的HTTP和反向代理we

SpringBoot简单整合ElasticSearch实践

《SpringBoot简单整合ElasticSearch实践》Elasticsearch支持结构化和非结构化数据检索,通过索引创建和倒排索引文档,提高搜索效率,它基于Lucene封装,分为索引库、类型... 目录一:ElasticSearch支持对结构化和非结构化的数据进行检索二:ES的核心概念Index:

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度