一 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.重新构建,进行访问