大家好,我是烤鸭:

        今天分享的是    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下载。



2.    安装jenkins

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



3.    启动Jenkins:

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




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


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


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



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



以上部分内容来自:

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


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



    4.1    JDK     Git



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


    4.2    maven:


        4.3    创建项目


选择maven项目,起一个名字


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


        4.3.1    源码管理:

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

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

点击add来添加。


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

        4.3.3     构建触发器:


       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


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


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

我把打包后的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 

#都清

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

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


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐