浅樱十里夜色 發表於 2021-5-25 13:59:00

win10使用docker搭建jenkins实现gitee自动化部署

<h4 id="环境准备">环境准备:</h4>
<blockquote>
<ol>
<li>win10</li>
<li>docker</li>
<li>gitee</li>
<li>一台服务器</li>
</ol>
</blockquote>
<h5 id="安装jenkins配置环境">安装jenkins配置环境</h5>
<p>首先你自己的需要在电脑上搭建docker的环境,这边就不介绍docker了。</p>
<p>接下来就是搜索镜像,安装jenkins,直接看图吧</p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135751297-1958472628.png" alt="image-20210323110132481" loading="lazy"></p>
<p>安装好后启动的时候需要指定下挂载目录,方便后续的修改和查看</p>
<pre><code class="language-bash">docker run -u root -d -p 8080:8080 -p 50000:50000 -v F:\tmp\jenkins_data:/var/jenkins_home-v /var/run/docker.sock:/var/run/docker.sock --name jenkins-test jenkinsci/blueocean
</code></pre>
<p>等待一会,打开浏览器 localhost:8080就可以看到以下画面</p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135751522-1394326543.png" alt="image-20210323111450859" loading="lazy"></p>
<p>然后去我们刚刚挂载的目录下找到secrets下的初始密码:</p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135751845-1180516794.png" alt="image-20210323111551321" loading="lazy"></p>
<p>登录进去初始化一会,根据你的网络状况看是否能加载出来这个页面</p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135752108-584966793.png" alt="image-20210323111706797" loading="lazy"></p>
<p>安装推荐的插件就行,<code>要是没加载出来,就跳过等下去,手动安装插件</code>,默认安装的插件如图所示:</p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135752458-1770108050.png" alt="image-20210323111925779" loading="lazy"></p>
<p>安装完成就会让你创建一个账户,创建完成会点击重启,等待几分钟就好,登录进去就行。</p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135752704-2016720576.png" alt="image-20210323112017754" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135753048-629971805.png" alt="image-20210323112141242" loading="lazy"></p>
<h5 id="配置">配置:</h5>
<h5 id="进来就先进去系统管理-插件管理-高级">进来就先进去,系统管理-&gt;插件管理-&gt;高级</h5>
<p>将http://updates.jenkins.io/update-center.json 改为http的,记得点击下面的立即获取,等待验证一下</p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135753261-704317409.png" alt="image-20210323112412393" loading="lazy"></p>
<h5 id="gitee插件">gitee插件</h5>
<p>然后就是安装所需要的插件,这边我用的是<strong>gitee</strong>,所以需要下载gitee的,等待安装重启</p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135753484-1718580475.png" alt="image-20210323112628200" loading="lazy"></p>
<h5 id="ssh插件">ssh插件</h5>
<p><strong>安装ssh插件</strong>,需要上传到服务器运行项目</p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135753700-1269428610.png" alt="image-20210323113333145" loading="lazy"></p>
<h5 id="maven任务插件">maven任务插件</h5>
<p><strong>安装maven任务插件</strong></p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135754345-1528465116.png" alt="image-20210323115528920" loading="lazy"></p>
<h5 id="maven外部配置插件">maven外部配置插件</h5>
<p><strong>安装maven外部配置插件</strong></p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135754556-1105390052.png" alt="image-20210323113818613" loading="lazy"></p>
<h4 id="jenkins配置">jenkins配置</h4>
<h5 id="maven的配置">maven的配置</h5>
<p>刚刚maven的插件下好后,在系统管理中就多了managed files</p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135754848-538445002.png" alt="image-20210323114400773" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135755102-1959010192.png" alt="image-20210323114625830" loading="lazy"></p>
<p>点进去后,左侧选择add 选择maven settings.xml 更改自己想要的配置就行。</p>
<h5 id="全局配置">全局配置</h5>
<p>maven就选择刚刚新建的xml文件,这里的jdk,是选择的jenkins默认安装的,使用docker exec 进入jenkins的容器,使用which java</p>
<p>查看</p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135755390-1490432334.png" alt="image-20210323115157785" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135755636-941885869.png" alt="image-20210323115051821" loading="lazy"></p>
<h5 id="后续的git和maven我都是用的自动安装安装完成重启jenkins">后续的git和maven我都是用的自动安装,安装完成重启jenkins</h5>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135755815-2019784295.png" alt="image-20210323115246088" loading="lazy"></p>
<p><code>但是git的自动安装完成也要配置一次,进入jenkins容器 which git</code></p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135756613-1198356092.png" alt="image-20210323145610802" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135756834-1576310634.png" alt="image-20210323145627159" loading="lazy"></p>
<h5 id="在全局设置中需要添加一个gitee的令牌">在全局设置中,需要添加一个gitee的令牌<img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135756999-1105182549.png" alt="image-20210323135722713" loading="lazy"></h5>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135757426-1956262044.png" alt="image-20210323134025140" loading="lazy"></p>
<h5 id="ssh上传到服务器配置-在全局配置里面的选项">ssh上传到服务器配置 ,在全局配置里面的选项</h5>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135757650-1844344904.png" alt="image-20210323141012656" loading="lazy"></p>
<h4 id="新增maven任务">新增maven任务</h4>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135757893-487211796.png" alt="image-20210323120033469" loading="lazy"></p>
<h5 id="选择刚刚配置的gitee地址配置项目地址和登录gitee的账号密码">选择刚刚配置的gitee地址,配置项目地址和登录gitee的账号密码</h5>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135758174-1831873766.png" alt="image-20210323135940187" loading="lazy"></p>
<h5 id="选择构建触发器">选择构建触发器</h5>
<p>注意下面的gitee webhook填写的是localhost 但是我这边用了花生壳做了映射,所以我在gitee中的配置是外网的</p>
<p>花生壳的映射</p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135759263-476662734.png" alt="image-20210323141722324" loading="lazy"></p>
<h5 id="构建触发器的配置">构建触发器的配置</h5>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135759610-1322173490.png" alt="image-20210323140046691" loading="lazy"></p>
<h5 id="仓库的webhook配置">仓库的webhook配置</h5>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135800000-469354712.png" alt="image-20210323140213226" loading="lazy"></p>
<h5 id="执行构建">执行构建</h5>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135800417-1412504388.png" alt="image-20210323145249767" loading="lazy"></p>
<h5 id="构建后上传到服务器-执行停止和启动脚本">构建后上传到服务器 执行停止和启动脚本</h5>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135800685-559782825.png" alt="image-20210323145303152" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135801820-877318396.png" alt="image-20210323145343636" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/2379547/202105/2379547-20210525135803220-1803254806.png" alt="image-20210323145404837" loading="lazy"></p>
<p><code>脚本注意</code></p>
<p>start.sh 一定要加这个 不然你的脚本可能不会被执行,后台也会被杀掉</p>
<p>source /etc/profile<br>
BUILD_ID=dontKillMe</p>
<pre><code class="language-sh">source /etc/profile
#!/bin/bash
export JAVA_HOME=/home/tools/jdk1.8.0_251
echo ${JAVA_HOME}
echo 'Start the program : mall-0.0.1-SNAPSHOT.war'
chmod 777 /root/tmp/mall-0.0.1-SNAPSHOT.war
echo '-------Starting-------'
cd /root/tmp/
source /etc/profile
BUILD_ID=dontKillMe
nohup /home/tools/jdk1.8.0_251/bin/java -Dhudson.util.ProcessTree.disable=true -jar mall-0.0.1-SNAPSHOT.war &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;gt;&amp;gt; test.log &amp;amp;
sleep 2
pid=`ps -ef |grep java|grep mall-0.0.1-SNAPSHOT.war|awk '{print $2}'`
echo 'pid: ' $pid
echo 'start success'
</code></pre>
<p>stop.sh</p>
<pre><code class="language-sh">source /etc/profile
#!/bin/bash

echo "Stop Procedure : mall-0.0.1-SNAPSHOT.war"
pid=`ps -ef |grep java|grep mall-0.0.1-SNAPSHOT.war|awk '{print $2}'`
echo 'old Procedure pid:'$pid
if [ -n "$pid" ]
then
kill -9 $pid
fi
</code></pre>


</div>
<div id="MySignature" role="contentinfo">
    Stay hungry,Stay foolish<br><br>
来源:https://www.cnblogs.com/wutangcc/p/14808494.html
頁: [1]
查看完整版本: win10使用docker搭建jenkins实现gitee自动化部署