首页 > 其他分享 >Jenkins+Docker 一键自动化部署 SpringBoot 项目

Jenkins+Docker 一键自动化部署 SpringBoot 项目

时间:2022-12-23 10:44:55浏览次数:62  
标签:SpringBoot yum jenkins var Jenkins Docker 安装 docker

Jenkins+Docker 一键自动化部署 SpringBoot 项目

 

本文章实现最简单全面的Jenkins+docker+springboot 一键自动部署项目,步骤齐全,少走坑路。

环境:centos7+git(gitee)

简述实现步骤:在docker安装jenkins,配置jenkins基本信息,利用Dockerfile和shell脚本实现项目自动拉取打包并运行。

一、安装docker

docker安装社区版本CE

1.确保 yum 包更新到最新。

yum update

2.卸载旧版本(如果安装过旧版本的话)

yum remove docker  docker-common docker-selinux docker-engine

3.安装需要的软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

4.设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

5.安装docker

yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
yum install <自己的版本>  # 例如:sudo yum install docker-ce-17.12.0.ce

6.启动和开机启动

systemctl start docker
systemctl enable docker

7.验证安装是否成功

docker version

二、安装Jenkins

Jenkins中文官网:

https://www.jenkins.io/zh/

1.安装Jenkins

docker 安装一切都是那么简单,注意检查8080是否已经占用!如果占用修改端口

docker run --name jenkins -u root --rm -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean

如果没改端口号的话

安装完成后访问地址-> http://{部署Jenkins所在服务IP}:8080

此处会有几分钟的等待时间。

2.初始化Jenkins

2.1 解锁Jenkins
  • 进入Jenkins容器:docker exec -it {Jenkins容器名} bash
  • 例如 docker exec -it jenkins bash
  • 查看密码:cat /var/lib/jenkins/secrets/initialAdminPassword
  • 复制密码到输入框里面

 

 


2.2 安装插件

选择第一个:安装推荐的插件

 

 


2.3 创建管理员用户

此账户一定要记住哦

三、系统配置

1. 安装需要插件

进入【首页】–【系统管理】–【插件管理】–【可选插件】

搜索以下需要安装的插件,点击安装即可。

 

 


  • 安装Maven Integration
  • 安装Publish Over SSH(如果不需要远程推送,不用安装)
  • 如果使用Gitee 码云,安装插件Gitee(Git自带不用安装)

2. 配置Maven

进入【首页】–【系统管理】–【全局配置】,拉到最下面maven–maven安装

图片

四、创建任务

1. 新建任务

点击【新建任务】,输入任务名称,点击构建一个自由风格的软件项目

图片

2. 源码管理

点击【源码管理】–【Git】,输入仓库地址,添加凭证,选择好凭证即可。

图片图片

3.构建触发器

点击【构建触发器】–【构建】–【增加构建步骤】–【调用顶层Maven目标】–【填写配置】–【保存】

图片此处命令只是install,看是否能生成jar包

clean install -Dmaven.test.skip=true
图片

4. 保存

点击【保存】按钮即可

 

五、测试

该功能测试是否能正常打包

1. 构建

点击构建按钮

图片

2.查看日志

点击正在构建的任务,或者点击任务名称,进入详情页面,查看控制台输出,看是否能成功打成jar包。

该处日志第一次可能下载依赖jar包失败,再次点击构建即可成功。

图片图片

3. 查看项目位置

  1. cd /var/jenkins_home/workspace
  2. ll 即可查看是否存在

六、运行项目

因为我们项目和jenkins在同一台服务器,所以我们用shell脚本运行项目,原理既是通过dockerfile 打包镜像,然后docker运行即可。

1. Dockerfile

在springboot项目根目录新建一个名为Dockerfile的文件,注意没有后缀名,其内容如下:(大致就是使用jdk8,把jar包添加到docker然后运行prd配置文件。详细可以查看其他教程)

FROM jdk:8
VOLUME /tmp
ADD target/zx-order-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8888
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]

2. 修改jenkins任务配置

图片配置如下:

图片
  • -t:指定新镜像名
  • .:表示Dockfile在当前路径
cd /var/jenkins_home/workspace/zx-order-api
docker stop zx-order || true
docker rm zx-order || true
docker rmi zx-order || true
docker build -t zx-order .
docker run -d -p 8888:8888 --name zx-order zx-order:latest

备注:

  1. 我上图用了docker logs -f 是为了方便看日志,真实不要用,因为会一直等待日志,构建任务会失败
  2. || true 是如果命令执行失败也会继续实行,为了防止第一次没有该镜像报错

3. 保存

点击保存即可

4. 构建

查看jenkins控制台输出,输出如下,证明成功!

5. 验证

  1. docker ps 查看是否有自己的容器
  2. docker logs 自己的容器名 查看日志是否正确
  3. 浏览器访问项目试一试

 

来源:blog.csdn.net/zqqiang0307/article/

details/120458586

 

        TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
  TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back     此页面的语言为中文(简体)   翻译为        
  • 中文(简体)
  • 中文(繁体)
  • 丹麦语
  • 乌克兰语
  • 乌尔都语
  • 亚美尼亚语
  • 俄语
  • 保加利亚语
  • 克罗地亚语
  • 冰岛语
  • 加泰罗尼亚语
  • 匈牙利语
  • 卡纳达语
  • 印地语
  • 印尼语
  • 古吉拉特语
  • 哈萨克语
  • 土耳其语
  • 威尔士语
  • 孟加拉语
  • 尼泊尔语
  • 布尔语(南非荷兰语)
  • 希伯来语
  • 希腊语
  • 库尔德语
  • 德语
  • 意大利语
  • 拉脱维亚语
  • 挪威语
  • 捷克语
  • 斯洛伐克语
  • 斯洛文尼亚语
  • 旁遮普语
  • 日语
  • 普什图语
  • 毛利语
  • 法语
  • 波兰语
  • 波斯语
  • 泰卢固语
  • 泰米尔语
  • 泰语
  • 海地克里奥尔语
  • 爱沙尼亚语
  • 瑞典语
  • 立陶宛语
  • 缅甸语
  • 罗马尼亚语
  • 老挝语
  • 芬兰语
  • 英语
  • 荷兰语
  • 萨摩亚语
  • 葡萄牙语
  • 西班牙语
  • 越南语
  • 阿塞拜疆语
  • 阿姆哈拉语
  • 阿尔巴尼亚语
  • 阿拉伯语
  • 韩语
  • 马尔加什语
  • 马拉地语
  • 马拉雅拉姆语
  • 马来语
  • 马耳他语
  • 高棉语
 

标签:SpringBoot,yum,jenkins,var,Jenkins,Docker,安装,docker
From: https://www.cnblogs.com/d0minic/p/16858283.html

相关文章

  • Docker+Jenkins+Gitee+Maven构建后台jar包后配置SSH传送到服务器并执行指定命令
    场景Docker+Jenkins+Gitee+Maven项目配置jdk、maven、gitee等拉取代码并自动构建以及遇到的那些坑:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/12839905......
  • jenkins 打包前端工程的 shell 脚本
      package_name="dist_${JOB_NAME}_${BUILD_NUMBER}.zip"echo${package_name}pwdnode-vnpm-v#npm--registryhttps://registry.npm.taobao.orginstallnpm......
  • Ubuntu:Docker 容器操作
    创建容器1.dockerrun[option]镜像名[向启动容器中传入的命令]常用可选说明-i表示以“交互模式”运行容器-t表示容器启动后会进入其命令行。加入这两个参数......
  • Ubuntu:Docker启动与停止
    安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令启动dockersudoservicedockerstart停止dockersudoservicedockerstop......
  • Docker架构
    一三个基本概念镜像image:dooker镜像相当于一个root文件系统容器container:镜像和容器的关系相当于类和对象的关系。镜像是静态的定义,容器是镜像运行时的实体。容器......
  • 工作总结之Jenkins篇
    目录复盘Jenkins的安装到项目构建调通前言安装复盘Jenkins的安装到项目构建调通前言之前有一篇文章大概的讲了一下Jenkins的安装配置,但是那篇文章的诞生背景比较特殊,原......
  • docker的dockerfile案例nginx学习
    一、什么是DockerfileDockerfile是自动构建docker镜像的配置文件,将镜像构建过程通过指令的方式定义在Dockerfile中。配合​​dockerbuild​​命令行可以实现自动化的Docker......
  • nvidia-docker安装
    (1)确保NVIDIADrivers和Docker已经安装好$nvcc--version$docker(2)安装nvidia-docker(2.1)设置stable存储库和密钥#注意此步骤可能无法下载,需要手动去网页下载,......
  • Springboot+Mybatis+MySql下,mysql使用json类型字段存取的处理
    转载:Springboot+Mybatis+MySql下,mysql使用json类型字段存取的处理背景:1、mysql5.7开始支持json类型字段;2、mybatis暂不支持json类型字段的处理,需要自己做处理项目......
  • springboot学习总结
    刚学完spring的时候就学了一部分的springboot 感觉区别就在于springboot更加的高效 他为了方便开发 在spring的基础上面更加简化了一些配置他有非常大的有点比如:1.......