1.1背景知识
首先需要理解的是,Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。
意思是我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址URL,将代码拉取到其“宿主服务器”(这是我个人的称呼,在下边会用到,就是Jenkins的安装位置),进行编译、打包和发布到容器中。
因此我们可以注意到的是,在Jenkins的宿主服务器中必须要有可以进行:代码clone(Git)、代码编译(Maven)、代码运行(Tomcat)的基本环境,其他文章上来就是安装jenkins,忽略了一些基本的配置。
2.1.安装JDK
1.新建jdk文件夹(路径:/usr/local)
2.建立jdk的软连接
3.配置环境变量
vim /etc/profile
末尾添加以下变量:
export JAVA_HOME=/usr/local/jre
export PATH=
JAVAHOME/bin:
J
A
V
A
H
O
M
E
/
b
i
n
:
MDRILL_HOME/bin:
PATHexportCLASSPATH=.:
P
A
T
H
e
x
p
o
r
t
C
L
A
S
S
P
A
T
H
=
.
:
JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存退出!
source /etc/profile
刷新一下以便生效!
4.验证安装效果
输入Java -version
有Java版本信息等出现,说明jdk安装成功!
2.2安装Maven
1.将Maven安装包移到安装目录/usr/local,解压
tar -zxvf apache-maven-3.x.x-bin.zip
(附上下载地址:http://maven.apache.org/download.cgi)
2.配置环境变量
vim /etc/profile
末尾添加以下变量:
export MAVEN_HOME=/usr/local/apache-maven-3.x.x
export PATH=
PATH:
P
A
T
H
:
MAVEN_HOME/bin
保存退出!
source /etc/profile
刷新一下以便生效!
3.验证安装效果
输入mvn -v
2.3.安装Tomcat
1.新建tomcat文件夹(路径:/usr/local/tomcat)
2.将tomcat安装包移到安装目录/usr/local/tomcat,解压
tar -zxvf apache-tomcat-xxxx.tar.gz
3.启动Tomcat
cd /usr/local/tomcat/apache-tomcat-xxxx/bin
./startup.sh
4.测试Tomcat
2.4、Git的安装
1、安装依赖
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
注意:perl-ExtUtils-MakeMaker 也是这些安装列表中的一员,不要因为显示的换行造成大家认为是两条执行命令。
2、下载Git
选择一个目录,存放下载的git,例如我的是:/home/xuliugen/tmp,大家可以根据需求到官网下载相应的版本
wget https://github.com/git/git/archive/vx.x.0.zip
3、解压git
下载之后是这样的,不要感到奇怪,直接解压即可
因为下载的是一个zip,所以使用命令将其解压到git目录下:
参数-d 后边的是解压到的目录
unzip vx.x.0 -d git
4、编译安装git
进入git目录
将其安装在“/usr/local/git”目录下,命令如下:
make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install
5、配置Git
sudo vim /etc/profile #编辑profile文件
然后而已看到这个文件已经有很多配置了,只需要在最下边添加git的路径即可:
export PATH=/usr/local/git/bin:$PATH
将这段话放在最后边,然后使用source命令应用修改:
source /etc/profile
6、检验Git是否安装成功
git –version
2.5、Jenkins的部署
Jenkins的安装很简单,可以直接直接将war放到Tomcat容器中进行运行即可
我选择的二种安装方式rpm安装
1、下载rpm安装包:
wget https://pkg.jenkins.io/redhat-stable/jenkins-xxx.noarch.rpm /
2、应用命令安装
rpm -ivh jenkins-2.7.4-1.1.noarch.rpm
安装完成后默认目录结构:
[root@jenkins-test ~]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins (可以改变什么用户执行)(例如可以报jenkins用户变成root用户)
注意:修改完root用户后修改相应的权限sudo chown -R root /var/log/jenkins
sudo chgrp -R root /var/log/jenkins
sudo chown -R root /var/lib/jenkins
sudo chgrp -R root /var/lib/jenkins
sudo chown -R root /var/cache/jenkins
sudo chgrp -R root /var/cache/jenkins
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins (主要放置打包的一些信息)
/var/log/jenkins
3、修改jenkin的端口号
打开文件/etc/sysconfig/jenkins 修改jenkins配置文件的端口
4、启动Jenkins服务:
service jenkins start
Starting Jenkins [ OK ]
5、成功启动之后访问ip和端口如下:
点击应用 保存之后,然后在屏幕的右上角,有一个登录-注册 ,点击注册即可实现用户的登录。
点击进去
选择maven项目,点击OK,这里的Item名称是后边需要用到的,下边的配置也有用到这个的,大家可以很好的对应。
2、进行项目的配置
(1)源码管理选择Git,这个时候添加url之后,下边会报错,显示让去认证,认证即可(其他的安装中又遇到这个问题),如果认证失败,请下载认证Github Authentication plugin插件,这个在插件管理的可选插件中搜索安装。
我这里的rul是我在gitos上的一个项目,credentials是我在gitos上的用户名和密码认证。
选择第一个,其他的基本是定时执行什么的,大家可以自行查找,查看如何设置,根据需要进行配置
(3)Post Steps
这里是开发环境的编译脚本的示例(负责将编译好的jar、war包放到指定路径下)
线上环境不用配置
BUILD_ID=pleaseDontKillMe–DMP-storm-compile-copy
PROJECT=”DMP-storm-compile”
PRE_COPYROOT=~jenkins/jobs
PRECOPY_JAR_DIR=”workspace/pushLogs/target/pushLogs*.jar”
PRECOPY_BIN_DIR=”workspace/bin/”
AFTERCOPY_JAR_DIR=”/opt/software/jenkins/source/jar”
AFTERCOPY_BIN_DIR=”/opt/software/jenkins/source/jar/bin”
copy shell
echo “############copy shell to 101”
\cp -r
PRECOPYROOT/
P
R
E
C
O
P
Y
R
O
O
T
/
{PROJECT}/
PRECOPYBINDIR
P
R
E
C
O
P
Y
B
I
N
D
I
R
{AFTERCOPY_BIN_DIR}
copy jar
echo “############copy jar “
PROJECT”.jar”\cp−r
P
R
O
J
E
C
T
”
.
j
a
r
”
\cp
−
r
{PRE_COPYROOT}/
PROJECT/
P
R
O
J
E
C
T
/
{PRECOPY_JAR_DIR} ${AFTERCOPY_JAR_DIR}
transfer
arr=(
str//,/)foriin
s
t
r
/
/
,
/
)
f
o
r
i
i
n
{arr[@]}
do
transfer_jar $i
done
transfer_shell
最后 脚本是登录到拥有包的那台服务器,然后将原来进程然后替换包,启动新的进程。(注依赖的包已在服务器固定路径下)
脚本 : 略