搭建jenkins構建環境(開源CI&CD軟件領導者)

在macOS和Linux上linux

  1. 打開一個終端窗口。docker

  2. 下載 jenkinsci/blueocean 鏡像並使用如下docker run 命令將其做爲Docker中的容器運行 :macos

    docker run \
      -u root \
      --rm \  
      -d \ 
      -p 8080:8080 \ 
      -p 50000:50000 \ 
      -v jenkins-data:/var/jenkins_home \ 
      -v /var/run/docker.sock:/var/run/docker.sock \ 
      jenkinsci/blueocean
      (可選) jenkinsci/blueocean 關閉時自動刪除Docker容器(下圖爲實例)。若是您須要退出Jenkins,這能夠保持整潔。
      (可選)jenkinsci/blueocean 在後臺運行容器(即「分離」模式)並輸出容器ID。若是您不指定此選項, 則在終端窗口中輸出正在運行的此容器的Docker日誌。
      映射(例如「發佈」)jenkinsci/blueocean 容器的端口8080到主機上的端口8080。 第一個數字表明主機上的端口,而最後一個表明容器的端口。所以,若是您爲此選項指定 -p 49000:8080 ,您將經過端口49000訪問主機上的Jenkins。
      (可選)將 jenkinsci/blueocean 容器的端口50000 映射到主機上的端口50000。 若是您在其餘機器上設置了一個或多個基於JNLP的Jenkins代理程序,而這些代理程序又與 jenkinsci/blueocean 容器交互(充當「主」Jenkins服務器,或者簡稱爲「Jenkins主」), 則這是必需的。默認狀況下,基於JNLP的Jenkins代理經過TCP端口50000與Jenkins主站進行通訊。 您能夠經過「 配置全局安全性」 頁面更改Jenkins主服務器上的端口號。若是您要將您的Jenkins主機的JNLP代理端口的TCP端口 值更改成51000(例如),那麼您須要從新運行Jenkins(經過此 docker run …​命令)並指定此「發佈」選項 -p 52000:51000,其中最後一個值與Jenkins master上的這個更改值相匹配,第一個值是Jenkins主機的主機上的端口號, 經過它,基於JNLP的Jenkins代理與Jenkins主機進行通訊 - 例如52000。
      (可選,但強烈建議)映射在容器中的`/var/jenkins_home` 目錄到具備名字 jenkins-data 的volume。 若是這個卷不存在,那麼這個 docker run 命令會自動爲你建立卷。 若是您但願每次從新啓動Jenkins(經過此 docker run ... 命令)時保持Jenkins狀態,則此選項是必需的 。 若是你沒有指定這個選項,那麼在每次從新啓動後,Jenkins將有效地重置爲新的實例。
    注意: 所述的 jenkins-data 卷也能夠 docker volume create命令建立: docker volume create jenkins-data 代替映射 /var/jenkins_home 目錄轉換爲Docker卷,還 能夠將此目錄映射到計算機本地文件系統上的目錄。 例如,指定該選項 -v $HOME/jenkins:/var/jenkins_home 會將容器的 /var/jenkins_home 目錄映射 到 本地計算機上目錄中的 jenkins 子目錄, 該$HOME目錄一般是 /Users/<your-username>/jenkins 或`/home/<your-username>/jenkins` 。
      (可選 /var/run/docker.sock 表示Docker守護程序經過其監聽的基於Unix的套接字。 該映射容許 jenkinsci/blueocean 容器與Docker守護進程通訊, 若是 jenkinsci/blueocean 容器須要實例化其餘Docker容器,則該守護進程是必需的。 若是運行聲明式管道,其語法包含agent部分用 docker
    • 例如, agent { docker { ... } } 此選項是必需的。 在Pipeline Syntax 頁面上閱讀更多關於這個的信息 。瀏覽器

      jenkinsci/blueocean Docker鏡像自己。若是此鏡像還沒有下載,則此 docker run 命令 將自動爲您下載鏡像。此外,若是自上次運行此命令後發佈了此鏡像的任何更新, 則再次運行此命令將自動爲您下載這些已發佈的鏡像更新。 注意:這個Docker鏡像也可使用如下 docker pull命令獨立下載(或更新) : docker pull jenkinsci/blueocean 注意: 若是複製並粘貼上面的命令片斷不起做用,請嘗試在此處複製並粘貼此無註釋版本:
    docker run \
      -u root \
      --rm \
      -d \
      -p 8080:8080 \
      -p 50000:50000 \
      -v jenkins-data:/var/jenkins_home \
      -v /var/run/docker.sock:/var/run/docker.sock \
      jenkinsci/blueocean
  3. 繼續按照Post-installation setup wizard安裝。安全

在Windows上bash

  1. 打開命令提示符窗口。服務器

  2. 下載 jenkinsci/blueocean 鏡像並使用如下 docker run 命令將其做爲Docker中的容器運行 :spa

    docker run ^
      -u root ^
      --rm ^
      -d ^
      -p 8080:8080 ^
      -p 50000:50000 ^
      -v jenkins-data:/var/jenkins_home ^
      -v /var/run/docker.sock:/var/run/docker.sock ^
      jenkinsci/blueocean

    有關這些選項的解釋,請參閱上面的在macOS和Linux上插件

  3. 繼續按照Post-installation setup wizard安裝。3d

訪問Jenkins / Blue Ocean Docker容器

若是您對Docker有一些經驗,而且您但願或須要 jenkinsci/blueocean 經過 命令提示符經過終端/命令提示符訪問docker exec ,則能夠添加一個選項 --name jenkins-blueocean(如 docker run 所述),這會爲 jenkinsci/blueocean 容器命名爲 "jenkins-blueocean" 。

這意味着你可使用以下命令訪問容器(經過單獨的終端/命令提示符窗口) :

docker exec -it jenkins-blueocean bash

經過Docker日誌訪問Jenkins控制檯日誌

您可能須要訪問Jenkins控制檯日誌。例如,在解鎖 Jenkins 做爲安裝後設置嚮導的一部分時。

若是沒有指定分離模式選項 -d 與 docker run ... 命令以上, 那麼Jenkins控制檯日誌是經過終端方便/命令從中運行此Docker命令提示符窗口。

不然,您能夠經過訪問Jenkins控制檯日誌 Docker logs中 的 jenkinsci/blueocean ,使用如下命令:

docker logs <docker-container-name>

Your <docker-container-name> can be obtained using the docker ps command. If you specified the
--name jenkins-blueocean option in the docker run ... command above (see also Accessing the Jenkins/Blue Ocean Docker container), you can simply use the docker logs command:

您的 <docker-container-name> 可使用docker ps 命令得到 。若是您在上述 docker run ...`命令中指定了 `--name jenkins-blueocean 參數(請參閱訪問Jenkins/Blue Ocean Docker容器) ,則只需使用如下 docker logs 命令:

docker logs jenkins-blueocean

訪問Jenkins主目錄

例如,您可能須要訪問Jenkins主目錄,以查看 workspace 子目錄中Jenkins版本的詳細信息。

若是您將Jenkins主目錄( /var/jenkins_home )映射到您計算機 本地文件系統上的一個目錄(如上面的 docker run ... 命令 ), 那麼您能夠經過計算機經常使用的終端/命令提示符訪問此目錄的內容。

不然,若是您在 docker run ... 命令裏指定了 -v jenkins-data:/var/jenkins_home 選項, 則能夠 jenkinsci/blueocean 使用如下 docker exec 命令經過容器的終端/命令提示符訪問Jenkins主目錄的內容:

docker exec -it <docker-container-name> bash

上面所提到, 您的 <docker-container-name> 可使用來得到 docker ps 命令。若是您在 docker run ... 中指定了 --name jenkins-blueocean 該選項(也可參照 訪問Jenkins / Blue Ocean Docker容器)), 則只需使用如下 docker exec 命令:

docker exec -it jenkins-blueocean bash

 

安裝後設置嚮導

下載安裝並運行Jenkins後,即將開始進入安裝嚮導。

此安裝嚮導會引導您完成幾個快速「一次性」步驟來解鎖Jenkins, 使用插件對其進行自定義,並建立第一個能夠繼續訪問Jenkins的管理員用戶。

解鎖 Jenkins

當您第一次訪問新的Jenkins實例時,系統會要求您使用自動生成的密碼對其進行解鎖。

  1. 瀏覽到 http://localhost:8080(或安裝時爲Jenkins配置的任何端口),並等待 解鎖 Jenkins 頁面出現。

Unlock Jenkins page

  1. 從Jenkins控制檯日誌輸出中,複製自動生成的字母數字密碼(在兩組星號之間)。

Copying initial admin password

  1. 在 解鎖Jenkins 頁面上,將此 密碼 粘貼到管理員密碼字段中,而後單擊 繼續 。

Notes:

  • 若是您以分離模式在Docker中運行Jenkins,則能夠從Docker日誌(above) 訪問Jenkins控制檯日誌。

  • Jenkins控制檯日誌顯示能夠獲取密碼的位置(在Jenkins主目錄中)。 必須在新Jenkins安裝中的安裝嚮導中輸入此密碼才能訪問Jenkins的主UI。 若是您在設置嚮導中跳過了後續的用戶建立步驟, 則此密碼還可用做默認admininstrator賬戶的密碼(使用用戶名「admin」)

自定義jenkins插件

解鎖 Jenkins以後,在 Customize Jenkins 頁面內, 您能夠安裝任何數量的有用插件做爲您初始步驟的一部分。

兩個選項能夠設置:

  • 安裝建議的插件 - 安裝推薦的一組插件,這些插件基於最多見的用例.

  • 選擇要安裝的插件 - 選擇安裝的插件集。當你第一次訪問插件選擇頁面時,默認選擇建議的插件。

  若是您不肯定須要哪些插件,請選擇 安裝建議的插件 。 您能夠經過Jenkins中的Manage Jenkins > Manage Plugins 頁面在稍後的時間點安裝(或刪除)其餘Jenkins插件 。

設置嚮導顯示正在配置的Jenkins的進程以及您正在安裝的所選Jenkins插件集。這個過程可能須要幾分鐘的時間

建立第一個管理員用戶

最後,在customizing Jenkins with plugins以後,Jenkins要求您建立第一個管理員用戶。 . 出現「 建立第一個管理員用戶 」頁面時, 請在各個字段中指定管理員用戶的詳細信息,而後單擊 保存完成 。 . 當 Jenkins準備好了 出現時,單擊*開始使用 Jenkins*。

Notes: * 這個頁面可能顯示 Jenkins幾乎準備好了! 相反,若是是這樣,請單擊 重啓 。 * 若是該頁面在一分鐘後不會自動刷新,請使用Web瀏覽器手動刷新頁面。若是須要,請使用您剛剛建立的用戶的憑據登陸到Jenkins,並準備好開始使用Jenkins!

  從這時起,Jenkins用戶界面只能經過提供有效的用戶名和密碼憑證來訪問。

官網地址:https://jenkins.io/zh/

相關文章
相關標籤/搜索