Jenkins 设置镜像_Windows Docker Agent 镜像可以常规使用了
生活随笔
收集整理的這篇文章主要介紹了
Jenkins 设置镜像_Windows Docker Agent 镜像可以常规使用了
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我們宣布可以使用官方的 Windows agent Docker 鏡像了,這些鏡像允許在 Docker 和 Kubernetes 上使用 Windows 操作系統(tǒng)配置 Jenkins agent。作為其他 Docker 鏡像的基礎(chǔ)鏡像(例如 Dockerfile 中的 FROM jenkins/agent:jdk8-nanoserver-1809),jenkins/inbound-agent 就是基于這個(gè)鏡像。 該鏡像還可用于通過(guò) Launch agent via execution of command on the master 的 Launch method 啟動(dòng)agent,這允許主服務(wù)器自動(dòng)在 docker 容器內(nèi)啟動(dòng) agent。 要針對(duì)第二個(gè)用途運(yùn)行 agent,請(qǐng)?jiān)谠O(shè)置 Remote root directory 為 C:\Users\jenkins\agent 后,在 Jenkins 主服務(wù)器上指定以下命令:docker run -i --rm --name agent --init jenkins/agent:jdk8-windowsservercore-1809 java -jar C:/ProgramData/Jenkins/agent.jar
1
?新鏡像???
現(xiàn)在,所有 agent 的正式 Docker 鏡像都提供?nanoserver-1809 和 windowsservercore-1809 標(biāo)簽,其中包括 Windows 鏡像以及當(dāng)前的 Java 8(類似于 latest 標(biāo)簽)。我們還提供了明確的 Java 選擇,例如 jdk8-windowsservercore-1809 或 jdk11-nanoserver-1809。版本標(biāo)記也可用,例如 jenkins/agent:4.3-4-jdk8-nanoserver-1809。
- jenkins/agent?是一個(gè)基礎(chǔ)的 agent,它捆綁 agent.jar 來(lái)進(jìn)行 agent<= => master之間的通訊,最有用的是可以作為其他鏡像的基礎(chǔ)鏡像。Windows 鏡像從版本?4.3-4?開(kāi)始可用。
- jenkins/inbound-agent?是一個(gè)基于上面 jenkins/agent 鏡像的 agent,它提供了用 PowerShell 編寫的包裝類腳本,以幫助指定 agent.jar 的參數(shù)。Windows 鏡像從版本?4.3-4?開(kāi)始可用。
- jenkins/ssh-agent?是一個(gè)安裝了 OpenSSH 的鏡像, 應(yīng)該與?SSH Build Agents Plugin?一起使用。Windows 鏡像從版本?2.1.0?開(kāi)始可用。
2
?使用 Windows Docker鏡像?
要使用新鏡像,您將需要支持運(yùn)行 Windows 容器的合適 Docker 或 Kubernetes 環(huán)境。
對(duì)于 Windows 桌面用戶,最簡(jiǎn)單的方法是使用Docker for Windows。此處記錄了 Kubernetes 對(duì)于 Windows 的支持。
2.1 Jenkins/agent
jenkins/agent 鏡像是 JDK 和 agent.jar(Jenkins Remoting 庫(kù))的簡(jiǎn)單 agent。該鏡像有兩個(gè)主要用途:2.2 Jenkins/inbound-agent
inbound-agent Docker 鏡像嘗試提供與 agent.jar 可執(zhí)行文件的更高級(jí)別的交互。它提供了一個(gè)圍繞 agent.jar 的 PowerShell 包裝類腳本,并且被指定為入口點(diǎn),因此您只需要傳遞一些命令行參數(shù)即可運(yùn)行 agent。
已打開(kāi)一個(gè)?pull request,其中記錄了這些命令行參數(shù)和環(huán)境變量。
示例: docker run jenkins/inbound-agent:windowsservercore-1809 ` -Url http://jenkins-server:port ` -WorkDir=C:/Users/jenkins/Agent ` -Secret ` -Name 使用環(huán)境變量的示例: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 是必選參數(shù),但可以將其指定為命令行參數(shù)或環(huán)境變量。?2.3?Jenkins/ssh-agent
如上所述,jenkins/ssh-agent docker 鏡像基于與主機(jī)的 SSH 通信,而不是基于遠(yuǎn)程 TCP 或 WebSocket 協(xié)議。該鏡像設(shè)置了一個(gè) jenkins 用戶和 OpenSSH 服務(wù)器,以便主服務(wù)器可以通過(guò) SSH 連接到 agent。該鏡像需要 SSH 公鑰作為參數(shù),并將該密鑰放入 jenkins 用戶的 authorized_keys 文件中,應(yīng)在主服務(wù)器上的 agent 配置中指定私鑰,以允許主服務(wù)器連接。示例: docker run jenkins/ssh-agent:jdk8-windowsservercore-1809 ""使用 docker run 時(shí),還可以將公鑰作為環(huán)境變量傳遞。示例: docker run -e "JENKINS_AGENT_SSH_PUBKEY=" jenkins/ssh-agent:jdk8-windowsservercore-1809然后,將能夠作為 “jenkins” 使用?SSH Build Agents Plugin與匹配的私鑰連接該 agent。3
??下一步計(jì)劃?
我們正在考慮提供基于?Windows Server 2019 build 1909?的版本,以便 Jenkins 用戶可以在 GKE 群集上運(yùn)行這些鏡像。
我們還正在研究提供多體系結(jié)構(gòu)清單,以使 Windows 鏡像成為 latest 標(biāo)簽的一部分。還有一個(gè)開(kāi)放的 pull-request,用于為 Jenkins 主服務(wù)器創(chuàng)建基于 Windows 的 Docker 鏡像。對(duì)此沒(méi)有很多要求,但是為了使 Windows 用戶的產(chǎn)品完善,創(chuàng)建了這個(gè) pull request。對(duì)于與 Windows 不相關(guān)的計(jì)劃,請(qǐng)參閱?agent 的 Docker鏡像:新名稱和下一步博客文章。
查看文中鏈接,請(qǐng)點(diǎn)擊【閱讀原文】
推薦閱讀
Jenkins CLI 命令行 v0.0.28
手把手教會(huì)你 Jenkins 備份與恢復(fù)
CI/CD 哪家強(qiáng) - 主流開(kāi)源 CI 工具對(duì)比
征集用戶故事- Jenkins is the Way
Tekton 流水線發(fā)布首個(gè)官方 Beta 版本
Jenkins流水線與k8s的持續(xù)集成落地分享
總結(jié)
以上是生活随笔為你收集整理的Jenkins 设置镜像_Windows Docker Agent 镜像可以常规使用了的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: matlab用regress方法求ln函
- 下一篇: 生日快乐编程代码_世界上最好的编程语言,