美文网首页自动部署持续集成
CentOS部署Jenkins-WAR包(方法1)

CentOS部署Jenkins-WAR包(方法1)

作者: 皇阿玛PLUS | 来源:发表于2017-02-28 19:37 被阅读3795次

    一、传统发布流程 VS 持续集成

    传统的发布流程:
    1. 本地把项目打包
    2. 通过FTP等工具,传输到服务器
    3. 关闭tomcat,把打包的项目放到webapp目录下
    4. 启动tomcat
    缺点:
    1. 速度慢
    2. 容易出错
    有了jenkins以后的发布流程:
    1. 用户在jenkins上点击某个按钮进行发布
    2. jenkins收到发布命令
    3. jenkins从SVN上把源代码download下来
    4. jenkins根据你设置的mvn命令进行打包
    5. jenkins把你打包的好的war工程传输到tomcat的webapps目录下
    6. tomcat启动
    对于程序员而言,只要做两件事:
    1. 在jenkins上配置某个项目的部署流程
    2. 在jenkins上点击某个项目的部署按钮,进行一键部署

    对于想要快速部署Jenkins,那么推荐采用下面的这种 “WAR包” 的方式进行安装,如果需要更好的把控Jenkins,想要自己进行更加细致的配置,那么建议采用 “YUM安装” 的方式(安装方法见我的文章 “ CentOS部署Jenkins-YUM安装(方法2) ” )。

    二、部署方法

    WAR包安装方法的推荐配置:
    • 至少是Java 7,但建议使用Java 8
    • 内存大于512MB
    安装准备:
    • 安装JDK、Tomcat
    • 配置好tomcat的虚拟目录,端口可以被正常访问
    安装方法:
    1.网站根目录创建jenkins的webroot目录

    <pre><code>
    [root@iZbp ~]# cd /data/wwwroot/

    [root@iZbp wwwroot]# mkdir jenkins
    </pre></code>

    2.下载jenkins的war包

    <pre><code>
    [root@iZbp wwwroot]# wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
    </pre></code>

    3.重启tomcat服务

    <pre><code>
    [root@iZbp wwwroot]# service tomcat restart
    </pre></code>

    4.防火墙添加规则,允许9009端口的访问通过

    <pre><code>
    [root@iZbp wwwroot]# iptables -A INPUT -p tcp --dport 9009 -j ACCEPT

    [root@iZbp wwwroot]# service iptables save

    [root@iZbp wwwroot]# service iptables restart
    </pre></code>

    三、浏览器访问,并初始化配置

    1.打开浏览器,访问http://x.x.x.x:9009,开始配置jenkins
    1.png
    查看初始密码位置:

    <pre><code>
    [root@iZbp wwwroot]# cat /var/lib/jenkins/secrets/initialAdminPassword

    c1b6a0048f714df99b6bc44bf7f49ebc
    </pre></code>

    2.png 3.png 4.png 5.png

    参考链接:
    官方指引:https://jenkins.io/doc/


    tomcat的server.xml推荐配置:
      <!--jenkins.xxx.com-->
      <Service name="Catalina4">   
           <Connector port="9009"
              protocol="org.apache.coyote.http11.Http11AprProtocol"
              connectionTimeout="20000"
              redirectPort="8443"
              maxThreads="1000"
              minSpareThreads="20"
              acceptCount="1000"
              maxHttpHeaderSize="65536"
              debug="0"
              disableUploadTimeout="true"
              useBodyEncodingForURI="true"
              enableLookups="false"
              URIEncoding="UTF-8" />
        <Engine name="Catalina" defaultHost="localhost">
           <Realm className="org.apache.catalina.realm.LockOutRealm">
           <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                     resourceName="UserDatabase"/></Realm>
    
            <!--&vhost-jenkins.xxx.com;-->
            <Host name="localhost" appBase="/data/wwwroot/jenkins" unpackWARs="true" autoDeploy="true">
               <Context path="" docBase="/data/wwwroot/jenkins/jenkins" debug="0" reloadable="true" crossContext="true"/>
               <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
         prefix="jenkins.ddxstore.com_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
              <Environment name="JENKINS_HOME" value="/data/wwwroot/jenkins/jenkins" type="java.lang.String"/>
          </Host>
        </Engine>
      </Service>
    

    相关文章

      网友评论

        本文标题:CentOS部署Jenkins-WAR包(方法1)

        本文链接:https://www.haomeiwen.com/subject/vbqfgttx.html