提交 8ca7902a 编写于 作者: L LinuxSuRen

Automated deployment to GitHub Pages on 1589332741

上级 fc378285
......@@ -1846,27 +1846,27 @@ RU5ErkJggg==" />
<a href="/event/beijing-2019-08-24/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/kaiyuan.jpg"></img>
</a>
<a href="/event/beijing-2019-07-27/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<a href="/event/beijing-2019-06-22/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/ci-cd.jpeg"></img>
</a>
<a href="/event/beijing-2019-06-22/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<a href="/event/beijing-2019-07-27/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/ci-cd.jpeg"></img>
</a>
<a href="/event/beijing-2019-08-24/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/kaiyuan.jpg"></img>
</a>
......
......@@ -25,6 +25,19 @@
"original": "",
"poster": ""
},
{
"uri": "https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/",
"title": "使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能",
"type": "wechat",
"date": "2020-05-13 00:00:00 +0000 UTC",
"tags": ["Nexus OSS", "Docker"],
"description": "通过具体操作步骤讲解了如何使用 Nexus OSS 作为中间仓库获取互联网上的 Docker 镜像",
"content": " 在企业环境中工作,无论是商业组织还是非商业组织,你会发现在互联网上获取信息存在着种种限制。\n通常,服务器会运行在一个控制非常严格的环境中并且不能从互联网中获取资源以确保获取的所有资源都是安全的。\n当你要使用一些公开的可获取的 Docker 容器时这会变得更麻烦,你会用到“古法”偷偷摸摸的把 Docker 镜像放到你的主机上。\n对我而言,事情甚至更加困难。我需要一个通过第三方访问的(受限的)私有仓库。所以现在我该怎么办呢?\n幸运的是,目前市面上有好几个可以作为代理或者‘拉入式缓存’的 Docker Registries,这正是我们所需要的。用来作为代理或者缓存的主机需要互联网的权限,而且只有这一台机器需要。其他所有需要获取 Docker 镜像的主机通过这台机器访问互联网,该机器同样很方便的缓存了数据这样只需要检索一次就可以更快的分发到内部局域网的主机上。\n诸如 Sonatype Nexus、JFrog Artifactory、甚至 Docker Registry 都提供这些确切的功能,以及一些功能。这里我将会使用 Sonatype Nexus 完成所有的设置,主要的功能在 OSS 版本中可以使用(Artifactory 功能则是 Pro 版本的一部分功能)。\n这篇文章将会向你展示怎样配置 Nexus OSS 来实现类似 Docker Hub ,私有仓库或者两者的结合那样的拉入式缓存功能。同样会向你展示怎样配置 Docker 客户端从而在检索镜像的时候能够使用到你的缓存。\n需要的软件 Sonatype Nexus OSS 3.15.0(或更高版本)\n Docker 17.09(或更高版本)\n 我设置了两个基于 Ubuntu LTS 版本的虚拟机,一个运行了 Sonatype Nexus 3.14.0 的 Docker 容器(这个机器称作 docker-host),另一个只运行 Docker(称作 docker-client)。\n请注意一些网络配置或许跟你的配置不一样(例如 IP)但是方法是相同的。同样,请注意那台运行 Nexus OSS 的机器(docker-host)需要有访问互联网的权限。\n[更新,2018年10月] 请使用 Nexus 3.15 或者更高版本因为从 3.14 到 3.15 中间修复了多个 CVE 的漏洞问题。\n配置 Nexus OSS 我们在 Nexus 中至少配置 3 样东西,给仓库命名,以及一些安全配置。请记住在公司中不要按照这些方法来做,因为可能会考虑到一些性能问题,比如修改 Blobstore 配置。\n为 Docker Hub 添加 Docker Proxy Repository 使用有管理员权限的账号登录到你的 Nexus 实例,转到 Admin 页面。点击 Repository -\u0026gt; Repositories,然后点击 ‘Create repository’。\n选择‘docker(proxy)’然后开始配置。\n你需要为这个 Proxy 添加一个唯一的名字,确保它是 ‘Oneline’ 状态。\n为了避免我们在危险的边缘试探,我们不会为这个 Repository 提供 V1 API(勾掉 ‘Enable Docker V1 API’ 选项),但我们是允许匿名访问的权限的。\n这非常重要,所以再次强调下:\n勾掉 ‘Force Basic Authentication’。\n这会允许我们的 Docker Clients 在不需要提供凭据的前提下访问我们的 Repository。这是最简单的方法了!\n在 ‘Proxy’ 下面输入如下信息:\nRemote storage: https://registry-1.docker.io/\nDocker Index: Use Docker Hub\n所有的配置信息如下所示。\n为 Private Repository 添加 Docker Proxy Repository(可选) 该部分是可选环节,这要取决于在 Docker Cloud 中怎样访问你的私有仓库。\n仍旧是创建一个唯一的名字,设置为 ‘oneline’,禁止 V1 API,允许匿名访问,在 ‘Proxy’ 下面输入如下信息:\nRemote storage: https://registry-1.docker.io\nDocker Index: Use proxy registry\n不同的地方是在页面底部的 Authentication-部分,你需要在该位置输入可以访问 Docker Cloud 私有仓库的用户名跟密码。\n所有配置如下所示。\n为 Docker Repository 添加 Group 组可以为多个仓库提供一个单独的权限。这是 Docker 所不具备的功能,当 Docker Client 尝试访问 Docker Hub 时,这是唯一访问的入口。\n当我们不想让它只包括 Docker Hub 还想包括其他我们想要的仓库(例如 私有的 Docker Cloud 仓库、我们内部局域网托管的 Docker 仓库,等等)时,所有检索到的 Docker 镜像都可以通过 Nexus 传输,不需要 Client 知道去哪里查看哪个镜像。\nRepository Group 仅仅是一个 Repositories 的集合,但是我们需要 Docker Client 能够与它通信。\n添加一个唯一的名字,设置为 ‘oneline’,禁用 V1 API,允许匿名访问权限。\n我们需要配置一个 Repository Connector,它为 Repository Group 存储的内容提供了可访问的端口。我选择使用 8181(Nexus 默认端口为8081)并且只配置 HTTP 因为我真的太懒了不想配置 HTTPS 的了。:)\n你需要选择 Docker Repository(一个托管的仓库或者一个代理亦或为另一个组)作为这个 Group 需要的 Members,然后保存配置。\n所有的配置如下所示。\n配置安全设置 为了确保匿名权限可以正常访问我们的仓库,我们需要在 Nexus 中添加‘Docker Bearer Token Realm’ 到 Active Realms 中。\n切换到 Administrator -\u0026gt; Scurity -\u0026gt; Realms 然后选择 ‘Available’ Realms 列表中的 Realm。点击右侧的箭头按钮然后保存。\n齐活儿!\n配置 Docker Client 现在我们的 Nexus 实例已经成功配置了,需要确保我们的 Docker Client 可以从这个地方获取所有的 Docker 镜像,而非互联网。\n这需要我们配置 Docker Client Daemon,能让它们将 Nexus 作为镜像源。还有,因为它使用的是 HTTP 而非 HTTPS 我们需要 Docker 能够理解该协议是可以的并且可以通过 Nexus 查看镜像。\n使用 root 用户,创建或者是编辑下面的文件: /etc/docker/daemon.json\n{ \u0026quot;insecure-registries\u0026quot;: [\u0026quot;10.0.2.2:8181\u0026quot;], \u0026quot;registry-mirrors\u0026quot;: [\u0026quot;http://10.0.2.2:8181\u0026quot;] } 需要注意的是,这会跟你配置的有较大差别,因为我运行的虚拟机。这个 IP 是我主机上 VM1 出来映射用来解决 VM2 上的问题的 IP。\n如果需要的话,你可以安全的将你的 主机名或者 IP 替换为 10.0.2.2。请做全量替换。\n文件保存后,Docker 需要重启。如果成功: docker info 命令信息会如下图所示:\nInsecure Registries: 10.0.2.2:8181 127.0.0.0/8 Registry Mirrors: http://10.0.2.2:8181/ 大功告成! 现在你可以在 Docker Client 不需要访问互联网的前提下从 Nexus 获取 Docker 镜像了。\ndocker pull mysql 它会在 Nexus 的 Docker Group Repository 中显示出来,你会看到缓存的 blobs,标签和清单。\n",
"auhtor": "Maarten Tijhof",
"translator": "0N0thing",
"original": "https://mtijhof.wordpress.com/2018/07/23/using-nexus-oss-as-a-proxy-cache-for-docker-images/",
"poster": "cover.jpg"
},
{
"uri": "https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-12-how-to-backup-and-restore-jenkins/",
"title": "手把手教会你 Jenkins 备份与恢复",
......@@ -3006,7 +3019,7 @@
"uri": "https://jenkins-zh.cn/tags/docker/",
"title": "Docker",
"type": "tags",
"date": "2020-04-29 00:00:00 +0000 UTC",
"date": "2020-05-13 00:00:00 +0000 UTC",
"tags": [],
"description": "",
"content": "",
......@@ -3743,6 +3756,19 @@
"original": "",
"poster": ""
},
{
"uri": "https://jenkins-zh.cn/tags/nexus-oss/",
"title": "Nexus Oss",
"type": "tags",
"date": "2020-05-13 00:00:00 +0000 UTC",
"tags": [],
"description": "",
"content": "",
"auhtor": "",
"translator": "",
"original": "",
"poster": ""
},
{
"uri": "https://jenkins-zh.cn/tags/nginx/",
"title": "Nginx",
......@@ -4371,7 +4397,7 @@
"uri": "https://jenkins-zh.cn/wechat/",
"title": "Wechats",
"type": "wechat",
"date": "2020-05-12 00:00:00 +0000 UTC",
"date": "2020-05-13 00:00:00 +0000 UTC",
"tags": [],
"description": "",
"content": "",
......@@ -36,6 +36,26 @@
GitHub 请您使用同一个 GitHub 账号来与大家交流,不欢迎使用所谓的“小号”。</description>
</item>
<item>
<title>使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能</title>
<link>https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/</link>
<pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/</guid>
<description>在企业环境中工作,无论是商业组织还是非商业组织,你会发现在互联网上获取信息存在着种种限制。
通常,服务器会运行在一个控制非常严格的环境中并且不能从互联网中获取资源以确保获取的所有资源都是安全的。
当你要使用一些公开的可获取的 Docker 容器时这会变得更麻烦,你会用到“古法”偷偷摸摸的把 Docker 镜像放到你的主机上。
对我而言,事情甚至更加困难。我需要一个通过第三方访问的(受限的)私有仓库。所以现在我该怎么办呢?
幸运的是,目前市面上有好几个可以作为代理或者‘拉入式缓存’的 Docker Registries,这正是我们所需要的。用来作为代理或者缓存的主机需要互联网的权限,而且只有这一台机器需要。其他所有需要获取 Docker 镜像的主机通过这台机器访问互联网,该机器同样很方便的缓存了数据这样只需要检索一次就可以更快的分发到内部局域网的主机上。
诸如 Sonatype Nexus、JFrog Artifactory、甚至 Docker Registry 都提供这些确切的功能,以及一些功能。这里我将会使用 Sonatype Nexus 完成所有的设置,主要的功能在 OSS 版本中可以使用(Artifactory 功能则是 Pro 版本的一部分功能)。
这篇文章将会向你展示怎样配置 Nexus OSS 来实现类似 Docker Hub ,私有仓库或者两者的结合那样的拉入式缓存功能。同样会向你展示怎样配置 Docker 客户端从而在检索镜像的时候能够使用到你的缓存。
需要的软件 Sonatype Nexus OSS 3.15.0(或更高版本)
Docker 17.09(或更高版本)
我设置了两个基于 Ubuntu LTS 版本的虚拟机,一个运行了 Sonatype Nexus 3.14.0 的 Docker 容器(这个机器称作 docker-host),另一个只运行 Docker(称作 docker-client)。
请注意一些网络配置或许跟你的配置不一样(例如 IP)但是方法是相同的。同样,请注意那台运行 Nexus OSS 的机器(docker-host)需要有访问互联网的权限。
[更新,2018年10月] 请使用 Nexus 3.</description>
</item>
<item>
<title>手把手教会你 Jenkins 备份与恢复</title>
<link>https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-12-how-to-backup-and-restore-jenkins/</link>
......
......@@ -11,6 +11,11 @@
<loc>https://jenkins-zh.cn/about/code-of-conduct/</loc>
</url>
<url>
<loc>https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/</loc>
<lastmod>2020-05-13T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-12-how-to-backup-and-restore-jenkins/</loc>
<lastmod>2020-05-12T00:00:00+00:00</lastmod>
......@@ -1168,7 +1173,7 @@
<url>
<loc>https://jenkins-zh.cn/tags/docker/</loc>
<lastmod>2020-04-29T00:00:00+00:00</lastmod>
<lastmod>2020-05-13T00:00:00+00:00</lastmod>
<priority>0</priority>
</url>
......@@ -1484,6 +1489,12 @@
<priority>0</priority>
</url>
<url>
<loc>https://jenkins-zh.cn/tags/nexus-oss/</loc>
<lastmod>2020-05-13T00:00:00+00:00</lastmod>
<priority>0</priority>
</url>
<url>
<loc>https://jenkins-zh.cn/tags/nginx/</loc>
<lastmod>2019-04-25T00:00:00+00:00</lastmod>
......@@ -1766,7 +1777,7 @@
<url>
<loc>https://jenkins-zh.cn/wechat/</loc>
<lastmod>2020-05-12T00:00:00+00:00</lastmod>
<lastmod>2020-05-13T00:00:00+00:00</lastmod>
<priority>0</priority>
</url>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/tags/docker/" />
<meta property="og:updated_time" content="2020-04-29T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2020-05-13T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Docker">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/" class="link primary-color dim">使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能</a>
</h1>
<div class="lh-copy links">
通过具体操作步骤讲解了如何使用 Nexus OSS 作为中间仓库获取互联网上的 Docker 镜像
<a href="/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/04/2020-04-29-starting-local-kubernetes-using-kind-and-docker/" class="link primary-color dim">使用 kind 和 Docker 启动本地的 Kubernetes</a>
</h1>
......
......@@ -6,11 +6,31 @@
<description>Recent content in Docker on Jenkins 中文社区</description>
<generator>Hugo -- gohugo.io</generator>
<language>zh-CN</language>
<lastBuildDate>Wed, 29 Apr 2020 00:00:00 +0000</lastBuildDate>
<lastBuildDate>Wed, 13 May 2020 00:00:00 +0000</lastBuildDate>
<atom:link href="https://jenkins-zh.cn/tags/docker/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能</title>
<link>https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/</link>
<pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/</guid>
<description>在企业环境中工作,无论是商业组织还是非商业组织,你会发现在互联网上获取信息存在着种种限制。
通常,服务器会运行在一个控制非常严格的环境中并且不能从互联网中获取资源以确保获取的所有资源都是安全的。
当你要使用一些公开的可获取的 Docker 容器时这会变得更麻烦,你会用到“古法”偷偷摸摸的把 Docker 镜像放到你的主机上。
对我而言,事情甚至更加困难。我需要一个通过第三方访问的(受限的)私有仓库。所以现在我该怎么办呢?
幸运的是,目前市面上有好几个可以作为代理或者‘拉入式缓存’的 Docker Registries,这正是我们所需要的。用来作为代理或者缓存的主机需要互联网的权限,而且只有这一台机器需要。其他所有需要获取 Docker 镜像的主机通过这台机器访问互联网,该机器同样很方便的缓存了数据这样只需要检索一次就可以更快的分发到内部局域网的主机上。
诸如 Sonatype Nexus、JFrog Artifactory、甚至 Docker Registry 都提供这些确切的功能,以及一些功能。这里我将会使用 Sonatype Nexus 完成所有的设置,主要的功能在 OSS 版本中可以使用(Artifactory 功能则是 Pro 版本的一部分功能)。
这篇文章将会向你展示怎样配置 Nexus OSS 来实现类似 Docker Hub ,私有仓库或者两者的结合那样的拉入式缓存功能。同样会向你展示怎样配置 Docker 客户端从而在检索镜像的时候能够使用到你的缓存。
需要的软件 Sonatype Nexus OSS 3.15.0(或更高版本)
Docker 17.09(或更高版本)
我设置了两个基于 Ubuntu LTS 版本的虚拟机,一个运行了 Sonatype Nexus 3.14.0 的 Docker 容器(这个机器称作 docker-host),另一个只运行 Docker(称作 docker-client)。
请注意一些网络配置或许跟你的配置不一样(例如 IP)但是方法是相同的。同样,请注意那台运行 Nexus OSS 的机器(docker-host)需要有访问互联网的权限。
[更新,2018年10月] 请使用 Nexus 3.</description>
</item>
<item>
<title>使用 kind 和 Docker 启动本地的 Kubernetes</title>
<link>https://jenkins-zh.cn/wechat/articles/2020/04/2020-04-29-starting-local-kubernetes-using-kind-and-docker/</link>
......
......@@ -1291,6 +1291,12 @@ var trackOutboundLink = function(id, url) {
</a>
</h2>
<h3>
<a href="https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/" class="link blue">
使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能
</a>
</h3>
<h3>
<a href="https://jenkins-zh.cn/wechat/articles/2020/04/2020-04-29-starting-local-kubernetes-using-kind-and-docker/" class="link blue">
使用 kind 和 Docker 启动本地的 Kubernetes
......@@ -2674,6 +2680,22 @@ var trackOutboundLink = function(id, url) {
</div>
<div class="break-inside-avoid-l nested-copy-line-height mb5">
<h2 class="f3">
<a href="/tags/nexus-oss" class="link black hover-blue">
nexus-oss <span class="f6 gray"> &#8599;</span>
</a>
</h2>
<h3>
<a href="https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/" class="link blue">
使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能
</a>
</h3>
</div>
<div class="break-inside-avoid-l nested-copy-line-height mb5">
<h2 class="f3">
<a href="/tags/nginx" class="link black hover-blue">
......
......@@ -365,7 +365,7 @@
<item>
<title>Docker</title>
<link>https://jenkins-zh.cn/tags/docker/</link>
<pubDate>Wed, 29 Apr 2020 00:00:00 +0000</pubDate>
<pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/tags/docker/</guid>
<description></description>
......@@ -776,6 +776,15 @@
<description></description>
</item>
<item>
<title>Nexus Oss</title>
<link>https://jenkins-zh.cn/tags/nexus-oss/</link>
<pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/tags/nexus-oss/</guid>
<description></description>
</item>
<item>
<title>Nginx</title>
<link>https://jenkins-zh.cn/tags/nginx/</link>
......
<!DOCTYPE html>
<html class="no-js" lang="zh-CN">
<head>
<meta charset="utf-8">
<link rel="preload" href="https://jenkins-zh.cn/files/muli-latin-200.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="https://jenkins-zh.cn/files/muli-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="https://jenkins-zh.cn/files/muli-latin-800.woff2" as="font" type="font/woff2" crossorigin>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Nexus Oss - Jenkins 中文社区</title>
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="description" content="共建开放、包容、活跃的 Jenkins 社区">
<meta name="keywords" content="Jenkins,Jenkins中文社区,Jenkins官方公众号,持续集成,持续交付,开源社区,DevOps">
<meta name="viewport" content="width=device-width,minimum-scale=1">
<meta name="generator" content="Hugo 0.53" />
<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
<link rel="alternate" type="application/rss&#43;xml" href="https://jenkins-zh.cn/tags/nexus-oss/index.xml">
<link href='/dist/main.css' rel='stylesheet' type="text/css" /><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link href="/images/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link rel="icon" type="image/png" href="/images/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/images/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="/manifest.json">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#0594cb">
<meta name="theme-color" content="#ffffff"><style>
img.avatar {
width: 32px;
display: inline;
}
</style>
<meta property="og:title" content="Nexus Oss" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/tags/nexus-oss/" />
<meta property="og:updated_time" content="2020-05-13T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Nexus Oss">
<meta itemprop="description" content="">
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Nexus Oss"/>
<meta name="twitter:description" content=""/>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-4216293-5"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-4216293-5');
var trackOutboundLink = function(id, url) {
console.log("track:", id, url)
gtag('event', 'click', {
'event_category': 'outbound',
'event_label': id,
'transport_type': 'beacon',
'event_callback': function(){document.location = url;}
});
}
</script>
</head>
<body class="ma0 sans-serif bg-primary-color-light">
<nav class="bg-primary-color-dark pv4 w-100" role="navigation">
<div class="center flex-ns flex-wrap items-center justify-start mw9">
<h1 class="dim f3 lh-solid ml0-ns mr0 mr4-l mv0 pl3 pl4-ns">
<a href="https://jenkins-zh.cn" class="link white">
Jenkins 中文社区
</a>
</h1>
<ul class="list ma0 pa0 dn dib-l">
<li class="f5 dib mr4" role="menuitem">
<a href="/wechat/" class="dim link light-silver"
>
博客
</a>
</li>
<li class="f5 dib mr4" role="menuitem">
<a href="/tutorial/" class="dim link light-silver"
>
教程
</a>
</li>
<li class="f5 dib mr4" role="menuitem">
<a href="/event/" class="dim link light-silver"
>
活动
</a>
</li>
<li class="f5 dib mr4" role="menuitem">
<a href="/partner/" class="dim link light-silver"
>
合作伙伴
</a>
</li>
<li class="f5 dib mr4" role="menuitem">
<a href="/about/" class="dim link light-silver"
>
关于我们
</a>
</li>
<li class="f5 dib mr4" role="menuitem">
<a href="http://jenkins.io/zh" class="dim link light-silver"
target="_blank">
Jenkins 官网
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10" viewBox="0 0 32 32" class="fill-current v-base" aria-label="External Link">
<path d="M25.152 16.576v5.696q0 2.144-1.504 3.648t-3.648 1.504h-14.848q-2.144 0-3.648-1.504t-1.504-3.648v-14.848q0-2.112 1.504-3.616t3.648-1.536h12.576q0.224 0 0.384 0.16t0.16 0.416v1.152q0 0.256-0.16 0.416t-0.384 0.16h-12.576q-1.184 0-2.016 0.832t-0.864 2.016v14.848q0 1.184 0.864 2.016t2.016 0.864h14.848q1.184 0 2.016-0.864t0.832-2.016v-5.696q0-0.256 0.16-0.416t0.416-0.16h1.152q0.256 0 0.416 0.16t0.16 0.416zM32 1.152v9.12q0 0.48-0.352 0.8t-0.8 0.352-0.8-0.352l-3.136-3.136-11.648 11.648q-0.16 0.192-0.416 0.192t-0.384-0.192l-2.048-2.048q-0.192-0.16-0.192-0.384t0.192-0.416l11.648-11.648-3.136-3.136q-0.352-0.352-0.352-0.8t0.352-0.8 0.8-0.352h9.12q0.48 0 0.8 0.352t0.352 0.8z"></path>
</svg>
</a>
</li>
</ul>
<div class="db dib-ns pl3"><form id="site-search-form" action="" role="search">
<fieldset class="bn ma0 pa0">
<label class="clip" for="email-address">Search</label>
<input type="search" id="search-input" class="needs-js bg-left bg-transparent bn f5 input-reset lh-solid mt3 mt0-ns pl4 pv2 w5 white"
placeholder="搜索文档" type="text"
name="email-address" value="" style="background-image:url('/images/icon-search.png');background-size:16px 16px;">
</fieldset>
</form>
</div>
<div class="list ma0 pa0 dn dib-l"></div>
<span class="absolute mt1 mt2-l pr3 right-0 top-0">
<a class="github-button needs-js link primary-color-dark" href="https://github.com/jenkins-zh/jenkins-zh/" data-size="large" data-show-count="false" aria-label="Star Jenkins WeChat GitHub">Star</a>
</span>
</div>
</nav>
<main role="main" class="content-with-sidebar min-vh-100 pb7 pb0-ns">
<div class="w-100 ph4 pb5 pb6-ns pt1 mt4 pt3-ns">
<div class="flex">
<div class="w-100 w-80-l ph0 ph4-l">
<article class="w-100 nested-copy-line-height nested-links nested-img">
<h1 class="primary-color-dark f2">
Tag: Nexus Oss
</h1>
<div class=" mid-gray f5 f4-l">
</div>
</article>
<div class="flex flex-wrap">
<section class="flex-ns flex-wrap justify-between w-100">
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/" class="link primary-color dim">使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能</a>
</h1>
<div class="lh-copy links">
通过具体操作步骤讲解了如何使用 Nexus OSS 作为中间仓库获取互联网上的 Docker 镜像
<a href="/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</main>
<footer class="bg-primary-color-dark ph4-ns pt4 relative w-100" role="contentinfo">
<div class="center flex-ns flex-wrap justify-between mw9 w-90">
<div class="pb3 pt4 w-100 w-50-ns">
<div class="b f3 light-gray mb3 nested-links tc">
<a href="https://github.com/jenkins-zh/jenkins-zh/graphs/contributors" target="_blank"
class="link">Jenkins 社区贡献者</a> 维护<br />
</div>
<ul class="center f6 list ma0 mv3 pa0 tc" style="display:none"><li class="dib mr3"><a href="https://github.com/jenkins-zh/jenkins-zh/issues/new" class="dim link light-gray pv2">File an Issue</a></li></ul>
<ul class="center f6 list ma0 mv4 pa0 tc">
<li class="dib mr3">
<a href="https://twitter.com/jenkinsci" target="_blank" class="dim link light-gray pv2">Twitter</a>
</li>
<li class="dib mr3">
<a href="https://www.youtube.com/channel/UC63xz3pq26BBgwB3cnwCoqQ" target="_blank"
class="dim link light-gray pv2">YouTube</a>
</li>
<li class="dib mr3">
<a href="https://space.bilibili.com/433584098" target="_blank" class="dim link light-gray pv2">哔哩哔哩</a>
</li>
<li class="dib mr3">
<a href="https://jcli.jenkins-zh.cn/" target="_blank" class="dim link light-gray pv2">Jenkins
CLI</a>
</li>
<li class="dib mr3">
<a href="https://community.jenkins-zh.cn/" target="_blank" class="dim link light-gray pv2">社区论坛</a>
</li>
</ul>
</div>
<div>
<div style="color: #ffffff; display: inline-block; text-align: center; margin-right: 5px; margin-left: 5px;">优酷视频
<div>
<a href="https://i.youku.com/jenkinszh" target="_blank">
<img src="/images/youku-qrcode.png" with="100" height="100">
</a>
</div>
</div>
<div style="color: #ffffff; display: inline-block; text-align: center; margin-right: 5px; margin-left: 5px;">微信公众号
<div>
<a href="https://mp.weixin.qq.com/s/vifdduC3kRGSIMpyL03yVA" target="_blank">
<img src="https://jenkins.io/images/jenkins-wechat.png" with="100" height="100">
</a>
</div>
</div>
<div style="color: #ffffff; display: inline-block; text-align: center; margin-right: 5px; margin-left: 5px;">微博
<div>
<a href="https://www.weibo.com/jenkinszh" target="_blank">
<img src="/images/weibo-qrcode.png" with="100" height="100">
</a>
</div>
</div>
</div>
</div>
<div class="f7 gray mb5 mb0-ns ph3 w-100"> 
<p class="dib mr4"><a href="http://www.beian.miit.gov.cn/" target="_blank" rel="nofollow" class="dim link light-gray pv2"><u>晋ICP备15000444号-2</u></a></p>
</div>
<div class="bg-primary-color-dark bottom-0 left-0 right-0 dn-l fixed pb3 ph3 w-100"><div class="globalmenu mobilemenu pb3 dn">
<ul class="list hidden dib ph0 ma0 scrolling-touch tc">
<li class="tl dib ma0 hover-bg-black w-100">
<a href="/wechat/" class="ttu f6 link primary-color-light overflow hover-white db brand-font ma0 w-100 pv3 ph4">
博客
</a>
</li>
<li class="tl dib ma0 hover-bg-black w-100">
<a href="/tutorial/" class="ttu f6 link primary-color-light overflow hover-white db brand-font ma0 w-100 pv3 ph4">
教程
</a>
</li>
<li class="tl dib ma0 hover-bg-black w-100">
<a href="/event/" class="ttu f6 link primary-color-light overflow hover-white db brand-font ma0 w-100 pv3 ph4">
活动
</a>
</li>
<li class="tl dib ma0 hover-bg-black w-100">
<a href="/partner/" class="ttu f6 link primary-color-light overflow hover-white db brand-font ma0 w-100 pv3 ph4">
合作伙伴
</a>
</li>
<li class="tl dib ma0 hover-bg-black w-100">
<a href="/about/" class="ttu f6 link primary-color-light overflow hover-white db brand-font ma0 w-100 pv3 ph4">
关于我们
</a>
</li>
<li class="tl dib ma0 hover-bg-black w-100">
<a href="http://jenkins.io/zh" class="ttu f6 link primary-color-light overflow hover-white db brand-font ma0 w-100 pv3 ph4">
Jenkins 官网
</a>
</li>
</ul>
</div>
<div class="flex dn-l justify-between">
<button class="js-toggle flex-auto dib dn-l f6 tc db mt4-ns ph3 pv2 link mr2 white bg-primary-color-dark hover-bg-primary-color ba b--white-40 w-auto" data-target=".globalmenu">菜单</button>
</div>
<script src="/dist/app.bundle.js" type="text/javascript"></script>
</div>
<script>
((window.gitter = {}).chat = {}).options = {
room: 'jenkinsci/chinese'
};
</script>
<script src="https://sidecar.gitter.im/dist/sidecar.v1.js" async defer></script>
</footer>
<link href="/dist/auto-complete.css" rel="stylesheet">
<script type="text/javascript">
var baseurl = "https:\/\/jenkins-zh.cn";
</script>
<script src="/dist/lunr.js"></script>
<script src="/dist/autocomplete.js"></script>
<script src="/dist/jquery-3.2.1.min.js"></script>
<script src="/dist/search.js"></script>
<script async defer src="https://buttons.github.io/buttons.js"></script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?6db234f713318730f0e5f6a95bdd8d47";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<script>
(function(){
var src = (document.location.protocol == "http:") ? "http://js.passport.qihucdn.com/11.0.1.js?6276dcef5c15f276644151772390c1f9":"https://jspassport.ssl.qhimg.com/11.0.1.js?6276dcef5c15f276644151772390c1f9";
document.write('<script src="' + src + '" id="sozz"><\/script>');
})();
</script>
</body>
</html>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Nexus Oss on Jenkins 中文社区</title>
<link>https://jenkins-zh.cn/tags/nexus-oss/</link>
<description>Recent content in Nexus Oss on Jenkins 中文社区</description>
<generator>Hugo -- gohugo.io</generator>
<language>zh-CN</language>
<lastBuildDate>Wed, 13 May 2020 00:00:00 +0000</lastBuildDate>
<atom:link href="https://jenkins-zh.cn/tags/nexus-oss/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能</title>
<link>https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/</link>
<pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/</guid>
<description>在企业环境中工作,无论是商业组织还是非商业组织,你会发现在互联网上获取信息存在着种种限制。
通常,服务器会运行在一个控制非常严格的环境中并且不能从互联网中获取资源以确保获取的所有资源都是安全的。
当你要使用一些公开的可获取的 Docker 容器时这会变得更麻烦,你会用到“古法”偷偷摸摸的把 Docker 镜像放到你的主机上。
对我而言,事情甚至更加困难。我需要一个通过第三方访问的(受限的)私有仓库。所以现在我该怎么办呢?
幸运的是,目前市面上有好几个可以作为代理或者‘拉入式缓存’的 Docker Registries,这正是我们所需要的。用来作为代理或者缓存的主机需要互联网的权限,而且只有这一台机器需要。其他所有需要获取 Docker 镜像的主机通过这台机器访问互联网,该机器同样很方便的缓存了数据这样只需要检索一次就可以更快的分发到内部局域网的主机上。
诸如 Sonatype Nexus、JFrog Artifactory、甚至 Docker Registry 都提供这些确切的功能,以及一些功能。这里我将会使用 Sonatype Nexus 完成所有的设置,主要的功能在 OSS 版本中可以使用(Artifactory 功能则是 Pro 版本的一部分功能)。
这篇文章将会向你展示怎样配置 Nexus OSS 来实现类似 Docker Hub ,私有仓库或者两者的结合那样的拉入式缓存功能。同样会向你展示怎样配置 Docker 客户端从而在检索镜像的时候能够使用到你的缓存。
需要的软件 Sonatype Nexus OSS 3.15.0(或更高版本)
Docker 17.09(或更高版本)
我设置了两个基于 Ubuntu LTS 版本的虚拟机,一个运行了 Sonatype Nexus 3.14.0 的 Docker 容器(这个机器称作 docker-host),另一个只运行 Docker(称作 docker-client)。
请注意一些网络配置或许跟你的配置不一样(例如 IP)但是方法是相同的。同样,请注意那台运行 Nexus OSS 的机器(docker-host)需要有访问互联网的权限。
[更新,2018年10月] 请使用 Nexus 3.</description>
</item>
</channel>
</rss>
\ No newline at end of file
<!DOCTYPE html><html><head><title>https://jenkins-zh.cn/tags/nexus-oss/</title><link rel="canonical" href="https://jenkins-zh.cn/tags/nexus-oss/"/><meta name="robots" content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" content="0; url=https://jenkins-zh.cn/tags/nexus-oss/" /></head></html>
\ No newline at end of file
......@@ -388,8 +388,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/04/2020-04-29-starting-local-kubernetes-using-kind-and-docker/" class="link">
使用 kind 和 Docker 启动本地的 Kubernetes
<a href="/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/" class="link">
使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能
</a>
</li>
......@@ -400,6 +400,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/04/2020-04-29-starting-local-kubernetes-using-kind-and-docker/" class="link">
使用 kind 和 Docker 启动本地的 Kubernetes
</a>
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/02/2020-02-21-the-abc-of-devops-implementation-with-containerization-and-docker/" class="link">
使用容器化和 Docker 实现 DevOps 的基础知识
......
......@@ -389,10 +389,10 @@ var trackOutboundLink = function(id, url) {
<li><a href="/wechat/articles/2019/08/2019-08-05-jenkins-multi-branch-pipeline/">在大型企业里维护多分支流水线</a></li>
<li><a href="/wechat/articles/2019/07/2019-07-04-performance-testing-jenkins/">Jenkins 插件的微基准测试框架</a></li>
<li><a href="/wechat/articles/2019/07/2019-07-10-phase-1-multibranch-pipeline-support-for-gitlab/">多分支流水线任务对 GitLab SCM 的支持</a></li>
<li><a href="/wechat/articles/2019/07/2019-07-04-performance-testing-jenkins/">Jenkins 插件的微基准测试框架</a></li>
<li><a href="/wechat/articles/2019/05/2019-05-27-docs-sig-announcement/">Jenkins 文档特别兴趣小组</a></li>
</ul>
......
......@@ -732,8 +732,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/04/2020-04-29-starting-local-kubernetes-using-kind-and-docker/" class="link">
使用 kind 和 Docker 启动本地的 Kubernetes
<a href="/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/" class="link">
使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能
</a>
</li>
......@@ -744,6 +744,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/04/2020-04-29-starting-local-kubernetes-using-kind-and-docker/" class="link">
使用 kind 和 Docker 启动本地的 Kubernetes
</a>
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/02/2020-02-21-the-abc-of-devops-implementation-with-containerization-and-docker/" class="link">
使用容器化和 Docker 实现 DevOps 的基础知识
......
......@@ -242,6 +242,14 @@ var trackOutboundLink = function(id, url) {
</a>
<a href="https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/" class="dib f6 pl1 hover-bg-light-gray br-100" title="使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能 ">
<svg class="fill-current" height="30px" viewBox="0 0 24 24" width="30px" xmlns="http://www.w3.org/2000/svg">
<path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>
</a>
<a href="https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-08-how-to-use-the-jenkins-declarative-pipeline/" class="dib f6 pr1 hover-bg-light-gray br-100" title="如何使用 Jenkins 声明式流水线">
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2020-05-12T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2020-05-13T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/" class="link primary-color dim">使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能</a>
</h1>
<div class="lh-copy links">
通过具体操作步骤讲解了如何使用 Nexus OSS 作为中间仓库获取互联网上的 Docker 镜像
<a href="/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/05/2020-05-12-how-to-backup-and-restore-jenkins/" class="link primary-color dim">手把手教会你 Jenkins 备份与恢复</a>
</h1>
......@@ -454,33 +481,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/04/2020-04-10-jcli-v0.0.27/" class="link primary-color dim">Jenkins CLI 命令行 v0.0.27</a>
</h1>
<div class="lh-copy links">
jcli-v0.0.27 发布
<a href="/wechat/articles/2020/04/2020-04-10-jcli-v0.0.27/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -6,11 +6,31 @@
<description>Recent content in Wechats on Jenkins 中文社区</description>
<generator>Hugo -- gohugo.io</generator>
<language>zh-CN</language>
<lastBuildDate>Tue, 12 May 2020 00:00:00 +0000</lastBuildDate>
<lastBuildDate>Wed, 13 May 2020 00:00:00 +0000</lastBuildDate>
<atom:link href="https://jenkins-zh.cn/wechat/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能</title>
<link>https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/</link>
<pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-13-using-nexus-oss-as-a-proxy-cache-for-docker-images/</guid>
<description>在企业环境中工作,无论是商业组织还是非商业组织,你会发现在互联网上获取信息存在着种种限制。
通常,服务器会运行在一个控制非常严格的环境中并且不能从互联网中获取资源以确保获取的所有资源都是安全的。
当你要使用一些公开的可获取的 Docker 容器时这会变得更麻烦,你会用到“古法”偷偷摸摸的把 Docker 镜像放到你的主机上。
对我而言,事情甚至更加困难。我需要一个通过第三方访问的(受限的)私有仓库。所以现在我该怎么办呢?
幸运的是,目前市面上有好几个可以作为代理或者‘拉入式缓存’的 Docker Registries,这正是我们所需要的。用来作为代理或者缓存的主机需要互联网的权限,而且只有这一台机器需要。其他所有需要获取 Docker 镜像的主机通过这台机器访问互联网,该机器同样很方便的缓存了数据这样只需要检索一次就可以更快的分发到内部局域网的主机上。
诸如 Sonatype Nexus、JFrog Artifactory、甚至 Docker Registry 都提供这些确切的功能,以及一些功能。这里我将会使用 Sonatype Nexus 完成所有的设置,主要的功能在 OSS 版本中可以使用(Artifactory 功能则是 Pro 版本的一部分功能)。
这篇文章将会向你展示怎样配置 Nexus OSS 来实现类似 Docker Hub ,私有仓库或者两者的结合那样的拉入式缓存功能。同样会向你展示怎样配置 Docker 客户端从而在检索镜像的时候能够使用到你的缓存。
需要的软件 Sonatype Nexus OSS 3.15.0(或更高版本)
Docker 17.09(或更高版本)
我设置了两个基于 Ubuntu LTS 版本的虚拟机,一个运行了 Sonatype Nexus 3.14.0 的 Docker 容器(这个机器称作 docker-host),另一个只运行 Docker(称作 docker-client)。
请注意一些网络配置或许跟你的配置不一样(例如 IP)但是方法是相同的。同样,请注意那台运行 Nexus OSS 的机器(docker-host)需要有访问互联网的权限。
[更新,2018年10月] 请使用 Nexus 3.</description>
</item>
<item>
<title>手把手教会你 Jenkins 备份与恢复</title>
<link>https://jenkins-zh.cn/wechat/articles/2020/05/2020-05-12-how-to-backup-and-restore-jenkins/</link>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2019-05-28T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-05-29T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-29-jenkins-release/" class="link primary-color dim">Jenkins 2.176~2.178版本更新</a>
</h1>
<div class="lh-copy links">
Jenkins 每周更新版2.176~2.178更新内容
<a href="/wechat/articles/2019/05/2019-05-29-jenkins-release/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-28-jenkins-pipeline-shared-lib-unit-test/" class="link primary-color dim">如何对 Jenkins 共享库进行单元测试</a>
</h1>
......@@ -454,33 +481,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-15-gsoc-annoncement/" class="link primary-color dim">19年 GSoC 中 Jenkins 的七个项目</a>
</h1>
<div class="lh-copy links">
Jenkins 社区在 Google Summer of Code 中的项目
<a href="/wechat/articles/2019/05/2019-05-15-gsoc-annoncement/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2019-05-14T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-05-15T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-15-gsoc-annoncement/" class="link primary-color dim">19年 GSoC 中 Jenkins 的七个项目</a>
</h1>
<div class="lh-copy links">
Jenkins 社区在 Google Summer of Code 中的项目
<a href="/wechat/articles/2019/05/2019-05-15-gsoc-annoncement/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-14-devops-jenkins-credential-manage/" class="link primary-color dim">基于 Jenkins 的 DevOps 平台应该如何设计凭证管理</a>
</h1>
......@@ -454,33 +481,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-28-devsecops/" class="link primary-color dim">我们为什么需要 DevSecOps 和制品仓库?</a>
</h1>
<div class="lh-copy links">
Helen Beal 在 Nexus 用户大会上发表的关于构建 DevSecOps 的建议
<a href="/wechat/articles/2019/04/2019-04-28-devsecops/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2019-04-26T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-04-28T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-28-devsecops/" class="link primary-color dim">我们为什么需要 DevSecOps 和制品仓库?</a>
</h1>
<div class="lh-copy links">
Helen Beal 在 Nexus 用户大会上发表的关于构建 DevSecOps 的建议
<a href="/wechat/articles/2019/04/2019-04-28-devsecops/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-26-progressive-delivery-with-jenkins-x/" class="link primary-color dim">使用 Jenkins X 渐进式交付</a>
</h1>
......@@ -454,33 +481,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-10-getting-started-with-docker-for-java-applications/" class="link primary-color dim">Java 应用使用 Docker 的入门指南:建立一个 CI/CD 流水线</a>
</h1>
<div class="lh-copy links">
本文是容器化现有 Java 应用以及使用 Jenkins 建立一个端到端部署流水线的指南
<a href="/wechat/articles/2019/04/2019-04-10-getting-started-with-docker-for-java-applications/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2019-04-08T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-04-10T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-10-getting-started-with-docker-for-java-applications/" class="link primary-color dim">Java 应用使用 Docker 的入门指南:建立一个 CI/CD 流水线</a>
</h1>
<div class="lh-copy links">
本文是容器化现有 Java 应用以及使用 Jenkins 建立一个端到端部署流水线的指南
<a href="/wechat/articles/2019/04/2019-04-10-getting-started-with-docker-for-java-applications/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-08-becoming-contributor-intro/" class="link primary-color dim">介绍:成为一名 Jenkins 贡献者的旅程</a>
</h1>
......@@ -454,33 +481,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/02/2019-02-27-contribution-inspire/" class="link primary-color dim">社区贡献激励活动</a>
</h1>
<div class="lh-copy links">
Jenkins 中文社区送福利
<a href="/wechat/articles/2019/02/2019-02-27-contribution-inspire/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2019-02-20T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-02-27T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/02/2019-02-27-contribution-inspire/" class="link primary-color dim">社区贡献激励活动</a>
</h1>
<div class="lh-copy links">
Jenkins 中文社区送福利
<a href="/wechat/articles/2019/02/2019-02-27-contribution-inspire/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/02/2019-02-20-java11-preview-availability/" class="link primary-color dim">Java 11 预览支持已在 Jenkins 2.155&#43; 中可用</a>
</h1>
......@@ -459,33 +486,6 @@ Jenkins 中文社区邀您参与社区共同成长 在开源盛会开展的同
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2018/11/2018-11-14-first-voice/" class="link primary-color dim">Jenkins 微信订阅号</a>
</h1>
<div class="lh-copy links">
来自 Jenkins 官方的消息
<a href="/wechat/articles/2018/11/2018-11-14-first-voice/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -216,6 +216,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2018/11/2018-11-14-first-voice/" class="link primary-color dim">Jenkins 微信订阅号</a>
</h1>
<div class="lh-copy links">
来自 Jenkins 官方的消息
<a href="/wechat/articles/2018/11/2018-11-14-first-voice/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2018/12/2018-12-26-security-updates/" class="link primary-color dim">Jenkins 的重要安全更新</a>
</h1>
......@@ -453,33 +480,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-15-security-spring-cleaning/" class="link primary-color dim">春季安全清查</a>
</h1>
<div class="lh-copy links">
Jenkins 管理员们应该关注的安全问题
<a href="/wechat/articles/2019/04/2019-04-15-security-spring-cleaning/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -216,6 +216,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-15-security-spring-cleaning/" class="link primary-color dim">春季安全清查</a>
</h1>
<div class="lh-copy links">
Jenkins 管理员们应该关注的安全问题
<a href="/wechat/articles/2019/04/2019-04-15-security-spring-cleaning/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/01/2019-01-09-jenkins-evergreen/" class="link primary-color dim">自动更新、易于使用的 Jenkins</a>
</h1>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2020-04-09T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2020-04-10T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/04/2020-04-10-jcli-v0.0.27/" class="link primary-color dim">Jenkins CLI 命令行 v0.0.27</a>
</h1>
<div class="lh-copy links">
jcli-v0.0.27 发布
<a href="/wechat/articles/2020/04/2020-04-10-jcli-v0.0.27/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/04/2020-04-09-custom-jenkins-war/" class="link primary-color dim">自定义 Jenkins 发行版就是这么简单</a>
</h1>
......@@ -454,33 +481,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/03/2020-03-09-feature-flags-and-gitops-5-use-cases-to-help-you-git-r-done-45ga/" class="link primary-color dim">特性开关和 GitOps, 5个用例帮您搞定。</a>
</h1>
<div class="lh-copy links">
特性开关和 GitOps 以及 CloudBees Rollout
<a href="/wechat/articles/2020/03/2020-03-09-feature-flags-and-gitops-5-use-cases-to-help-you-git-r-done-45ga/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2020-03-06T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2020-03-09T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/03/2020-03-09-feature-flags-and-gitops-5-use-cases-to-help-you-git-r-done-45ga/" class="link primary-color dim">特性开关和 GitOps, 5个用例帮您搞定。</a>
</h1>
<div class="lh-copy links">
特性开关和 GitOps 以及 CloudBees Rollout
<a href="/wechat/articles/2020/03/2020-03-09-feature-flags-and-gitops-5-use-cases-to-help-you-git-r-done-45ga/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/03/2020-03-06-validating-jcasc-configuration-files-using-visual-studio-code/" class="link primary-color dim">使用 Visual Studio Code 验证 JCasC 配置文件</a>
</h1>
......@@ -454,33 +481,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/02/2020-02-12-a-new-chapter-for-kohsuke/" class="link primary-color dim">Jenkins 创始人 Kohsuke 的新篇章</a>
</h1>
<div class="lh-copy links">
Jenkins 创始人 Kohsuke 即将退出 Jenkins,并投身于一个新的创业公司 Launchable
<a href="/wechat/articles/2020/02/2020-02-12-a-new-chapter-for-kohsuke/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2020-02-10T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2020-02-12T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/02/2020-02-12-a-new-chapter-for-kohsuke/" class="link primary-color dim">Jenkins 创始人 Kohsuke 的新篇章</a>
</h1>
<div class="lh-copy links">
Jenkins 创始人 Kohsuke 即将退出 Jenkins,并投身于一个新的创业公司 Launchable
<a href="/wechat/articles/2020/02/2020-02-12-a-new-chapter-for-kohsuke/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/02/2020-02-10-webSocket/" class="link primary-color dim">WebSocket</a>
</h1>
......@@ -454,33 +481,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/11/2019-11-28-jcli-v0.0.23/" class="link primary-color dim">Jenkins CLI 命令行 v0.0.23</a>
</h1>
<div class="lh-copy links">
jcli-v0.0.23 发布
<a href="/wechat/articles/2019/11/2019-11-28-jcli-v0.0.23/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2019-11-22T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-11-28T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/11/2019-11-28-jcli-v0.0.23/" class="link primary-color dim">Jenkins CLI 命令行 v0.0.23</a>
</h1>
<div class="lh-copy links">
jcli-v0.0.23 发布
<a href="/wechat/articles/2019/11/2019-11-28-jcli-v0.0.23/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/11/2019-11-22-plugin-docs-on-github/" class="link primary-color dim">Jenkins 插件文档即代码:将文档迁移到 GitHub</a>
</h1>
......@@ -454,33 +481,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/11/2019-11-06-building-new-operating-model-devops/" class="link primary-color dim">为 DevOps 构建新的运营模型</a>
</h1>
<div class="lh-copy links">
为 DevOps 构建新的运营模型
<a href="/wechat/articles/2019/11/2019-11-06-building-new-operating-model-devops/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2019-11-04T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-11-06T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/11/2019-11-06-building-new-operating-model-devops/" class="link primary-color dim">为 DevOps 构建新的运营模型</a>
</h1>
<div class="lh-copy links">
为 DevOps 构建新的运营模型
<a href="/wechat/articles/2019/11/2019-11-06-building-new-operating-model-devops/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/11/2019-11-04-jcli-v0.0.22/" class="link primary-color dim">Jenkins CLI 命令行 v0.0.22</a>
</h1>
......@@ -454,33 +481,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/09/2019-09-11-introducing-gitlab-branch-source-plugin/" class="link primary-color dim">介绍新的 GitLab 分支源插件</a>
</h1>
<div class="lh-copy links">
新的 GitLab 分支源插件,允许您基于 GitLab <code>用户</code><code></code><code>子组</code> 项目创建任务
<a href="/wechat/articles/2019/09/2019-09-11-introducing-gitlab-branch-source-plugin/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2019-09-05T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-09-11T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/09/2019-09-11-introducing-gitlab-branch-source-plugin/" class="link primary-color dim">介绍新的 GitLab 分支源插件</a>
</h1>
<div class="lh-copy links">
新的 GitLab 分支源插件,允许您基于 GitLab <code>用户</code><code></code><code>子组</code> 项目创建任务
<a href="/wechat/articles/2019/09/2019-09-11-introducing-gitlab-branch-source-plugin/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/09/2019-09-05-award/" class="link primary-color dim">Jenkins 中文社区第二届明星贡献者名单</a>
</h1>
......@@ -454,33 +481,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/08/2019-08-08-jenkins-x-new-logo/" class="link primary-color dim">Jenkins X 新 logo</a>
</h1>
<div class="lh-copy links">
Jenkins X 推出新 logo
<a href="/wechat/articles/2019/08/2019-08-08-jenkins-x-new-logo/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2019-08-07T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-08-08T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/08/2019-08-08-jenkins-x-new-logo/" class="link primary-color dim">Jenkins X 新 logo</a>
</h1>
<div class="lh-copy links">
Jenkins X 推出新 logo
<a href="/wechat/articles/2019/08/2019-08-08-jenkins-x-new-logo/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/08/2019-08-07-hackathon-startup/" class="link primary-color dim">开源持续交付黑客松--号角声起</a>
</h1>
......@@ -454,33 +481,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/07/2019-07-08-wechat-answer-1/" class="link primary-color dim">Jenkins 中文社区技术交流微信群问题集之一</a>
</h1>
<div class="lh-copy links">
群里讨论过的问题(使用方法、缺陷)太多,无法全部包含在一篇文章中
<a href="/wechat/articles/2019/07/2019-07-08-wechat-answer-1/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -44,7 +44,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2019-07-04T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-07-08T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -217,6 +217,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/07/2019-07-08-wechat-answer-1/" class="link primary-color dim">Jenkins 中文社区技术交流微信群问题集之一</a>
</h1>
<div class="lh-copy links">
群里讨论过的问题(使用方法、缺陷)太多,无法全部包含在一篇文章中
<a href="/wechat/articles/2019/07/2019-07-08-wechat-answer-1/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/07/2019-07-04-performance-testing-jenkins/" class="link primary-color dim">Jenkins 插件的微基准测试框架</a>
</h1>
......@@ -454,33 +481,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-29-jenkins-release/" class="link primary-color dim">Jenkins 2.176~2.178版本更新</a>
</h1>
<div class="lh-copy links">
Jenkins 每周更新版2.176~2.178更新内容
<a href="/wechat/articles/2019/05/2019-05-29-jenkins-release/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册