如何使用Docker安裝Jenkins ?

发表于:2018-2-27 10:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:點燈坊    来源:推酷

  若要在 macOS 執行 Jenkins,由於 Jenkins 是由 Java 開發,當然可以直接在 macOS 安裝原生的 Jenkins,若是測試與學習的角度,更好的選擇就是安裝 Docker 版的 Jenkins,若要移除 Jenkins,直接刪除 Docker 的 container 與 image 即可,不會污染到 macOS 環境。
  Version
  macOS High Sierra 10.13.3
  Docker for Mac 17.20.0-ce-mac49 (21995)
  Jenkins 2.89.4
  下載 Jenkins Image
  $ docker pull jenkins/jenkins:lts
  使用 docker pull 下載 image 到本機。
  lts : 表示 Long time support 版本,通常較為穩定
  建立 Container
  $ docker run --name MyJenkins -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
  使用 docker run 由 image 建立 container 並執行之。
  —name : 替 container 取一個人能夠識別的名字 MyJenkins (若省略,Docker 將隨機命名,將來不易維護)
  -p : Docker 外部與 Jenkins 內部所對應的 port,其中左邊為外部 Docker 的 port,右邊為 Jenkins 內部的 port
  -v : 建立 JENKINS_HOME 環境變數,其目錄在 /var/jenkins_home ,為 Jenkins 的工作目錄
  docker run 除了建立 container 外,還會順便執行 container。
  Unlock Jenkins
  Jenkins 一旦啟動後,就必須在 browser 設定 Jenkins,安裝 plugin。
  一開始會要求輸入 Administrator password,並提示預設密碼已經寫在 /var/jenkins_home/secrets/initialAdminPassword 。
  由於我們現在是使用 Docker,因此該目錄是在 container 內,而不是在 host,因此要進入 container 內讀出 initialAdminPassword 。
  $ exec -it MyJenkins bash
  jenkins@54ceef740712:/$ cat /var/jenkins_home/secrets/initialAdminPassword
  先進入 Jenkins 的 terminal,再將密碼 cat 出來。
  1、輸入 exec it MyJenkins bash 進入 Jenkins terminal
  2、輸入 cat /var/jenkins_home/secrets/initialAdminPassword 顯示密碼
  Customize Jenkins
  選擇 Install suggested plugins 安裝預設 plugin。
  Getting Started
  需要一些時間安裝 plugin。
  Create Admin User
  建立管理者密碼,按 Save and Finish 繼續。
  Start Using Jenkins
  按 Start using Jenkins 結束 Jenkins 設定。
  Welcome to Jenkins
  熟悉的 Jenkins 設定介面已經呈現,Jenkins 到此算安裝完成。
  將 Container 儲存成 Image
  目前為止 Jenkins 已經設定好,也安裝了預設 plugin,所以在 container 內的 /var/jenkins_home 已經有不少資料,我們將以目前 container 儲存成 image,將來若 Jenkins container 被我們玩壞了,可以直接再以此 image 建立全新 container,或者將新的 image 匯出成 tar ,可將此 tar 加以備份,或者將 tar 檔交給其他人匯入成 image。
  $ docker commit MyJenkins oomusou/jenkins
  使用 docker commit 將 container 儲存成自己的 image。
  1、輸入 docker commit MyJenkins oomusou/jenkins 將 MyJenkins container 儲存成 oomusou/jenkins image
  2、輸入 docker images 可以看到 oomusou/jenkins 已經新增
  將 Image 匯出成 Tar
  $ docker save -o MyJenkins.tar oomusou/jenkins
  使用 docker save 將 image 匯出成 tar 檔。
  -o : 指定匯出 tar 檔的檔名
  1、輸入 docker save -o MyJenkins.tar oomusou/jenkins 將 oomusou/jenkins image 匯出成 MyJenkins.tar
  2、硬碟已經產生 MyJenkins.tar
  從 Tar 匯入成 Image
  $ docker load -i MyJenkins.tar
  使用 docker load 將 tar 檔匯入成 image。
  -i : 指定匯入 tar 檔的檔名
  輸入 docker load -i MyJenkins.tar 將 MyJenkins.tar 匯入成 oomusou/jenkins image
  建立新的 Container
  $ docker run --name MyJenkins-p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home oomusou/jenkins
  使用 docker run 由 image 建立 container 並執行之。
  Conclusion
  · 若使用 Jenkins Docker,則整個過程分成 Docker 操作與 Jenkins 設定部分
  · 可將最後設定好的 Jenkins 儲存成 image 與 tar ,可將 tar 加以備份或傳給其他人
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号