jenkins教程-基于maven+Git+jdk的简单搭建

对于jenkins我已经“垂涎”一年多了,之所以没有认真地玩一遍,也是因为没有工作的动力驱动。正好,最近团队在搭建敏捷工具,自然而然就由我来研究一波啦。

1 下载软件

访问官网https://jenkins.io/download/

jenkins教程-基于maven+Git+jdk的简单搭建

选择 Long-term Support (LTS)的版本,可选择下载war包直接部署在tomcat,也可以选择linux具体版本,这样在linux端可直接service jenkins start进行开启。

安装完成后,访问localhost:9000,即可看到jenkins界面,初始化密码和安装默认插件的步骤,网上有很多优秀的介绍,此处省略。

2 配置环境

linux服务器的版本是CentOS release 6.9 (Final)

2.1 Git的安装

一开始我是直接使用了yum git install,默认安装的git版本过低

结果在配置git页面出现了以下的提示

error: The requested URL returned error: 401 Unauthorized while accessing https://git.oschina.net/zemo/demo.git/info/refs 
fatal: HTTP request failed

这里借鉴了一位博主的文章对git进行升级,感谢大神

https://blog.****.net/z_dianjun/article/details/50819908

升级后的git版本:

git --version
git version 2.2.1

2.2 配置git,jdk,maven

选择 系统管理=>全局工具配置

jenkins教程-基于maven+Git+jdk的简单搭建

jenkins教程-基于maven+Git+jdk的简单搭建

 

2.2.1 配置git

git安装路径如下:

whereis git
git: /usr/local/bin/git /usr/local/git

jenkins教程-基于maven+Git+jdk的简单搭建

 这里需要注意:配置git的路径,应该在git安装路径后面再加/git,参考windows配置git时使用git.exe结尾:

jenkins教程-基于maven+Git+jdk的简单搭建

2.2.2 maven配置

maven安装环境:

mvn --version
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-25T03:49:05+08:00)
Maven home: /usr/local/apache-maven-3.5.3
Java version: 1.8.0_112, vendor: Oracle Corporation
Java home: /usr/local/jdk1.8.0_112/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-696.13.2.el6.x86_64", arch: "amd64", family: "unix"

jenkins教程-基于maven+Git+jdk的简单搭建

2.2.3 jdk配置

配置的路径是jdk安装的环境变量的路径

java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)

jenkins教程-基于maven+Git+jdk的简单搭建

3 安装插件

系统管理=>插件管理

jenkins教程-基于maven+Git+jdk的简单搭建

筛选插件,直接安装即可

3.1 maven插件,可用于构建maven风格的项目

jenkins教程-基于maven+Git+jdk的简单搭建

3.2 git插件,用于git远程连接代码库并拉取代码

jenkins教程-基于maven+Git+jdk的简单搭建

3.3 SSH插件,可用于上传代码至远程服务器

jenkins教程-基于maven+Git+jdk的简单搭建

这里说明一下SSH插件的配置

系统管理=>系统配置

jenkins教程-基于maven+Git+jdk的简单搭建

按要求配置即可。 

4 构建项目

4.1 构建一个maven风格的项目

jenkins教程-基于maven+Git+jdk的简单搭建

4.2 配置工程信息

jenkins教程-基于maven+Git+jdk的简单搭建

点击名称,进入构建工程,点击配置

jenkins教程-基于maven+Git+jdk的简单搭建

4.2.1 general

jenkins教程-基于maven+Git+jdk的简单搭建

4.2.2 源码管理

jenkins教程-基于maven+Git+jdk的简单搭建

注意:此处配置repository URL时,如果报错请检查本文2.2.1处配置git是否正确,或者linux端git是否没有正常安装成功 。不报错即可放心进行下一步的配置。

4.2.3 构建触发器

jenkins教程-基于maven+Git+jdk的简单搭建

 4.2.4 Pre Steps

jenkins教程-基于maven+Git+jdk的简单搭建

 4.2.5 Post Steps

jenkins教程-基于maven+Git+jdk的简单搭建

最后一个是配置执行脚本,这样就能实现在maven构建war包后,执行脚本文件,进行部署并重启

这里只是简单的脚本,借鉴了别的大神,相信所有人都看得懂

#!/bin/sh
#defined 
TOMCAT_HOME="/usr/java/tomcat/apache-tomcat-7.0.67/"
ID=`ps -ef | grep java | grep apache-tomcat-7.0.67|awk '{print $2}'`
echo $ID 
echo "kill tomcat"
kill -9 $ID
echo "remover war file"
cd "$TOMCAT_HOME"/webapps
rm -rf JavaWeb-0.0.1-SNAPSHOT
rm -rf JavaWeb-0.0.1-SNAPSHOT.war
echo "copy war to webapp"
cd /home/lin
cp JavaWeb-0.0.1-SNAPSHOT.war "$TOMCAT_HOME"/webapps
cd "$TOMCAT_HOME"/bin
echo "start tomcat"
./startup.sh

 

5 注意事项

5.1 配置maven时注意事项

进行自动化maven打包时可能会出现如下错误:

ERROR: Maven JVM terminated unexpectedly with exit code 137

说明maven可用的内存不足,可以在 系统管理=>系统配置

配置如下参数:

jenkins教程-基于maven+Git+jdk的简单搭建

 顺便在此配置git的用户名和密码

jenkins教程-基于maven+Git+jdk的简单搭建

5.2 maven默认的仓库可改成阿里云的仓库

在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>

5.3 maven打包可能出现的错误

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000080000000, 1431830528, 0) failed; error='Cannot allocate memory' (errno=12)

这个时候可能是系统可用内存不足导致的,后续可考虑在4.2.4步骤,即构建之前就杀死原先的tomcat进程