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

一、传统发布流程 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

《CentOS部署Jenkins-WAR包(方法1)》 1.png

查看初始密码位置:

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

c1b6a0048f714df99b6bc44bf7f49ebc
</pre></code>

《CentOS部署Jenkins-WAR包(方法1)》 2.png
《CentOS部署Jenkins-WAR包(方法1)》 3.png
《CentOS部署Jenkins-WAR包(方法1)》 4.png
《CentOS部署Jenkins-WAR包(方法1)》 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>
    原文作者:皇阿玛PLUS
    原文地址: https://www.jianshu.com/p/546b54b4aa6b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞