目录
1、下载jenkins
2、 启动jenkins
3、访问jenkins
4、在当前Linux上安装maven
4.1、更新wget命令,支持https请求
4.2、下载maven
4.3、解压安装maven
4.4、配置maven环境变量
4.5、maven配置阿里云镜像
4.6、配置maven依赖下载的位置
5、Linux安装Git
6、构建我们第一个项目
6.1、配置支持maven的项目构建
6.2、新建任务
7、启动jenkins任务
8、把jenkins构建的项目,发布至其他的Linux服务器
8.1、jenkins安装Publish Over SSH插件
8.2、配置ssh servers
8.3、修改任务配置Post Steps(后置步骤)
8.4、重新构建项目
8.5、检查目标服务器
8.6、访问目标服务器项目
Linux环境要求:
- JDK 8版本及以上
1、下载jenkins
中文官网:Jenkins
下载链接:Jenkins 的安装和设置
下载完成后,文件名为jenkins.war
上传到Linux中,我上传到的目录为:/usr/local/jenkins
2、 启动jenkins
jenkins.war启动方式与jar一样(也可以添加启动参数),如下
java -jar jenkins.war
上述启动方式会占用当前shell窗口,当进行其他的命令操作或者关闭连接时,jenkins会关闭,后续请使用后台运行的方式:
nohup java -jar jenkins.war &
3、访问jenkins
我的Linux的IP地址为:192.168.221.128,jenkins默认端口为8080
使用浏览器访问:http://192.168.221.128:8080
注意:
- 若浏览器一致页面一直加载不出来,证明是防火墙没有关闭,需要关闭下防火墙,或者开放8080端口
查看防火墙状态:
systemctl status firewalld
关闭防火墙:
systemctl stop firewalld.service
如:
一切就绪后,jenkins页面加载如下:
加载完毕后,如下:
选择"安装推荐的插件",下一个页面如下:
- 正在安装推荐的插件,也需要等待...
安装完成后,进入下个页面:
- 由于创建管理员用户时,必须使用邮箱,直接点击"使用admin账户继续"
下一个页面直接保存即可:
修改admin密码:
- 进入到设置界面,在该界面最下方输入重置密码即可
4、在当前Linux上安装maven
4.1、更新wget命令,支持https请求
yum install -y ca-certificates
4.2、下载maven
wget https://dlcdn.apache.org/maven/maven-3/3.9.1/binaries/apache-maven-3.9.1-bin.tar.gz
4.3、解压安装maven
tar -zxvf apache-maven-3.9.1-bin.tar.gz
4.4、配置maven环境变量
vi /etc/profile
复制下面内容至末尾:
# maven 我的maven安装在/usr/local/maven中
export MAVEN_HOME=/usr/local/maven/apache-maven-3.9.1
export PATH=$PATH:$MAVEN_HOME/bin
使profile文件立即生效
source /etc/profile
4.5、maven配置阿里云镜像
- 默认的镜像很慢,需要使用国内镜像
编辑maven的配置文件:
vi /usr/local/maven/apache-maven-3.9.1/conf/settings.xml
在图示位置加入下述配置:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
4.6、配置maven依赖下载的位置
- 我设置的下载位置为:/usr/lcoal/maven/repository
继续在上述配置文件中,加入配置:
<localRepository>/usr/local/maven/repository</localRepository>
至此,maven下载配置完成
5、Linux安装Git
jenkins需要通过Git去拉去代码,因此我们需要在Linux机器上安装下Git
git安装很简单,如下:
- 使用yum安装git
yum install git
6、构建我们第一个项目
6.1、配置支持maven的项目构建
- 默认新建任务下,是没有maven项目构建的选项,需要我们再安装下maven支持
在可选插件中,输入maven:
我们再新建任务时,发现已经支持maven项目构建了:
6.2、新建任务
1>选择构建maven项目
2>配置git项目克隆地址
配置完账号密码后,需要选择下:
3>jenkins配置maven
点击 the tool configuration
4>设置pom文件位置
git拉取项目代码后,我的pom文件在git项目"helloworld"第一级目录中,如;
我们根据上述git目录结构,在jenkins配置pom即可 :
7、启动jenkins任务
我们上述操作完成后,如下;
日志如下:第一次构建会很慢:
至此,maven构建已完成,会生成一个jar文件,我的文件位置如下:
8、把jenkins构建的项目,发布至其他的Linux服务器
场景:当jenkins构建项目生成jar包后,我们需要发布到其他的服务器中进行运行(对应实际工作中的开发/测试/生产环境,jenkins服务器专门用于构建项目,最好不要在jenkins服务器直接运行jar项目)
前置工作(这里我就不演示了):
- 需要准备一台Linux虚拟机,我准备的虚拟机IP:192.168.221.129
- 该虚拟机需要关闭下防火墙
- 需要安装JDK1.8
8.1、jenkins安装Publish Over SSH插件
- publish over ssh插件的作用:jenkins构建项目生成jar等文件后,通过publish over ssh插件发送至其他服务器
8.2、配置ssh servers
我们安装完插件后,需要配置ssh服务器地址(也就是jenkins往哪里发送文件)
位置:系统管理--系统配置--Publish over SSH中
配置如下:
8.3、修改任务配置Post Steps(后置步骤)
找到 Post Steps(项目构建完成的后置步骤,也就是jar文件有了以后,想做什么操作):
注意:这个配置一定要知道当前jenkins构建项目后,生成的jar文件在哪(日志中可以看到):
我的在 :/root/.jenkins/workspace/我的第一个项目/target/helloworld-0.0.1-SNAPSHOT.jar
在此基础上,我的Post Steps配置如下:
ssh的相关问题注意:
很多人在文件发送成功后,找目标服务器上找不到文件的原因:
<1>在ssh servers中配置目标服务器时
- remote directory必须配置,否则通过ssh发送文件时,文件会不知所踪;
- 若remote directory配置了,那么目标服务器必须存在该路径。
不然会报一下错误:
ERROR: Exception when publishing, exception message [Failed to connect and initialize SSH connection. Message: [Failed to change to remote directory [/usr/myproject]]]
<2>在任务构建配置下(也就是Post Steps中),remote directory填写的路径,目标服务器才会自动生成该路径
如:
- 在配置ssh server时,我配置了remote directory为/usr/myproject
- 在侯建任务的配置中,我也配置了remote directory为/usr/myproject
那么,在目标服务器上,我传输文件的真实路径为:
/usr/myproject/usr/myproject
8.4、重新构建项目
注意:在配置ssh server时,我配置了remote directory为/usr/myproject,所以在目标服务器,请创建下这个路径
启动任务构建项目:
日志如下:
8.5、检查目标服务器
- 检查项目是否启动
- 查看jar文件位置
8.6、访问目标服务器项目
我的springboot项目很简单,只有一个测试接口,如下:
注意:目标服务器要记得关闭防火墙,或者开发8080端口
systemctl stop firewalld
浏览器直接访问:
http://192.168.221.129:8080/test
结果如下:
至此,Linux部署jenkins,实现项目构建及发布已实现