1
0

Site updated: 2020-02-21 19:21:09

This commit is contained in:
davidz 2020-02-21 19:21:10 +08:00
parent d4bcd61c22
commit 95367d30bf
35 changed files with 93 additions and 93 deletions

View File

@ -152,10 +152,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -89,7 +89,7 @@
animation-duration: 1.2s;
background-image:
radial-gradient(ellipse closest-side, rgba(0, 0, 0, 0.65), #100e17),
url(//davidz.cn/static/blog/2020-01-11-anu-comp2310-assignment1/cover.png);">
url(//davidz.cn/static/blog/2020-01-11-anu-comp2310-assignment1/cover.png) ">
</div>
<div class="else">
<p class="animated fadeInDown">
@ -634,10 +634,10 @@ $$</p>
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -85,8 +85,8 @@
闲来无聊,在家折腾 DevOps第一步当然是部署一个 Jenkins 啦,然而一顿操作猛如虎,插件一个都下载不下来,总不能给 Jenkins 加个代理吧,所以有了下面这一通折腾。
¶原因
根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了清华源在内的四五个国内的源,均无效。
这就非常奇怪了所以我打开了清华源的updat...
根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了清华源在内的四五个镜像源,均无效。
这就非常奇怪了所以我打开了清华源的update...
</p>
</div>
</li>
@ -347,10 +347,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -85,8 +85,8 @@
闲来无聊,在家折腾 DevOps第一步当然是部署一个 Jenkins 啦,然而一顿操作猛如虎,插件一个都下载不下来,总不能给 Jenkins 加个代理吧,所以有了下面这一通折腾。
¶原因
根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了清华源在内的四五个国内的源,均无效。
这就非常奇怪了所以我打开了清华源的updat...
根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了清华源在内的四五个镜像源,均无效。
这就非常奇怪了所以我打开了清华源的update...
</p>
</div>
</li>
@ -347,10 +347,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -85,8 +85,8 @@
闲来无聊,在家折腾 DevOps第一步当然是部署一个 Jenkins 啦,然而一顿操作猛如虎,插件一个都下载不下来,总不能给 Jenkins 加个代理吧,所以有了下面这一通折腾。
¶原因
根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了清华源在内的四五个国内的源,均无效。
这就非常奇怪了所以我打开了清华源的updat...
根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了清华源在内的四五个镜像源,均无效。
这就非常奇怪了所以我打开了清华源的update...
</p>
</div>
</li>
@ -347,10 +347,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -85,8 +85,8 @@
闲来无聊,在家折腾 DevOps第一步当然是部署一个 Jenkins 啦,然而一顿操作猛如虎,插件一个都下载不下来,总不能给 Jenkins 加个代理吧,所以有了下面这一通折腾。
¶原因
根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了清华源在内的四五个国内的源,均无效。
这就非常奇怪了所以我打开了清华源的updat...
根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了清华源在内的四五个镜像源,均无效。
这就非常奇怪了所以我打开了清华源的update...
</p>
</div>
</li>
@ -347,10 +347,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -86,7 +86,7 @@
animation-duration: 1.2s;
background-image:
radial-gradient(ellipse closest-side, rgba(0, 0, 0, 0.65), #100e17),
url(//davidz.cn/static/blog/2020-01-31-beauty-is-productivity-windows-terminal/cover.jpg);">
url(//davidz.cn/static/blog/2020-01-31-beauty-is-productivity-windows-terminal/cover.jpg) ">
</div>
<div class="else">
<p class="animated fadeInDown">
@ -452,10 +452,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -170,8 +170,8 @@
<p>闲来无聊,在家折腾 DevOps第一步当然是部署一个 Jenkins 啦,然而一顿操作猛如虎,插件一个都下载不下来,总不能给 Jenkins 加个代理吧,所以有了下面这一通折腾。</p>
<p></p>
<p>根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了<a href="https://mirrors.tuna.tsinghua.edu.cn/" target="_blank" rel="noopener">清华源</a>在内的四五个国内的源,均无效。</p>
<p>这就非常奇怪了,所以我打开了清华源的<a href="https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json" target="_blank" rel="noopener">update-center.json</a>,仔细看了看,发现了蹊跷之处。原来,这个文件里面基本上所有插件的链接都指向了官网链接<code>http://updates.jenkins-ci.org/download/plugins/</code>。所以我们使用...</p>
<p>根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了<a href="https://mirrors.tuna.tsinghua.edu.cn/" target="_blank" rel="noopener">清华源</a>在内的四五个镜像源,均无效。</p>
<p>这就非常奇怪了,所以我打开了清华源的<a href="https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json" target="_blank" rel="noopener">update-center.json</a>,仔细看了看,发现了蹊跷之处。原来,这个文件里面基本上所有插件的链接都指向了官网链接<code>http://updates.jenkins-ci.org/download/plugins/</code>。所以我们使用<code>https...</code></p>
<span class="read-more"><a href="/jenkins-update-solution-inside-gfw/" title="查看全文" class="posttitle">查看全文</a>
<b class="iconfont icon-arrow-right- gradient-text"></b></span>
@ -333,10 +333,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -337,10 +337,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -285,10 +285,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -387,10 +387,10 @@ $env:SCOOP...</code></pre>
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -280,10 +280,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -152,10 +152,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -83,7 +83,7 @@
animation-duration: 1.2s;
background-image:
radial-gradient(ellipse closest-side, rgba(0, 0, 0, 0.65), #100e17),
url(//davidz.cn/static/blog/2020-01-06-hello-world/cover.jpg);">
url(//davidz.cn/static/blog/2020-01-06-hello-world/cover.jpg) ">
</div>
<div class="else">
<p class="animated fadeInDown">
@ -285,10 +285,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -170,8 +170,8 @@
<p>闲来无聊,在家折腾 DevOps第一步当然是部署一个 Jenkins 啦,然而一顿操作猛如虎,插件一个都下载不下来,总不能给 Jenkins 加个代理吧,所以有了下面这一通折腾。</p>
<p></p>
<p>根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了<a href="https://mirrors.tuna.tsinghua.edu.cn/" target="_blank" rel="noopener">清华源</a>在内的四五个国内的源,均无效。</p>
<p>这就非常奇怪了,所以我打开了清华源的<a href="https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json" target="_blank" rel="noopener">update-center.json</a>,仔细看了看,发现了蹊跷之处。原来,这个文件里面基本上所有插件的链接都指向了官网链接<code>http://updates.jenkins-ci.org/download/plugins/</code>。所以我们使用...</p>
<p>根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了<a href="https://mirrors.tuna.tsinghua.edu.cn/" target="_blank" rel="noopener">清华源</a>在内的四五个镜像源,均无效。</p>
<p>这就非常奇怪了,所以我打开了清华源的<a href="https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json" target="_blank" rel="noopener">update-center.json</a>,仔细看了看,发现了蹊跷之处。原来,这个文件里面基本上所有插件的链接都指向了官网链接<code>http://updates.jenkins-ci.org/download/plugins/</code>。所以我们使用<code>https...</code></p>
<span class="read-more"><a href="/jenkins-update-solution-inside-gfw/" title="查看全文" class="posttitle">查看全文</a>
<b class="iconfont icon-arrow-right- gradient-text"></b></span>
@ -706,10 +706,10 @@ $env:SCOOP...</code></pre>
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -84,7 +84,7 @@
animation-duration: 1.2s;
background-image:
radial-gradient(ellipse closest-side, rgba(0, 0, 0, 0.65), #100e17),
url(//davidz.cn/static/blog/2020-01-27-inspur-internship/cover.jpg);">
url(//davidz.cn/static/blog/2020-01-27-inspur-internship/cover.jpg) ">
</div>
<div class="else">
<p class="animated fadeInDown">
@ -465,10 +465,10 @@ set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib/)
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -89,7 +89,7 @@
animation-duration: 1.2s;
background-image:
radial-gradient(ellipse closest-side, rgba(0, 0, 0, 0.65), #100e17),
url(//davidz.cn/static/blog/2020-02-11-inspur-ip-guard-uninstallation/cover.svg);">
url(//davidz.cn/static/blog/2020-02-11-inspur-ip-guard-uninstallation/cover.svg) ">
</div>
<div class="else">
<p class="animated fadeInDown">
@ -393,10 +393,10 @@ C:\WINDOWS\SysWOW64\drivers
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -85,7 +85,7 @@
animation-duration: 1.2s;
background-image:
radial-gradient(ellipse closest-side, rgba(0, 0, 0, 0.65), #100e17),
url(//davidz.cn/static/blog/2020-02-21-jenkins-update-solution-inside-gfw/intro.png);">
url(//davidz.cn/static/blog/2020-02-21-jenkins-update-solution-inside-gfw/intro.png) ">
</div>
<div class="else">
<p class="animated fadeInDown">
@ -146,7 +146,7 @@
<p>闲来无聊,在家折腾 DevOps第一步当然是部署一个 Jenkins 啦,然而一顿操作猛如虎,插件一个都下载不下来,总不能给 Jenkins 加个代理吧,所以有了下面这一通折腾。</p>
<h2 id="原因"><a class="header-anchor" href="#原因"></a>原因</h2>
<p><img src="//davidz.cn/static/blog/2020-02-21-jenkins-update-solution-inside-gfw/intro.png" alt="下载超时"></p>
<p>根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了<a href="https://mirrors.tuna.tsinghua.edu.cn/" target="_blank" rel="noopener">清华源</a>在内的四五个国内的源,均无效。</p>
<p>根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了<a href="https://mirrors.tuna.tsinghua.edu.cn/" target="_blank" rel="noopener">清华源</a>在内的四五个镜像源,均无效。</p>
<p>这就非常奇怪了,所以我打开了清华源的<a href="https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json" target="_blank" rel="noopener">update-center.json</a>,仔细看了看,发现了蹊跷之处。原来,这个文件里面基本上所有插件的链接都指向了官网链接<code>http://updates.jenkins-ci.org/download/plugins/</code>。所以我们使用<code>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</code>只加速了下载这个文件的过程,而并没有加速下载插件的过程。</p>
<h2 id="解决方案"><a class="header-anchor" href="#解决方案"></a>解决方案</h2>
<p>那么解决方案就很简单了,我们只需要把<code>/var/jenkins_home/updates/default.json</code>这个文件中的所有</p>
@ -311,10 +311,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -86,7 +86,7 @@
animation-duration: 1.2s;
background-image:
radial-gradient(ellipse closest-side, rgba(0, 0, 0, 0.65), #100e17),
url(//davidz.cn/static/blog/2020-02-10-kinsing-virus/cover.jpg);">
url(//davidz.cn/static/blog/2020-02-10-kinsing-virus/cover.jpg) ">
</div>
<div class="else">
<p class="animated fadeInDown">
@ -314,10 +314,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -8,7 +8,7 @@
<link href="/jenkins-update-solution-inside-gfw/"/>
<url>/jenkins-update-solution-inside-gfw/</url>
<content type="html"><![CDATA[<h2 id="前言"><a class="header-anchor" href="#前言">¶</a>前言</h2><p>闲来无聊,在家折腾 DevOps第一步当然是部署一个 Jenkins 啦,然而一顿操作猛如虎,插件一个都下载不下来,总不能给 Jenkins 加个代理吧,所以有了下面这一通折腾。</p><h2 id="原因"><a class="header-anchor" href="#原因">¶</a>原因</h2><p><img src="//davidz.cn/static/blog/2020-02-21-jenkins-update-solution-inside-gfw/intro.png" alt="下载超时"></p><p>根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了<a href="https://mirrors.tuna.tsinghua.edu.cn/" target="_blank" rel="noopener">清华源</a>在内的四五个国内的源,均无效。</p><p>这就非常奇怪了,所以我打开了清华源的<a href="https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json" target="_blank" rel="noopener">update-center.json</a>,仔细看了看,发现了蹊跷之处。原来,这个文件里面基本上所有插件的链接都指向了官网链接<code>http://updates.jenkins-ci.org/download/plugins/</code>。所以我们使用<code>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</code>只加速了下载这个文件的过程,而并没有加速下载插件的过程。</p><h2 id="解决方案"><a class="header-anchor" href="#解决方案">¶</a>解决方案</h2><p>那么解决方案就很简单了,我们只需要把<code>/var/jenkins_home/updates/default.json</code>这个文件中的所有</p><pre><code class="language-htmlmixed">http://updates.jenkins-ci.org/download/plugins/</code></pre><p>替换成,</p><pre><code class="language-htmlmixed">https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/</code></pre><p>这样就好啦,但是总不能每次都自己手动替换吧,所以有下面这两个稍微复杂一点的自动化解决方案。</p><h3 id="方案-1-使用-nginx-重定向"><a class="header-anchor" href="#方案-1-使用-nginx-重定向">¶</a>方案 1 使用 nginx 重定向</h3><p>这个方法是参考的<a href="https://my.oschina.net/VASKS/blog/3106314" target="_blank" rel="noopener">jenkins 插件下载加速最终方案</a></p><p>具体我没有试,但是我之前写过 Nginx 的重定向,简单来讲就是遇到官方的地址,就重定向到清华源,配置起来稍微复杂一点。</p><h3 id="方案-2-自己搭建-Jenkins-Update-Center"><a class="header-anchor" href="#方案-2-自己搭建-Jenkins-Update-Center">¶</a>方案 2 自己搭建 Jenkins Update Center</h3><p>这个是我自己尝试出来的,原理就是我在服务器上定时(每小时)从清华源下载<code>update-center.json</code>,然后再把里面的 URL 替换成正确的地址,然后对外提供服务。</p><p>但是 Jenkins 对于<code>update-center.json</code>的地址有验证,<a href="https://github.com/jenkins-zh/mirror-adapter" target="_blank" rel="noopener">具体验证方法</a>不清楚(<s>我实在是懒的研究了</s>)。</p><blockquote><p>山重水复疑无路,柳暗花明又一村</p></blockquote><p>我在 Jenkins 的 Issue 里面找到一个<a href="https://issues.jenkins-ci.org/browse/JENKINS-11598?focusedCommentId=212431&amp;page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-212431" target="_blank" rel="noopener">老哥</a>说验证这个功能可以通过属性参数关闭,于是,这个问题就很简单啦。</p><pre><code class="language-shell">hudson.model.DownloadService.noSignatureCheck=true</code></pre><p>加上这个属性就好啦。</p><p><a href="https://jenkins-update.davidz.cn/" target="_blank" rel="noopener">具体教程</a></p><p>哈,插件全秒!😄</p>]]></content>
<content type="html"><![CDATA[<h2 id="前言"><a class="header-anchor" href="#前言">¶</a>前言</h2><p>闲来无聊,在家折腾 DevOps第一步当然是部署一个 Jenkins 啦,然而一顿操作猛如虎,插件一个都下载不下来,总不能给 Jenkins 加个代理吧,所以有了下面这一通折腾。</p><h2 id="原因"><a class="header-anchor" href="#原因">¶</a>原因</h2><p><img src="//davidz.cn/static/blog/2020-02-21-jenkins-update-solution-inside-gfw/intro.png" alt="下载超时"></p><p>根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了<a href="https://mirrors.tuna.tsinghua.edu.cn/" target="_blank" rel="noopener">清华源</a>在内的四五个镜像源,均无效。</p><p>这就非常奇怪了,所以我打开了清华源的<a href="https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json" target="_blank" rel="noopener">update-center.json</a>,仔细看了看,发现了蹊跷之处。原来,这个文件里面基本上所有插件的链接都指向了官网链接<code>http://updates.jenkins-ci.org/download/plugins/</code>。所以我们使用<code>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</code>只加速了下载这个文件的过程,而并没有加速下载插件的过程。</p><h2 id="解决方案"><a class="header-anchor" href="#解决方案">¶</a>解决方案</h2><p>那么解决方案就很简单了,我们只需要把<code>/var/jenkins_home/updates/default.json</code>这个文件中的所有</p><pre><code class="language-htmlmixed">http://updates.jenkins-ci.org/download/plugins/</code></pre><p>替换成,</p><pre><code class="language-htmlmixed">https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/</code></pre><p>这样就好啦,但是总不能每次都自己手动替换吧,所以有下面这两个稍微复杂一点的自动化解决方案。</p><h3 id="方案-1-使用-nginx-重定向"><a class="header-anchor" href="#方案-1-使用-nginx-重定向">¶</a>方案 1 使用 nginx 重定向</h3><p>这个方法是参考的<a href="https://my.oschina.net/VASKS/blog/3106314" target="_blank" rel="noopener">jenkins 插件下载加速最终方案</a></p><p>具体我没有试,但是我之前写过 Nginx 的重定向,简单来讲就是遇到官方的地址,就重定向到清华源,配置起来稍微复杂一点。</p><h3 id="方案-2-自己搭建-Jenkins-Update-Center"><a class="header-anchor" href="#方案-2-自己搭建-Jenkins-Update-Center">¶</a>方案 2 自己搭建 Jenkins Update Center</h3><p>这个是我自己尝试出来的,原理就是我在服务器上定时(每小时)从清华源下载<code>update-center.json</code>,然后再把里面的 URL 替换成正确的地址,然后对外提供服务。</p><p>但是 Jenkins 对于<code>update-center.json</code>的地址有验证,<a href="https://github.com/jenkins-zh/mirror-adapter" target="_blank" rel="noopener">具体验证方法</a>不清楚(<s>我实在是懒的研究了</s>)。</p><blockquote><p>山重水复疑无路,柳暗花明又一村</p></blockquote><p>我在 Jenkins 的 Issue 里面找到一个<a href="https://issues.jenkins-ci.org/browse/JENKINS-11598?focusedCommentId=212431&amp;page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-212431" target="_blank" rel="noopener">老哥</a>说验证这个功能可以通过属性参数关闭,于是,这个问题就很简单啦。</p><pre><code class="language-shell">hudson.model.DownloadService.noSignatureCheck=true</code></pre><p>加上这个属性就好啦。</p><p><a href="https://jenkins-update.davidz.cn/" target="_blank" rel="noopener">具体教程</a></p><p>哈,插件全秒!😄</p>]]></content>
<categories>

View File

@ -281,10 +281,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -281,10 +281,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -282,10 +282,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -283,10 +283,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -170,8 +170,8 @@
<p>闲来无聊,在家折腾 DevOps第一步当然是部署一个 Jenkins 啦,然而一顿操作猛如虎,插件一个都下载不下来,总不能给 Jenkins 加个代理吧,所以有了下面这一通折腾。</p>
<p></p>
<p>根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了<a href="https://mirrors.tuna.tsinghua.edu.cn/" target="_blank" rel="noopener">清华源</a>在内的四五个国内的源,均无效。</p>
<p>这就非常奇怪了,所以我打开了清华源的<a href="https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json" target="_blank" rel="noopener">update-center.json</a>,仔细看了看,发现了蹊跷之处。原来,这个文件里面基本上所有插件的链接都指向了官网链接<code>http://updates.jenkins-ci.org/download/plugins/</code>。所以我们使用...</p>
<p>根据经验,国外这些软件下载失败基本上都是因为链接不上服务器,换个源就好了。所以简单百度,找到大量相关教程,换了<a href="https://mirrors.tuna.tsinghua.edu.cn/" target="_blank" rel="noopener">清华源</a>在内的四五个镜像源,均无效。</p>
<p>这就非常奇怪了,所以我打开了清华源的<a href="https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json" target="_blank" rel="noopener">update-center.json</a>,仔细看了看,发现了蹊跷之处。原来,这个文件里面基本上所有插件的链接都指向了官网链接<code>http://updates.jenkins-ci.org/download/plugins/</code>。所以我们使用<code>https...</code></p>
<span class="read-more"><a href="/jenkins-update-solution-inside-gfw/" title="查看全文" class="posttitle">查看全文</a>
<b class="iconfont icon-arrow-right- gradient-text"></b></span>
@ -386,10 +386,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -276,10 +276,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -341,10 +341,10 @@ $env:SCOOP='path/to/scoop'
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -286,10 +286,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -283,10 +283,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -284,10 +284,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -496,10 +496,10 @@ $env:SCOOP...</code></pre>
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -153,10 +153,10 @@
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -186,10 +186,10 @@ Advanced computing international student at AUN. Programmer and Pythonista.</p>
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -86,7 +86,7 @@
animation-duration: 1.2s;
background-image:
radial-gradient(ellipse closest-side, rgba(0, 0, 0, 0.65), #100e17),
url(//davidz.cn/static/blog/2020-02-03-windows-package-manager-scoop/cover.png);">
url(//davidz.cn/static/blog/2020-02-03-windows-package-manager-scoop/cover.png) ">
</div>
<div class="else">
<p class="animated fadeInDown">
@ -471,10 +471,10 @@ scoop list
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>

View File

@ -83,7 +83,7 @@
animation-duration: 1.2s;
background-image:
radial-gradient(ellipse closest-side, rgba(0, 0, 0, 0.65), #100e17),
url(//davidz.cn/static/blog/2020-02-12-write-latex-report-with-markdown/cover.jpg);">
url(//davidz.cn/static/blog/2020-02-12-write-latex-report-with-markdown/cover.jpg) ">
</div>
<div class="else">
<p class="animated fadeInDown">
@ -385,10 +385,10 @@ subfigGrid: true
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css">
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.css">
<script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script>
<script src="//cdn.bootcss.com/gitalk/1.6.0/gitalk.min.js"></script>