java系列 如何使用jenkins+docker自动化部署spring-boot项目

前言

如果其中有什么错误或者遇见什么问题都可以评论区留言,我看见以后会及时帮住大家的

本文着重讲解了如何使用jenkins + docker去一键部署上线springboot项目,搭建成功以后开发人员只需要将代码提交到git上面,然后去jenkins点击一下项目构建,那你服务器上的项目将会自动从git上拉代码并进行docker容器打包启动.可以很大程度的减少开发人员精力以及工作量!

本文章示例jenkins版本为 - 2.346.3

服务器环境需求 :

需要有maven环境

需要有git环境

需要有java环境

需要有docker服务 - docker安装可以看我这篇文章 : linux如何安装docker

需要安装jenkins服务 - jenkins安装可以看我这篇文章 : 安装jenkins的三种方法

配置jenkins

将jenkins用户加入docker用户组

查看是否有docker用户组

cat /etc/group

image

没有的话新建一个

sudo groupadd docker 

查看是否有jenkins用户,一般war包方式启动jenkins的需要自建一个jenkins

cat /etc/passwd

image

没有的话新建一个

adduser jenkins

添加jenkins用户到docker用户组

newgrp docker

查看jenkins所在的用户组

groups jenkins

image

重启jenkins

#yum安装的重启方式
systemctl restart jenkins
#war包的重启方式
ps aux |grep jenkins #找见jenkins的pid
kill -9 [jenkins的pid]
然后再启动jenkins

开启docker远程访问权限,修改docker.service配置文件

vim /usr/lib/systemd/system/docker.service

添加以下内容

ExecStart=  
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

image

重新读取配置

systemctl daemon-reload

重启docker

systemctl restart docker

如果开启的防火墙需要放行2375端口以及开启

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 2375 -j ACCEPT

jenkins环境配置

进入jenkins首页点击侧边栏Manage Jenkins -> Global Tool Configuration

image

jenkins配置jdk环境

image

jenkins配置git环境

image

没有git服务,可以使用以下命令进行安装git

sudo yum install -y git
whereis git #查看git安装目录,一般默认是/usr/bin/git

jenkins配置maven环境

image

保存环境配置,然后进入插件管理中心

image

点击已安装,搜索maven看看maven插件是否安装,有的话就不需要重复安装了

image

没有的话,点击可选插件,然后搜索maven,进行安装maven插件

image

安装完成之后退出到jenkins首页,点击新建Item

image

输入项目名称,选择Freestyle project

image

然后进入配置中心,选择源码管理 -> git -> 输入项目的git地址,然后点击添加

image

添加凭证

image

点击添加,然后选择该凭证

image

然后在点击构建环境

image

选择增加构建步骤 -> 调用顶层maven目标 , maven版本就选你上面新增的maven,目标输入以下命令

image

clean install -Dmaven.test.skip=true

然后点击保存,然后我们测试一下,看看能不能把git上的项目拉下来并打成jar包

image

第一次构建需要下载pom中的依赖所以会慢点,等构建完成以后点击进去看控制台输出,最后可以看见打的jar包的路径

image

去看一下该文件夹下是否有该jar包

cd /root/.jenkins/workspace/demo/target/
ll

image

运行项目

编写dockerfile文件放到你的项目根目录,然后提交到git,内容如下,记得把后面的注释都删掉,要不会报错

image

FROM registry.cn-hangzhou.aliyuncs.com/sangmuen/java:8 #这是我自己上传到阿里云的java8,docker容器因为dockerhub上的官方java8下架了,你们可以用也可以去dockerhub上找找其他的!

MAINTAINER jy1997 4044092@qq.com #发布者,随意填

ADD target/jenkins-demo-1.0-SNAPSHOT.jar jenkins-demo.jar #把jar加入到容器中并重命名为 jenkins-demo.jar

CMD ["--server.port=9999"] 

EXPOSE 9999  #项目端口暴露

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

ENTRYPOINT ["java","-jar","/jenkins-demo.jar.jar"]  #启动该jar包

修改jenkins配置,还是到那个配置中的构建环境 -> 构建 -> 增加构建步骤 -> 执行shell

image

输入以下命令,记得后面的注释要删掉

cd /root/.jenkins/workspace/demo  #进入jar包存放路径
docker stop demo || true # demo是项目名称,随意起
docker rm demo || true #删除同名容器,以防止构建容器失败
docker rmi demo || true
docker build -t demo . #根据dockerfile 构建docker容器
docker run -d -p 9999:9999 --name demo demo:latest #启动docker容器

然后再去构建一下项目,等构建完项目使用以下命令就可以看见自己的项目已经打包成docker容器并启动了

docker ps

image

查看日志

docker logs -tf --tail 600 a847

image

项目就成功启动了,以后你只需要把代码提交到git上然后来jenkins上点一下构建,那你的项目就会从git上拉下来代码并打包成docker容器然后启动了!

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇