大家好,我是烤鸭:

        今天分享的是    linux部署jenkins,tomcat9

安装环境:

    linux centos7.2

    tomcat 9.1

    Jenkins 2.73

    JDK 1.8

    maven 3.5

    git 2.9


1.    下载jenkins:

        https://jenkins.io/download/              我选择的war下载。

Linux jenkins配置文件在哪_部署


2.    安装jenkins

服务器上部署一个tomcat,把war包扔到tomcat的webapps下面,完活。访问的别忘记加项目名称(/jenkins)

Linux jenkins配置文件在哪_部署_02


3.    启动Jenkins:

首次进入,首先要输入一个密钥来进入Jenkins,密钥可以在 /var/lib/jenkins/secrets/initialAdminPassword 获取


Linux jenkins配置文件在哪_Linux jenkins配置文件在哪_03


选择相应的选项来安装插件,选择系统推荐即可

Linux jenkins配置文件在哪_Linux jenkins配置文件在哪_04

会有失败的情况,我搜了下,说不影响,很多由于从国外的网站下,失败很正常,直接进行下一步,后面也可以再安装

Linux jenkins配置文件在哪_Linux jenkins配置文件在哪_05

接下来可以为Jenkins设置一个管理员帐户,以后就可以用它登录到Jenkins了

Linux jenkins配置文件在哪_linux_06


Jenkins安装向导成功完成后,就可以看到这个页面啦

Linux jenkins配置文件在哪_jenkins_07


以上部分内容来自:

    http://www.jianshu.com/p/1a7f46896c40


4.    配置系统插件(jdk,maven,svn或git)


Linux jenkins配置文件在哪_部署_08


    4.1    JDK     Git

Linux jenkins配置文件在哪_tomcat9_09


选择自己对应的安装路径即可:

Linux jenkins配置文件在哪_jenkins_10

    4.2    maven:

Linux jenkins配置文件在哪_tomcat9_11

        4.3    创建项目

Linux jenkins配置文件在哪_linux_12

选择maven项目,起一个名字

Linux jenkins配置文件在哪_jenkins_13

项目配置:(我这里是有版本,带构建天数的,可以不一样的。)

Linux jenkins配置文件在哪_部署_14

        4.3.1    源码管理:

我这里用的git,svn是一样的,填写项目地址,我用的是码云的仓库。

这里报错是没有配置正确的用户名和密码。

点击add来添加。

Linux jenkins配置文件在哪_Linux jenkins配置文件在哪_15

        4.3.2    添加git(我这里是码云)的用户名,密码

Linux jenkins配置文件在哪_部署_16

        4.3.3     构建触发器:

Linux jenkins配置文件在哪_jenkins_17

       4.4.4    post steps选择:

Invoke top-level Maven targets:

选择已安装的maven,和填写需要执行的命令。

clean install -Dmaven.test.skip=true

然后选择:    Execute shell

填写shell脚本:

#进入项目路径
cd /usr/my/tomcat/source/appfilm
#清空项目目录
rm -rf ./*
#拷贝并删除jenkins生成的war包(默认在/root/.jenkins/workspace/项目名称/target/war包名称)
cp -rf /root/.jenkins/workspace/app_film/target/appfilm.war ./
#杀掉这个项目的tomcat进程
kill -9 `ps aux | grep tomcat_appfilm | grep -v grep | awk '{print $2}'`
#解压war包
unzip -o appfilm.war
#这一句是为了防止报错,有时候Jenkins会发脾气,集成失败。
export BUILD_ID=doNotKillme
#启动tomcat
sh /usr/my/tomcat/tomcat_appfilm/bin/startup.sh

Linux jenkins配置文件在哪_部署_18

晴天比较好,阴天和雨天就表示最近失败了。

Linux jenkins配置文件在哪_Linux jenkins配置文件在哪_19

写的比较长,图片也比较多,按照这样来的话,应该没问题的。

我把打包后的war放到这个目录,你也可以放到webapp下,这样就不需要清空目录,只删除指定的文件就可以了。



/usr/my/tomcat/source

关于更改tomcat加载源码的目录,只要修改tomcat/conf/server.xml

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
		<Context path="/"  docBase="/opt/source/xxx" debug="0"   allowLinking="true" reloadable ="false" crossContext="true" />
        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

      </Host>

docBase    就是你源码的目录,把war包放到这个目录再unzip就可以了。


5.    异常

另外说一下最近遇到的错误:


Build step 'Invoke top-level Maven targets' marked build as failure ERROR: Maven JVM terminated unexpectedly with exit code 137



看了配置,并没有问题。百度了一下,说是服务器内存不够了。

free -h

#查看剩余内存,只剩100多M了,肯定不够用了。。。

echo 1 > /proc/sys/vm/drop_caches

#清理网页缓存

echo 2 > /proc/sys/vm/drop_caches

#清理应用缓存

echo 3 > /proc/sys/vm/drop_caches

#都清

没有太好的办法,目前就是每次集成之前清理内存....

如果有什么好的办法,记得告诉我。。。谢谢