跟我们一起
玩转路由器

Windows Docker Agent 镜像已完成优化适配,目前可稳定常规使用,满足Windows环境下的Docker代理需求。

我们宣布可以使用官方的 windows agent docker 镜像了,这些镜像支持在 docker 和 kubernetes 上配置 jenkins agent,并运行在 windows 操作系统上。

1 新镜像 ?

现在,所有 agent 的正式 Docker 镜像都提供了 nanoserver-1809 和 windowsservercore-1809 标签,这些标签包括 Windows 镜像以及当前的 Java 8(类似于 latest 标签)。我们还提供明确的 Java 选择,例如 jdk8-windowsservercore-1809 或 jdk11-nanoserver-1809。此外,版本标记也可用,例如 jenkins/agent:4.3-4-jdk8-nanoserver-1809。jenkins/agent 是一个基础的 agent,它捆绑了 agent.jar 来进行 agent 和 master 之间的通讯,最适合作为其他镜像的基础镜像。Windows 镜像从版本 4.3-4 开始可用。jenkins/inbound-agent 是一个基于 jenkins/agent 镜像的 agent,它提供了一个用 PowerShell 编写的包装脚本,以帮助指定 agent.jar 的参数。Windows 镜像从版本 4.3-4 开始可用。jenkins/ssh-agent 是一个安装了 OpenSSH 的镜像,适用于 SSH Build Agents Plugin。Windows 镜像从版本 2.1.0 开始可用。

2 使用 Windows Docker 镜像

要使用这些新镜像,您需要一个支持运行 Windows 容器的 Docker 或 Kubernetes 环境。对于 Windows 桌面用户,最简单的方法是使用 Docker for Windows。Kubernetes 对 Windows 的支持在这里记录。2.1 Jenkins/agentjenkins/agent 镜像是 JDK 和 agent.jar(Jenkins Remoting 库)的简单 agent。

该镜像有两个主要用途:

作为其他 Docker 镜像的基础镜像(例如 Dockerfile 中的 FROM jenkins/agent:jdk8-nanoserver-1809),jenkins/inbound-agent 就是基于这个镜像。该镜像还可以用于通过在主服务器上执行命令来启动 agent,这允许主服务器自动在 Docker 容器内启动 agent。为了实现第二个用途,在 Jenkins 主服务器上设置 Remote root directory 为 C:\Users\jenkins\agent,并指定以下命令:

2.2 Jenkins/inbound-agentinbound-agent Docker 镜像尝试提供与 agent.jar 可执行文件的更高级别的交互。它提供了一个围绕 agent.jar 的 PowerShell 包装脚本,并将其指定为入口点,因此您只需传递一些命令行参数即可运行 agent。一个拉取请求已打开,其中记录了这些命令行参数和环境变量。示例:

使用环境变量的示例:

注意:-Url、-Name 和 -Secret 是必选参数,但可以将其指定为命令行参数或环境变量。

2.3 Jenkins/ssh-agent如上所述,jenkins/ssh-agent Docker 镜像基于与主机的 SSH 通信,而不是基于远程 TCP 或 WebSocket 协议。该镜像设置了一个 jenkins 用户和 OpenSSH 服务器,以便主服务器可以通过 SSH 连接到 agent。该镜像需要 SSH 公钥作为参数,并将该密钥放入 jenkins 用户的 authorized_keys 文件中,应在主服务器上的 agent 配置中指定私钥,以允许主服务器连接。

示例:

使用 docker run 时,还可以将公钥作为环境变量传递。

示例:

然后,可以使用 SSH Build Agents Plugin 与匹配的私钥作为 “jenkins” 用户连接到该 agent。

3 下一步计划

我们计划提供基于 Windows Server 2019 build 1909 的版本,以便 Jenkins 用户可以在 GKE 群集上运行这些镜像。我们还正在研究提供多体系结构清单,使 Windows 镜像成为 latest 标签的一部分。

还有一个开放的拉取请求,用于为 Jenkins 主服务器创建基于 Windows 的 Docker 镜像。虽然对这一功能的需求不大,但为了完善 Windows 用户的产品体验,我们创建了这个拉取请求。

对于与 Windows 不相关的计划,请参阅 agent 的 Docker 镜像:新名称和下一步博客文章。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Windows Docker Agent 镜像已完成优化适配,目前可稳定常规使用,满足Windows环境下的Docker代理需求。》
文章链接:https://www.lu-you.com/wangluo/xt/26151.html
本站资源来源于互联网整理,若有图片影像侵权,联系邮箱429682998@qq.com删除,谢谢。

评论 抢沙发

登录

找回密码

注册