Jenkins 设置镜像_Windows Docker Agent 镜像可以常规使用了
生活随笔
收集整理的這篇文章主要介紹了
Jenkins 设置镜像_Windows Docker Agent 镜像可以常规使用了
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們宣布可以使用官方的 Windows agent Docker 鏡像了,這些鏡像允許在 Docker 和 Kubernetes 上使用 Windows 操作系統配置 Jenkins 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
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。該鏡像有兩個主要用途: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 镜像可以常规使用了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab用regress方法求ln函
- 下一篇: java快递柜系统开发_他专注智能柜系统