Bootstrap

jenkins的作用&案例操作

一 jenkins

1.1 概念

Jenkins 是一个开源的自动化服务器,主要用于持续集成和持续交付(CI/CD)。它能够自动化构建、测试和部署软件项目,帮助开发团队快速、高效地交付高质量的代码。

1.自动化构建:当代码提交到版本控制系统(如 Git)时,Jenkins 可以自动触发构建任务,编译代码并生成可执行文件或软件包。

2.自动化测试:Jenkins 可以集成测试框架(如 JUnit、Selenium),在构建完成后自动运行测试用例,确保代码质量。

3.自动化部署:通过 Jenkins,可以将构建好的应用程序自动部署到测试环境或生产环境,减少人工干预。

4.任务调度:Jenkins 支持定时任务和触发任务,比如每天凌晨自动运行回归测试。

5.可视化流水线:Jenkins Pipeline 功能可以将整个 CI/CD 流程可视化,方便运维人员监控和管理。

6.插件扩展:Jenkins 拥有丰富的插件生态系统,支持与 Docker、Kubernetes、AWS、GitHub 等工具的集成。

1.2 流程

1.2.1 流程

1.3 搭建环境安装软件

1.安装gitlab;分为ssh下;或者在docker下安装gitlab

2.安装jdk

3.安装jenkins

4.安装maven

5.安装git

1.4 构建的几种方式

二  实操配置

2.1 配置

2.1.1 配置git仓库地址

2.对应分支

2.1.2 配置maven递增

2.1.3 配置pom

2.1.4 执行构建

1.执行构建,生成jar包

2.启动jar包

2.2 配置ssh实现远程推送

1 安装插件

在Configure System菜单里 往下来

2 添加一台目标服务器:也就是执行jar包的机器;要有jdk环境

3.配置机器ip和名称

4.配置 密码和端口等信息

5.详情配置

三  jenkins 实现容器自动化部署

3.1 镜像作用

Docker镜像是一个轻量级、独立且可执行的软件包,它包含了运行某个软件所需的一切,包括代码、运行时、系统工具、系统库和设置等。它们是构建和运行容器的基础。

3.2  方式1:外挂到宿主机目录下的jar包方式

3.2.1 流程图

3.2.2 step1:创建容器

将宿主机指定目录下的jar包映射到docker容器中指定的目录下。修改宿主机下jar包内容,docker中的jar包会同样感知。容器名为 demo-out

docker run -d -p 8080:8080 --name demo-out -v /root/jarfile/demo-1-0.0.1-SNAPSHOT.jar:/app.jar openjdk:11 java -jar app.jar

docker run: 运行一个新的容器。
-d: 让容器在后台运行(守护模式)。
-p 8080:8080: 将主机的8080端口映射到容器的8080端口,这通常用于Web应用服务。
--name demo-out: 给容器指定一个名称demo-out,便于管理和引用。
-v /root/jarfile/demo-1-0.0.1-SNAPSHOT.jar:/app.jar: 使用数据卷将主机上的/root/jarfile/demo-1-0.0.1-SNAPSHOT.jar文件挂载到容器内的/app.jar位置。这样做的目的是让容器可以访问并执行这个JAR文件。
openjdk:11: 指定使用基于OpenJDK 11镜像来创建容器。这个镜像是包含Java运行时环境的,适合用来运行Java应用程序。
java -jar app.jar: 在容器启动时执行的命令,即通过Java命令运行名为app.jar的JAR文件。
确保您的JAR文件路径和名称正确无误,并且您的宿主机上已经存在该JAR文件。此外,确认您的系统已安装Docker并且正在运行。如果一切准备就绪,您可以使用上述命令启动您的Java应用程序在一个新的Docker容器内。

3.2.2 jenkins配置

1.前置处理:删除指定目录下所有内容,将指定的demo-out容器关闭。

2.后处理:将构建的jar包放到宿主机/root/jarfile这个目录下;然后启动名称为demo-out的容器

3.通过jenkins构建成功后,查看容器状态

4.页面访问应用:这种方式不需要重新构建镜像,容器。

3.3 使用dockerfile将jar包打入镜像重新生成容器方式

3.3.1 流程图

3.3.2 配置

1.前处理

2.将dockerfile放到工程

dockerfile内容

FROM openjdk:11
EXPOSE 8080

WORKDIR /root

ADD jarfile/demo*.jar /root/app.jar
ENTRYPOINT ["java","-jar","/root/app.jar"]

放到工程中:

3.后处理

1.配置将jar包构建到宿主机指定目录下

2.将dockerfile复制到宿主机指定目录下,并打成镜像

3.配置通过打成的镜像,通过docker run 启动变成docker容器服务

4.修改代码

5.重新构建,进行访问

;