Jenkins 设置镜像_Windows Docker Agent 镜像可以常规使用了
我们宣布可以使用官方的 Windows agent Docker 镜像了,这些镜像允许在 Docker 和 Kubernetes 上使用 Windows 操作系统配置 Jenkins agent。
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/agent
jenkins/agent 镜像是 JDK 和 agent.jar(Jenkins Remoting 库)的简单 agent。该镜像有两个主要用途:
- 作为其他 Docker 镜像的基础镜像(例如 Dockerfile 中的 FROM jenkins/agent:jdk8-nanoserver-1809),jenkins/inbound-agent 就是基于这个镜像。
- 该镜像还可用于通过 Launch agent via execution of command on the master 的 Launch method 启动agent,这允许主服务器自动在 docker 容器内启动 agent。
要针对第二个用途运行 agent,请在设置 Remote root directory 为 C:\Users\jenkins\agent 后,在 Jenkins 主服务器上指定以下命令:
docker run -i --rm --name agent --init jenkins/agent:jdk8-windowsservercore-1809 java -jar C:/ProgramData/Jenkins/agent.jar
2.2 Jenkins/inbound-agent
inbound-agent Docker 镜像尝试提供与 agent.jar 可执行文件的更高级别的交互。它提供了一个围绕 agent.jar 的 PowerShell 包装类脚本,并且被指定为入口点,因此您只需要传递一些命令行参数即可运行 agent。
已打开一个 pull request,其中记录了这些命令行参数和环境变量。
示例:
docker run jenkins/inbound-agent:windowsservercore-1809 ` -Url http://jenkins-server:port ` -WorkDir=C:/Users/jenkins/Agent ` -Secret ` -Name
使用环境变量的示例:
docker run -e "JENKINS_URL=http://jenkins-server:port" -e "JENKINS_AGENT_NAME=AGENTNAME" ` jenkins/inbound-agent:windowsservercore-1809 ` -WorkDir=C:/Users/jenkins/Agent ` -Secret ` -Name
注意:-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 jenkins/ssh-agent:jdk8-windowsservercore-1809 ""
使用 docker run 时,还可以将公钥作为环境变量传递。示例:
docker run -e "JENKINS_AGENT_SSH_PUBKEY=" jenkins/ssh-agent:jdk8-windowsservercore-1809
然后,将能够作为 “jenkins” 使用 SSH Build Agents Plugin与匹配的私钥连接该 agent。
3
下一步计划
我们正在考虑提供基于 Windows Server 2019 build 1909 的版本,以便 Jenkins 用户可以在 GKE 群集上运行这些镜像。
我们还正在研究提供多体系结构清单,以使 Windows 镜像成为 latest 标签的一部分。还有一个开放的 pull-request,用于为 Jenkins 主服务器创建基于 Windows 的 Docker 镜像。对此没有很多要求,但是为了使 Windows 用户的产品完善,创建了这个 pull request。
对于与 Windows 不相关的计划,请参阅 agent 的 Docker镜像:新名称和下一步博客文章。
查看文中链接,请点击【阅读原文】
推荐阅读
Jenkins CLI 命令行 v0.0.28
手把手教会你 Jenkins 备份与恢复
CI/CD 哪家强 - 主流开源 CI 工具对比
征集用户故事- Jenkins is the Way
Tekton 流水线发布首个官方 Beta 版本
Jenkins流水线与k8s的持续集成落地分享
Jenkins 设置镜像_Windows Docker Agent 镜像可以常规使用了相关推荐
- docker 国内镜像与 docker hub 镜像, docker-compose
目录 1. docker 国内镜像与 docker hub 镜像, docker-compose 1.1. 通过国内镜像安装 docker 1.1.1. Debian 1.1.2. RHEL 1.2. ...
- docker php镜像推荐,Docker 常用镜像整理
Docker 搭建靶场很方便,但是每次搭建靶场找到底层镜像都会消耗不少时间,所以特此花时间写下本文,磨刀不误砍柴工,后面再搭建 Docker 靶场的话,效率就会高很多了. PHP PHP 环境,如果不 ...
- Docker:镜像操作和容器操作
镜像操作 列出镜像: $ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hello-world latest 0a6b ...
- Docker - 应用镜像
概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会 ...
- (五)Docker镜像管理1之镜像操作
这篇文章将介绍镜像的一般操作,包括查看.查找.下载.删除等. 下载镜像 使用下面的命令来下载镜像 1 docker pull 镜像名称或者镜像名称:标签 1 2 #如果不加标签则表示最新的 docke ...
- 【阿里云镜像】使用阿里云Docker CE 镜像安装Docker
文章目录 一.参考链接 二.Docker CE简介 三.使用阿里云Docker CE镜像安装Docker 1.SSH连接CentOS 7系统 2.基于CentOS 7安装配置Docker(使用 yum ...
- Docker 启动镜像
一.查看当前docker中下载的镜像,如下图,当前我的Docker容器中存在两个镜像 ,tomcat.mysql 二.启动镜像 (因启动命令参数过多,同时各种镜像启动时可以增加额外的参数,本次以启动m ...
- Docker怎么样拉取镜像?怎样删除镜像?
今天的Java培训,我们讲解一下Docker拉取镜像的方式.我们拉取镜像默认是从 Docker Hub 镜像仓库上进行获取的,在 Docker Hub 的官网 Docker Hub 上我们可以查看 ...
- docker拉镜像、创建容器、停止容器、移除容器、构建镜像
导语:最近发现好多面试者不会docker,虽然不是开发必备,但是偶尔会弄个demo,或者解析个什么自己搭建项目也很方便,以我微薄的docker经验在这里留下记录并供自己以后巩固 以下内容可学会dock ...
最新文章
- 关于鼠标、键盘的几个例子
- dp背包九讲(待补充,暂时前两讲)
- 如何获取NumPy数组中N个最大值的索引?
- mysql 查询任务_mysql中怎样显示服务器正在执行的sql任务
- spoj453 Sums in a Triangle (tutorial) 动态规划
- 英雄传说服务器维护中,英雄传说:星之轨迹 正统《轨迹》手游无法连接服务器是什么原因...
- 494. 目标和 golang 动态规划
- Nginx:Nginx limit_req limit_conn限速
- 敏捷软件开发 12 原则
- 架构师,是否需要写代码?
- python 获取窗口句柄_Python如何自动化哄女朋友
- 用Python画一个时钟---简易版
- (一)GPS与基站定位
- 计算机操作系统(第四版)课后习题答案(完整版)
- 数据结构-顺序表基本操作-C语言代码
- 如何把Tomcat 9 的默认8080端口变成80端口
- steam网络相关问题-社区错误代码118/无法自动登陆/短期内来自您网络的失败登录过多/无法连接至steam网络(2021/2/18更新)
- vue实现动态二维码完成签到功能
- 使用IntelliJ Idea新建SpringBoot项目
- python鞋子_Micropython 鞋码匹配仪(标题图与内容无关)
热门文章
- 如何读论文?-如何写好科技论文之我见(八)
- CODEVS-1758-维护数列-NOI2005-splay
- TextVQA论文汇总
- 体育场[带权并查集]
- c语言测试1到3章,2013计算机等级考试二级《C语言》复习:第三章第1节
- git 清空log_[译] 我个人的 Git 技巧备忘录
- linux+离线+搜狗,Ubuntu离线安装Sogou拼音(附老版本安装)
- matlab中服从高斯分布的矩阵_推荐基础算法之矩阵分解PMF
- python输出日期语句_python输出语句怎么用
- cas 连接oracle,Oracle 生成系统数据导入测试系统及smarteam 连接更改