BenjaminYang In solitude, where we are least alone

Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)

这一套流程写的非常不错很详细的网站 https://segmentfault.com/a/1190000002895521 

一.安装jenkins

jenkins:  官方网站

选个2.2版本下载   点击下载

1.下载jdk

oracle官网地址

jdk-8u161-linux-x64.tar.gz

#上传解压jdk

[root@localhost ~]# cd /usr/local/java/
[root@localhost java]# rz
rz waiting to receive.
Starting zmodem transfer.  Press Ctrl+C to cancel.
Transferring jdk-8u161-linux-x64.tar.gz...
  100%  185308 KB    14254 KB/sec    00:00:13       0 Errors 

 

2.配置java环境变量

 

[root@localhost ~]# vim /etc/profile
JAVA_HOME=/usr/local/java/jdk1.8.0_161 #java目录是我创建的,把jdk包解压到里面,这个写解压位置的绝对路径 CLASSPATH=$JAVA_HOME/lib/ PATH=$JAVA_HOME/bin:$PATH export PATH JAVA_HOME CLASSPATH
[root@localhost ~]# . /etc/profile

 [root@localhost ~]# java -version
 java version "1.8.0_161"
 Java(TM) SE Runtime Environment (build 1.8.0_161-b12) 
 Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)


# 使用javac java java -version等 命令验证 ,出现提示 表示成功

3.安装tomcat

下载地址     这里使用8.50版本的tomcat

# 上传解压tomcat

[root@localhost java]# rz
rz waiting to receive.
Starting zmodem transfer.  Press Ctrl+C to cancel.
Transferring apache-tomcat-8.0.50.tar.gz...
  100%    9196 KB    9196 KB/sec    00:00:01       0 Errors  
[root@localhost java]# tar zxvf apache-tomcat-8.0.50.tar.gz 

 

这个什么版本都可以,别太旧了,旧的会有漏洞,解压完成试试能不能用,tomcat目录里面bin目录下,./catalina.sh start启动,访问一下,不能访问基本都是防火墙问题,能出现tom猫界面就可以停了,可以./catalina.sh stop,也可以找到进程pid,kill -9 pid号,进到webapps目录里面删除所有,把之前的jenkins.war拷进来,启动tomcat。我用的8080端口访问地址为http://公网地址:8080/jenkins

#启动apache 也可以使用catalina.sh 接形参 start | stop 进行启停
[root@localhost java]# ./apache-tomcat-8.0.50/bin/startup.sh Using CATALINA_BASE: /usr/local/java/apache-tomcat-8.0.50 Using CATALINA_HOME: /usr/local/java/apache-tomcat-8.0.50 Using CATALINA_TMPDIR: /usr/local/java/apache-tomcat-8.0.50/temp Using JRE_HOME: /usr/local/java/jdk1.8.0_161 Using CLASSPATH: /usr/local/java/apache-tomcat-8.0.50/bin/bootstrap.jar:/usr/local/java/apache-tomcat-8.0.50/bin/tomcat-juli.jar Tomcat started.
[root@localhost webapps]# rz 
rz waiting to receive.
Starting zmodem transfer.  Press Ctrl+C to cancel.
Transferring jenkins.war...
  100%   65021 KB    32510 KB/sec    00:00:02       0 Errors 

# 登陆网页输入  ip:8080/jenkins出现如下

 

#按照提示查看jenkins 登陆密钥

[root@localhost apache-tomcat-8.0.50]# cat /root/.jenkins/secrets/initialAdminPassword
a1ed4bb9cdf44853a2c13998e52f3a23

 

第一个是建议安装,第二个是选择性的安装

这里测试环境选择第一个

安装完成之后出现一个注册页面

# 注册完出现如下界面

 

 如果没有设置用户进入,admin用户登录还不知道密码是什么,是/root/.jenkins/secrets/initialAdminPassword这个里面的密码,

http://ip:8080/jenkins/user/admin/configure修改admin密码,也可以点系统管理,在里面找管理用户,点屏幕中上方的admin进去最下面修改密码保存。

# 点 左下角齿轮修改用户密码

 

 

二、安装Maven(用来构建项目)

官网地址:

下载地址:apache-maven-3.3.9-bin.tar.gz

# 上传解压maven
[root@localhost java]# rz
rz waiting to receive.
Starting zmodem transfer.  Press Ctrl+C to cancel.
Transferring apache-maven-3.3.9-bin.tar.gz...
  100%    8292 KB    8292 KB/sec    00:00:01       0 Errors  

[root@localhost java]# tar zxvf apache-maven-3.3.9-bin.tar.gz 

#配置 maven环境变量

vim /etc/profile 
export M2_HOME
=/usr/local/java/apache-maven-3.3.9 export M2=$M2_HOME/bin export PATH=$M2:$PATH

三、安装git

git下载地址

这里选择yum 安装,也可以用源码安装!

[root@localhost java]# yum install -y git

  

四、配置jenkins

如果网页出现提示需要更改 tomcat  conf目录下的 server.xml配置

 

1.添加插件

 

 

 容器部署Deploy container 插件选择性安装  linux系统下可以用scp命令  配合shell 脚本实现自动化

2.工具配置

jdk别名叫啥都可以,路径写对,写你jdk环境变量配置的路径,写错了会出现ERROR: Failed to parse POMs java.io.IOException: Cannot run program***错误

 

 

git的地址要写的是git这个命令的地址不是目录的地址,yum装的自然是/usr/bin/git,之前不是yum装的装的写/usr/local/git报错找不到git命令,

在服务器各种试git都没问题,看配置以为jenkins看不见呢,装了好几个版本的jenkins,找了N久才找到应该写/usr/local/git/bin/git 

配置maven

配置结束save保存

3.系统配置

 

 

  这个没有话看一下上面的插件,没安装maven的插件就没有这个配置

 

五、构建项目

开始创建一个新任务.,出现下图,名字随便起,选择构建一个maven项目

连接git,我们是自己搭的gitlab(gitlab安装中文版),需要在gitlab上搜索ssh或者key,找到一个ssh keys字样的,把jenkins服务器的公钥放在上面,

 

另外这个里面添加一个jenkins服务器root用户的私钥,添加不了的话按下面的添加也可以

发现gitlab服务器的私钥也可以,估计是因为gitlab页面上也放了gitlab的公钥,看来配对的公私钥就可以,有兴趣的可以试试。

 

选择这个这里面可以写脚本,我下面写这个相当于脚本里的命令去远程执行另一个脚本

 

 

如图,后面的功能都是用脚本写的,jenkins和org互相做了免密登录,在jenkins上可以直接用/usr/bin/ssh root@org的ip "要执行的命令" 

/bin/bash /dat****/org.sh  在org上执行这个脚本

过程:jenkins调用git把Gitlab上的代码下载到jenkins服务器,maven构建成war包,调用ssh运行shell脚本完成备份,停服务,清webapps,拷war包到tomcat下,起服务,

参考博主:漫风满画楼  完成博文

posted @ 2018-02-22 23:34  benjamin杨  阅读(1093)  评论(0编辑  收藏  举报