图解Jenkins环境搭建+多机部署

概述

本文操作基于Ubuntu系统,其它系统操作类似。
本文目标:实现Ubuntu系统下,Jenkins环境的搭建和通过SSH方式的多机部署。
为便于操作,以下操作过程中均使用root用户。

安装

安装JDK

Oracle JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
安装过程比较简单,此处从略。

安装Jenkins

1. 下载

下载地址:https://jenkins.io/zh/download/
在这里插入图片描述
选择自己机器对应的版本即可。鉴于我比较喜欢绿色版软件,此处选择最后那个
Generic Java package (.war)
切换到要安装Jenkins的目录,比如我的/data/tools/jenkins,执行wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war,下载完成后如图:
在这里插入图片描述

2. 启动

执行命令java -jar jenkins.war --httpPort=8080
如果看到如下图的日志,表明启动成功
在这里插入图片描述
如果没有成功,请检查JDK是否正确安装并且8080端口是否被占用,如果端口被占用,换一个即可。

3. 初始化

打开浏览器,输入http://localhost:8080,如果是远程操作,请替换localhost为对应机器的IP。如图
在这里插入图片描述
按照提示,复制/root/.jenkins/secrets/initialAdminPassword文件中的初始admin密码,然后点继续。
我这里图省事,直接选择推荐的插件:
在这里插入图片描述
插件安装完成后,填写管理员信息保存即可,如图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190929163907926.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMzMTQ3ODY=,size_16,color_FFFFFF,t_70
跟随指引走完流程之后进入主界面,如图
在这里插入图片描述
至此初始化完成。
但是,由于要发布的是Java项目,并且要发布到远程机器上,所以maven插件(Maven Integration)和SSH插件(Publish Over SSH)需要装一下。操作过程如图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
插件安装完成,重启Jenkins之后即可开始个性化配置啦。

配置

全局工具配置

在全局配置中可以指定maven,git,JDK等环境配置
在这里插入图片描述
在这里插入图片描述
如果机器上没有安装git,maven,以及编译代码使用的JDK,都可以在这里让Jenkins自动安装。如果使用的是maven私服,也可以指定下maven配置文件在机器上的位置。
配置完成后,点保存即可。
在这里插入图片描述

系统配置

在这里插入图片描述
这里的配置项非常多,不再展开说明,只讲下发布配置。
发布时可以使用用户名+密码的方式,也可以用SSH的方式,这里讲下使用SSH的发布方式。

主要步骤
  1. 配置远程机器允许SSH访问,配置方式可参考另一篇文章:Linux通过SSH访问其它机器
  2. 指定私钥在机器上的路径,或者直接把私钥内容粘贴到Key文本框中,如图
    在这里插入图片描述
  3. 添加远程目标机器。点击SSH Servers后边的新增按钮,添加刚刚配置过SSH的目标机器信息,如图
    在这里插入图片描述

保存即可。

凭据配置

配置凭据是为了从私有的git仓库上拉取代码,同样有几种方式,可以选择使用用户名+私钥,也可以选择用户名加密码,根据自己喜好选择即可,这里选择用户名+私钥。操作过程如图
在这里插入图片描述
把私钥粘贴过来,保存即可。如图
在这里插入图片描述

Git配置

此处以GitHub为例,进入个人设置页,然后配置服务器公钥即可,如图
在这里插入图片描述

创建任务

  1. 新建一个Jenkins任务,如图
    在这里插入图片描述
    名字一般就是项目名称,这里选择maven项目
    在这里插入图片描述
    确定之后,在任务配置页进行项目名称,git地址,凭证,分支,编译,发布等配置,如图
    在这里插入图片描述
    此处的project.name是一个字符串参数,可以在接下来的配置中当变量来用,这样如果项目名改了,我们直接修改project.name的默认值即可,其余配置不用改。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    添加部署脚本:
    在这里插入图片描述
    其中部署脚本比较简单,这里粘出来,便于复制修改
source /etc/profile
cd /data/apps/${project.name}
mkdir -p history
ps -ef | grep ${project.name} | grep -v grep| awk{print $2}| xargs kill -9
sleep 10

#移除3天前的app备份
find ./history -name "${project.name}.jar.*" -mtime +2 -exec rm {} \;
mv ${project.name}.jar ./history/${project.name}.jar.`date +%Y%m%d-%H:%M:%S`

#启动app
chmod -R a+r ./
chmod a+x ${project.name}.jar
nohup java -jar ${project.name}.jar &

最后保存,任务编写完成。

验证

回到主界面,可以看到test任务已经创建好了,点启动按钮,然后点开始构建即可,如图
在这里插入图片描述
在这里插入图片描述
构建Console控制台中看到 Finished: SUCCESS即表示构建成功了。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins是一个开源的自动化部署工具,它可以帮助我们实现持续集成和自动化部署。而Docker是一种虚拟化技术,可以将应用程序及其依赖打包成一个可移植的容器,实现快速部署和可靠性。 在使用Jenkins进行自动化部署时,可以搭配使用Docker和Maven来创建一个完整的自动部署环境。首先,我们需要在Jenkins服务器上安装Docker,然后使用Docker创建一个虚拟容器,容器中包含了我们的项目代码和相关的环境依赖。 接下来,我们可以使用Maven来管理和构建我们的项目。在Jenkins配置好Maven构建任务后,每当代码有更新或提交时,Jenkins会自动触发构建任务。在构建任务中,Jenkins会从代码仓库中拉取最新的代码,并使用Maven进行编译、测试、打包等操作。 当构建成功后,Jenkins可以将构建好的应用程序打包成一个Docker镜像,然后将镜像推送到Docker仓库。我们可以使用Docker的相关命令将该镜像部署到服务器上,即可实现自动化部署。在部署过程中,Docker会自动解析容器中的依赖,并创建一个虚拟环境来运行我们的应用程序。 通过使用Jenkins、Docker和Maven,我们可以实现一个完整的自动化部署环境。这样一来,我们只需要在代码有更新时提交到代码仓库,Jenkins就会自动触发构建任务,并将构建好的应用程序部署到服务器上。这大大提高了部署效率,减少了人工操作的错误和风险,同时也提高了系统的可靠性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值