談到 CI/CD,那便少不了這裏面的佼佼者 Jenkins,正如 Jenkins 官網說的同樣:「Build great things at any scale」,構建偉大,無所不能!docker
話很少說,該篇文章將會帶你使用 Docker 快速建立一個單機版的 Jenkins 實例以及建立一個簡單的 Pipeline 項目。瀏覽器
這裏咱們將使用 Docker 進行安裝一個單機版的 Jenkins(這裏假設你瞭解 Docker 等工具的使用):bash
docker run -d --name jenkins \
-p 50000:50000 \
-p 8080:8080 \
-v /srv/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-u root \
--restart always \
jenkins/jenkins:2.263.4
複製代碼
也可使用 DockerCompose 進行安裝,建立 docker-compose.yaml
文件並添加如下內容,而後運行 docker-compose up -d
:markdown
version: '3.7'
services:
jenkins:
image: jenkins/jenkins:2.263.4
ports:
- 50000:50000
- 8080:8080
volumes:
- /srv/jenkins:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
user: root
restart: always
container_name: jenkins
複製代碼
解釋下這裏的一些運行選項:工具
- ports
- 50000:50000 用於集羣部署
- 8080:8080 用於瀏覽器訪問
- volumes
- /srv/jenkins:/var/jenkins_home 主要數據目錄
- /var/run/docker.sock:/var/run/docker.sock 掛載宿主機的 docker 套接字文件
- /usr/bin/docker:/usr/bin/docker 掛載宿主機的 docker 可執行文件
- user: root 因爲 jenkins 容器默認使用的是 jenkins 用戶,而我使用的是 root 用戶運行的,若是不加,將會由於權限不夠沒法讀寫目錄 /srv/jenkins,這裏固然也有其餘辦法解決這個問題,好比修改目錄 /srv/jenkins 的權限給 jenkins 用戶。
這裏掛載 docker 相關的文件是爲了在執行流水線的時候可使用 docker 環境。oop
訪問 http://your_ip:8080 即可以看到下面這個頁面:ui
這裏須要一個 Administrator password
才能夠繼續安裝,如今咱們回到宿主機執行下面的命令獲取它:spa
# docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
dfd97892d82e43f18437ac628908b0b5
複製代碼
這裏咱們選擇安裝推薦的插件:插件
接下來即可以看到 Jenkins 在自動幫咱們安裝一些插件,包括經常使用的 Git
、Pipeline
等:3d
而後須要建立第一個用戶:
最後配置訪問的地址,若是沒有綁定域名的話,就直接默認便可:
接下來就開始咱們的 CI/CD 之旅吧!
點擊 New Item
建立咱們的第一個 Pipeline 項目:
編寫 Pipeline 腳本,打印一行 Hello World
:
pipeline {
agent any
stages {
stage('Hello') {
steps {
echo 'Hello World'
}
}
}
}
複製代碼
點擊 Save
保存,而後點擊 Build Now
當即運行,咱們能夠看到運行結果以下:
本文主要針對剛接觸 CI/CD 以及 Jenkins 的朋友們,介紹瞭如何基於 Docker 快速建立 Jenkins 實例,建立了一個簡單的 Hello World
流水線項目,但願能幫助你們快速入門 Jenkins!