自动部署持续集成

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

2017-02-28  本文已影响3795人  皇阿玛PLUS

一、传统发布流程 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包安装方法的推荐配置:
安装准备:
安装方法:
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>
上一篇下一篇

猜你喜欢

热点阅读