Jenkins搭建以及git项目自动部署

/ 默认分类 / 0 条评论 / 332浏览

1 Jenkins 环境搭建

jenkins 服务器上需要搭建的环境:jdk8,maven,git,tomcat7(经过本人测试tomcat8对jenkins不太兼容,可能会报莫名其妙的错误)

1.1 jenkins官网war包下载
1.2 使用ftp工具上传jdk、maven、tomcat的tar包和jenkins的war包到服务器的/usr/local/src目录下

image

1.3 解压jdk、maven、tomcat的tar包
tar -zxvf jdk-8u172-linux-x64.tar.gz
tar -zxvf apache-tomcat-7.0.94.tar.gz
tar -zxvf apache-maven-3.6.1-bin.tar.gz
1.4 安装git
# 安装git所需要的依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

yum install  gcc perl-ExtUtils-MakeMaker

# 下载git源码,切换到/usr/local/src 目录下
wget https://www.kernel.org/pub/software/scm/git/git-2.0.5.tar.gz

# 解压
tar xzf git-2.0.5.tar.gz

# 进入git目录
cd git-2.0.5

# 安装
make prefix=/usr/local/src/git all
make prefix=/usr/local/src/git install

1.5 安装环境变量
vim /etc/progile

# 添加如下内容:

# jdk
export JAVA_HOME=/usr/local/src/jdk1.8.0_172
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_LIB=$JAVA_HOME/lib
export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
export PATH=$JAVA_BIN:$PATH

# maven
export MAVEN_HOME=/usr/local/src/apache-maven-3.6.1
export PATH=$MAVEN_HOME/bin:$PATH

# git
export GIT_HOME=/usr/local/src/git
export PATH=$GIT_HOME/bin:$PATH


# 使配置生效
source /etc/profile
1.6 验证是否安装成功,运行以下命令返回版本号即为测试成功
# jdk
java -version

# maven
mvn -v

# git
git --version

image

1.7 修改maven的配置文件,修改阿里云的仓库地址,修改本地仓库的路径
/usr/local/src/apache-maven-3.6.1/conf

vim settings.xml
# 修改本地仓库的地址,这里为放在/usr/local/.m2/
<localRepository>/usr/local/.m2/repository</localRepository>

# mirrors标签下添加以下阿里云仓库地址等信息
<mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror> 
    
# :wq 保存即可    
1.8 修改tomcat的端口号,可以跳过此步骤,默认8080
vim apache-tomcat-7.0.94/conf/server.xml

# 修改端口,将文件中的8080修改为80即可
<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
1.9 测试tomcat,tomcat目录下的bin目录下启动startup.sh命令即可

image

1.10 关闭tomcat,将jenkins.war放入tomcat->webapps下
# 关闭tomcat(tomcat/bin目录下执行)
./shutdown.sh

# 复制war包到webapps下
cp /usr/local/src/jenkins.war /usr/local/src/apache-tomcat-7.0.94/webapps/
到此,jenkins的环境搭建成功,如果没什么问题,建议保存快照。

2 jenkins安装

2.1 启动tomcat
# tomcat/bin 目录下启动
./startup.sh
2.2 访问jenkins的页面
# 浏览器输入ip+jenkins访问即可

image

2.3 管理员密码
# 在jenkins服务器上输入以下命令即可
cat /root/.jenkins/secrets/initialAdminPassword

# 拿到密码复制到网页中
# 点击继续后,会根据网速的情况等待时间不同
2.4 选择推荐的插件,等待即可

image

2.5 等待安装插件成功

image

2.6 这里使用admin账户继续,这样,密码就是之前cat jenkins服务器上的那段长密码,里面可以修改,然后保存完成即可

image


3 jenkins配置

3.1 配置jdk,git,maven

image

3.2 安装Deploy to container 插件

image


4 tomcat应用服务器配置

这时候需要第二台服务器或者虚拟机,jenkins构建完成之后往应用服务器发布!

4.1 新服务器上传tomcat,必须要有jdk环境
4.2 解压tomcat
4.3 修改tomcat/conf目录下的tomcat-users.xml,修改如下
# 添加如下内容即可
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

# :wq保存
4.4 修改tomcat/webapps/manager/META-INF目录下的context.xml 文件
# 将之前的value标签注释,加上下面的value;
# 目的是为了让所有的IP都能访问tomcat的manager webapp界面
# 否则会报无权限403 页面

 <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
   <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
4.5 测试

5 创建用于配置的maven工程


6 Jenkins创建任务

6.1 创建新任务,任务名称,选择第一个Freestyle project(自由风格的项目),点击确认

image

6.2 配置源码管理

image

6.3 配置构建

image

6.4 配置构建后的操作(发布到tomcat服务器)

必须要有deploy to container插件 image

6.5 执行构建,第一次会很慢,耐心等待
6.6 测试

image

7 钩子程序触发构建

7.1 设置token值

image

设置一个token值,返回访问Http://JENKINS_URL/job/coding_jenkins_test/build?token=TOKEN_NAME

7.2 将请求链接添加到coding或者github,码云的WebHook中
7.3 关闭跨站请求伪造保护

image image

网站运行: