老鼠大哥 發表於 2020-5-20 22:37:00

jenkins+gitee+ssh自动化部署

<h2><span style="font-family: 宋体">一、准备环境</span></h2>
<p> <span style="font-family: 宋体"> 1,配置maven(MAVEN_HOME)</span></p>
<p><span style="font-family: 宋体">  2,配置jdk(JAVA_HOME)我这里用的jdk1.8.0_121,之前碰到过一次别的版本的jdk在启动tomcat无法解析https情况,如果有这种情况建议更换jdk版本</span></p>
<p><span style="font-family: 宋体">  3,配置git(我这里用的时git)或者svn根据自己需求</span></p>
<p><span style="font-family: 宋体">  4,下载jenkins.war包(https://www.jenkins.io/zh/download/)</span>&nbsp;<img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520210325810-1244435835.png" alt=""></p>
<p>&nbsp; <span style="font-family: 宋体"> 5,配置对应的tomcat,修改tomcat配置文件conf/server.xml中加上utf-8解码。将上一步的jenkins.war包放在tomcat的webapps中启动tomcat</span></p>
<div class="cnblogs_code">
<pre>&lt;Connector port=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">8080</span><span style="color: rgba(128, 0, 0, 1)">"</span> protocol=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">HTTP/1.1</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
               connectionTimeout</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">20000</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
               redirectPort</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">8443</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="background-color: rgba(136, 136, 136, 1)"> URIEncoding=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">UTF-8</span><span style="color: rgba(128, 0, 0, 1)">"</span></span> /&gt;</pre>
</div>
<h2><span style="font-family: 宋体">二、启动并配置</span><span style="font-family: 宋体; font-size: 14px"><br></span></h2>
<h3><span style="font-family: 宋体">1,访问http://ip:8080/jenkins进入解锁界面</span></h3>
<p><span style="font-family: 宋体"><img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520212650820-1178131812.png" alt=""></span></p>
<p>&nbsp;<span style="font-family: 宋体">&nbsp;    在linux中 cat /root/.jenkins/secrets/initialAdminPassword获取密码并登陆</span></p>
<h3><span style="font-family: 宋体">2,初始化进入安装推荐插件(也可以自行安装不采用推荐的)</span></h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">#远程部署容器(tomcat部署用)
Deploy to container Plugin
#git相关插件
Git plugin
#中文支持
Locale plugin
Localization: Chinese (Simplified)
#maven支持
Maven Integration plugin
#远程部署其他服务器shell命令支持
Publish Over SSH</span></pre>
</div>
<h3><span style="font-family: 宋体; font-size: 14px">3,jenkins系统配置</span></h3>
<p><img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520214404758-1117718290.png" alt=""></p>
<h4><span style="font-family: 宋体">  a&gt;中文支持</span></h4>
<p><img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520214608062-2020642321.png" alt=""></p>
<h4>&nbsp;  <span style="font-family: 宋体">b&gt;配置Publish over SSH(远程控制的主机)可配置多个</span></h4>
<p><img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520224220263-824281091.png" alt=""></p>
<h3><span style="font-family: 宋体">4,安全配置(/jenkins/configureSecurity/)是否允许注册、是否允许登录后操作等这里就不讲了</span></h3>
<h3><span style="font-family: 宋体">5,全局工具配置</span></h3>
<p><img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520220843420-583747853.png" alt=""></p>
<h4><span style="font-family: 宋体">  a&gt;maven配置和jdk</span></h4>
<p><img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520221044551-1165911410.png" alt=""></p>
<h4><span style="font-family: 宋体">  b&gt;git和maven</span></h4>
<p><img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520221128325-902861265.png" alt=""></p>
<h2><span style="font-family: 宋体">三、构建项目</span></h2>
<p>  <strong><span style="font-family: 宋体">新建item项目</span></strong></p>
<p><span style="font-family: 宋体"><img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520221322920-1811046330.png" alt=""></span></p>
<p>&nbsp;</p>
<h4><span style="font-family: 宋体">1)配置git地址</span></h4>
<p><span style="font-family: 宋体"><img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520221839183-719029478.png" alt=""></span></p>
<h4><span style="font-family: 宋体">2)构建触发器</span></h4>
<p><span style="font-family: 宋体"><img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520222316101-1136071130.png" alt=""></span></p>
<h4><span style="font-family: 宋体">3)构建</span></h4>
<p><span style="font-family: 宋体"><img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520222659858-19823427.png" alt=""></span></p>
<h4><span style="font-family: 宋体">4)构建后操作</span></h4>
<p><span style="font-family: 宋体"><img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520223435155-971182381.png" alt=""></span></p>
<h4><span style="font-family: 宋体">5)构建后的shell脚本</span></h4>
<div class="cnblogs_code">
<pre>#!/bin/<span style="color: rgba(0, 0, 0, 1)">bash

DATE</span>=`date +%Y%m%d_%H:%<span style="color: rgba(0, 0, 0, 1)">M`
PRO_NAME</span>=<span style="color: rgba(0, 0, 0, 1)">cmkj
SOR_DIR</span>=/opt/module/<span style="color: rgba(0, 0, 0, 1)">project
FILE_TYPE</span>=<span style="color: rgba(0, 0, 0, 1)">jar
JAVA</span>=/opt/module/jdk8/bin/<span style="color: rgba(0, 0, 0, 1)">java
PID</span>=`ps -ef |grep $PRO_NAME.$FILE_TYPE |grep -v grep |awk <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">{print $2}</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">`
</span><span style="color: rgba(0, 0, 255, 1)">if</span> [ -<span style="color: rgba(0, 0, 0, 1)">z $PID ];then
    echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">===the initial service is null, and it will be started now!===</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">

    nohup $JAVA </span>-Xms64M -Xmx128M -Duser.timezone=\<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GMT+08\" -Duser.language=\"zh\" -Duser.region=\"CN\" -Dspring.profiles.active=test -jar $SOR_DIR/$PRO_NAME\.$FILE_TYPE &gt;&gt; $SOR_DIR/nohup\.out 2&gt;&amp;1 &amp;</span>
    echo <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">===service started successful!===</span><span style="color: rgba(128, 0, 0, 1)">"</span>
<span style="color: rgba(0, 0, 255, 1)">else</span>
       /bin/kill -<span style="color: rgba(128, 0, 128, 1)">9</span><span style="color: rgba(0, 0, 0, 1)"> $PID

    nohup $JAVA </span>-Xms64M -Xmx128M -Duser.timezone=\<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GMT+08\" -Duser.language=\"zh\" -Duser.region=\"CN\" -Dspring.profiles.active=test -jar $SOR_DIR/$PRO_NAME\.$FILE_TYPE &gt;&gt; $SOR_DIR/nohup\.out 2&gt;&amp;1 &amp;</span>
    echo <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">===service started successful!===</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">

echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">===service restarted successful!===</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
fi</span></pre>
</div>
<h2><span style="font-family: 宋体">四、本项目的构建流程</span></h2>
<p>&nbsp;  <img src="https://img2020.cnblogs.com/blog/1405595/202005/1405595-20200520230613564-46875989.png" alt=""></p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/bbgs-xc/p/12926808.html
頁: [1]
查看完整版本: jenkins+gitee+ssh自动化部署