jenkins教程-基于maven+Git+jdk的简单搭建
对于jenkins我已经“垂涎”一年多了,之所以没有认真地玩一遍,也是因为没有工作的动力驱动。正好,最近团队在搭建敏捷工具,自然而然就由我来研究一波啦。
1 下载软件
访问官网https://jenkins.io/download/
选择 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
选择 系统管理=>全局工具配置
2.2.1 配置git
git安装路径如下:
whereis git
git: /usr/local/bin/git /usr/local/git
这里需要注意:配置git的路径,应该在git安装路径后面再加/git,参考windows配置git时使用git.exe结尾:
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"
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)
3 安装插件
系统管理=>插件管理
筛选插件,直接安装即可
3.1 maven插件,可用于构建maven风格的项目
3.2 git插件,用于git远程连接代码库并拉取代码
3.3 SSH插件,可用于上传代码至远程服务器
这里说明一下SSH插件的配置
系统管理=>系统配置
按要求配置即可。
4 构建项目
4.1 构建一个maven风格的项目
4.2 配置工程信息
点击名称,进入构建工程,点击配置
4.2.1 general
4.2.2 源码管理
注意:此处配置repository URL时,如果报错请检查本文2.2.1处配置git是否正确,或者linux端git是否没有正常安装成功 。不报错即可放心进行下一步的配置。
4.2.3 构建触发器
4.2.4 Pre Steps
4.2.5 Post Steps
最后一个是配置执行脚本,这样就能实现在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可用的内存不足,可以在 系统管理=>系统配置
配置如下参数:
顺便在此配置git的用户名和密码
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进程