Jenkins安装+配置Git +Maven的自动化构建(上)

背景

jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的”自动化”编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。

jenkins官网地址为https://jenkins.io/,jenkins本身是用java语言开发的,所以安装jenkins的机器至少要有jdk,另外建议git、ant、maven、gradle、groovy等工具也一并安装好,方便与这些构建工具集成。

安装jenkins前准备

说明

因为使用到git和maven进行项目的自动化构建,所以1.安装jdk(建议下载jdk1.8);2.安装git;3.安装maven;4安装tomcat。着重介绍下安装jdk,maven和git不介绍了,网上搜一大堆,写着累啊。。。

安装jdk1.8

1.切换到所需的安装目录。键入:
cd /usr/java/
2.将 .tar.gz 档案二进制文件移到当前目录。
3.解压缩 tarball 并安装 Java
tar zxvf jre-8u144-linux-x64.tar.gz
Java 文件将安装在当前目录中名为 jre1.8.0_144 的目录内。在本示例中,Java 将安装在 /usr/java/jre1.8.0_144 目录中。当安装完成时,您将看到 Done(完成)字样。
4.如果要节省磁盘空间,请删除 .tar.gz 文件。*

配置jdk

编辑profile文件,配置环境变量

vi  /etc/profile

下面配置内容放在文件内容最上方即可

export JAVA_HOME=/usr/java/jre1.8.0_144
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

接着使用source命令应用修改

source /etc/profile

最后校验安装是否正确

[root@root ~]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

git安装

安装说明:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git

maven安装

安装说明:https://maven.apache.org/install.html

安装和启动

方式1:

这是官网介绍的方式,直接从 http://mirrors.jenkins.io/war/latest/jenkins.war 最新war包,终端进入war包目录,执行

 java -jar jenkins.war --httpPort=8080

再在浏览器打开地址 http://localhost:8080.根据介绍进行安装。

方式2:

下载war包,然后直接丢在tomcat的webapps,然后启动tomcat 就完成Jenkins 的安装了。这种是我感觉最方便的方式。

安装过程中遇到的问题

原先安装的jdk是1.7的,由于版本原因不能加载class jenkins.util.SystemProperties 导致报错

九月 26, 2017 6:33:44 下午 org.apache.catalina.core.StandardContext listenerStart
严重: Error configuring application listener of class jenkins.util.SystemProperties
java.lang.UnsupportedClassVersionError: jenkins/util/SystemProperties : Unsupported major.minor version 52.0 (unable to load class jenkins.util.SystemProperties)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:3200)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:1373)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1861)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:504)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:486)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:113)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5034)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5634)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1092)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1984)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)    

参考:徐刘根的专栏 | 菩提树下的杨过.Net

你可能感兴趣的:(jenkins)