知识不可怕,可怕的是你远离它。
本文是原创持续连载发布,这篇主要是承接(基础框架搭建篇)的内容,亲手搭建下Jenkins + git + maven 自动化部署。如有文中有书写或部署问题,请留言指导修正,互相交流,共同进步,本人QQ:417213902。
安装文件 | 版本 |
---|---|
linux虚拟机 | CentOS-6.5-x86_64-bin-DVD1.iso |
jdk | jdk-8u112-linux-x64.tar.gz |
tomcat | apache-tomcat-7.0.82.tar.gz |
maven | apache-maven-3.5.2-bin.tar.gz |
git | git-2.3.0.zip |
Jenkins 2.73.2 | jenkins.war |
一、环境搭建
1.1 java运行环境
1.1.1 JDK1.8安装
注意:这个版本的Jenkins必须使用jdk8 or later
- 第一步,上传,解压
# tar –zxvf jdk-8u112-linux-x64.tar.gz - 第二步,修改环境变量,在文末增加以下内容,保存生效
# vi /etc/profile
JAVA_HOME=/opt/soft/jdk1.8.0_112
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
EXPORT JAVA_HOME
EXPORT PATH
EXPORT CLASSPATH
# source /etc/profile
2.1 tomcat运行环境
2.1.1 tomcat7安装
- 第一步,解压
# tar –zxvf apache-tomcat-7.0.82.tar.gz - 第二步,测试
# cd /opt/soft/apache-tomcat-7.0.82/bin
# sh startup.sh
3.1 maven 环境搭建
3.1.1 maven 安装
- 第一步,解压
# tar –zxvf apache-maven-3.5.2-bin.tar.gz - 第二步,修改环境变量,在文末增加以下内容,保存生效
# vi /etc/profile
export M2_HOME=/opt/soft/apache-maven-3.5.2
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
# source /etc/profile
- 第三步,测试,成功
mvn -version
注意:maven的默认本地仓库在
# cd /root/.m2/repository
如果想修改,可在maven当前目录下修改conf/config.xml文件,将下面这张图中修改localRepository
# cd $M2_HOME/conf
4.1Jenkins 运行
4.1.1 Jenkins运行
- 第一步,以下两种方式运行
1、第一种启动方式 :
java -jar jenkins.war --httpPort=8888
war中自带jetty服务器,--httpPort指定启动端,口直接启动可以访问
192.168.1.107:8888
以这种方式启动是要占用ssh,关闭就无法访问了,所以我把它写成启动脚本,脚本内容如下
# vim jenkins.sh
#!/bin/sh
# start
/opt/soft/jdk1.8.0_112/bin/java -jar jenkins.war --httpPort=8888
# nohup ./jenkins.sh & 2>&1
采用后台挂起启动方式
2、第二种启动方式 :
将 jenkins.war放进tomcat的webapp下,然后启动tomcat
192.168.1.107:8080/jenkins
- 第二步打开页面,需要输入密码
可以查看这个网址有具体说明不同环境下取密码的方式
https://wiki.jenkins.io/display/JENKINS/Logging
此处采用第一种,控制台取密码
直接此处密码复制黏贴到输入框即可,
然后选择第一个安装所有或者按需自定义
- 第三步,等待插件安装完成,Jenkins的运行应该就可以了
Jenkins运行完成
问题一:忘记密码
解决方法:
# cd /root/.jenkins/users/
进入用户,修改config.xml
将 passwordHash 中的密文修改为
#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS
对应密码是111111
然后保存,启动,登录即可(网上借鉴的)
问题二:jenkins 默认的workspace在哪
# cd /root/.jenkins/workspace
5.1 git 安装
5.1.1 git安装
- 第一步,上传,解压
# unzip git-2.3.0.zip - 第二步,安装git环境依赖
# sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker - 第三步,安装 git,将git安装在/opt/soft/git 下
# make prefix=/opt/soft/git all 若第二步依赖未安装,这步会出错
# make prefix=/opt/soft/git install - 第四步,修改环境变量,在文末增加以下内容,保存生效
# vi /etc/profile
export PATH=/opt/soft/git/bin:$PATH
- 第五步,测试,成功
# git --version
好啦,环境算是搭建好了,是不是很简单,下面才是真正的重点
二、Jenkins应用
2.1Jenkins + maven + git + tomcat 发布配置
-
第一步,配置全局化参数
在首页-系统管理-[Global Tool Configuration](右侧菜单)
(1)全局JDK
(2)全局Git
说明:如果你的代码是在自己搭建的git上管理,那么这里需要配置下;我这里就不配置了,我的代码是在github上管理的
(3)全局maven(同上)
- 第二步,新建project
- 第三步,配置project的基础配置
(1) 源码管理
(2) 构建
(3) 构建后操作
说明 ① AR/EAR files : 工作空间,这是一个相对地址,地址为在你的jenkins的project下的完整路径,如:# cd /root/.jenkins/workspace/ + project名称 + 项目war完整路径,这个 【项目war完整路径】就是这里要填写的路径;其中这个路径只有在构建过项目后才会生成,所以第一次看应该是没有的,不要怀疑
② Context path : 为你发布到tomcat下的根目录名称,即 在webapp下的目录名称
③ Credentials :这个证书是tomcat的登录用户密码,这里比较关键,在tomcat 的conf/tomcat-users.xml修改配置如下,增加如下
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="manager" password="manager" roles="manager-gui,manager-script"/>
<user username="admin" password="admin" roles="admin-gui,manager-gui,manager-script"/>
(3) 其他,
好了,如果你把以上步骤做完,完整的自动化部署配置算是已经完成了。当然如果您有更多的需求,可以继续研究下当前配置中的其他项内容,比如利用脚本、定时等等。
(4) 保存,退出,点击【立即构建】
出现Deploying........SUCCESS,表示成功,当然如果您是第一次构建,可能会比较慢一点,因为maven需要下载对应的jar,构建本地仓库(#cd /root/.m2/repository/)
查看tomcat发布控制台
2,2 搭建过程中可能遇到的问题
(1)、忘记Jenkins的登录密码,文中已解答,向上看
(2)、在配置中,构建后操作中下拉没有【Deploy war/ear to a container】,那是因为你的插件没有安装,
你可以到 首页-系统管理-管理插件 搜索,不过建议直接点击高级-上传插件 比较方便,此插件下载地址 https://wiki.jenkins.io/display/JENKINS/Deploy+Plugin
(3)、当你按照以上步骤全部配置好了,去构建项目,看到maven打包成功了,但是deploy不成功,console也不报错,那么有可能是你的 AR/EAR files 工作空间路径不对,向上看
(4)、tomcat7 用户权限不对,向上看
(5)、同时部署多个maven子项目,此问题,还在研究中,希望有志友看到了,能帮忙留言解决下,谢谢啦!!!
未完待续。。。
好了,到此为止,一个最简单的web架构雏形算是完成了!!!
预告,下一版,『逐一解决单点问题』