一隻箱子裡的貓,看著電腦螢幕

Schrödinger's Programmer

奔跑吧工程師,趁年輕跑得越遠越好

Jenkins 01 安裝

一步一步安裝 Jenkins

Ray

jenkins icon

使用 Jenkins 建立自己的自動部署服務
Jenkins 是一套以 Java 開發的一套 CI/CD 系統工具
之前介紹過 Drone ,於是這次就來摸摸 Jenkins 了

如果使用 docker 安裝,並且想在裡面使用 docker 指令的話會需要處理 docker in docker 問題
對 docker 和作業系統不太熟的話,建議和我一樣使用直接在主機上安裝的方法

底下照著官方安裝文件 一步一步安裝

首先先確定你有裝 java

java -version

sudo apt install openjdk-11-jre

接著就是安裝 Jenkins 服務到主機上,這邊安裝的是穩定版(LTS, Long Term Support)

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins

使用指令啟動 jenkins 服務並在瀏覽器輸入localhost:8080後會看到驗證初始密碼的提示

sudo systemctl enable --now jenkins

admin password

可以用指令查看提示路徑中的初始 admin 密碼

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

外掛安裝

Jenkins預設不支援 pipeline,需要安裝 pipeline 外掛
這邊我選擇的是:Blue Ocean

為了使用 docker 作為構建流程中的 agent
還必須安裝兩個擴充功能

  • Docker plugin
  • Docker Pipeline

可以在管理外掛程式的地方進行搜尋和安裝

jenkins manage

當然還有就是你 Jenkins 的 Host 主機也要裝好 Docker

docker 指令的權限設定

首先先切換到 jenkins 身份

sudo su jenkins

接著隨便呼叫一個 docker 指令,例如 docker ps
如果看到權限不足的提示訊息

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post

有些文章會告訴你直接sudo chmod 777 /var/run/docker.sock

不要這麼做!正確做法應該是將 jenkins 加入 docker 使用者群組中

cat /etc/passwd                   # 列出所有使用者
sudo groupadd docker              # 建立 docker 使用者群組,通常安裝 docker 的就會建立
sudo usermod -aG docker jenkins   # 將 jenkins 這個使用者加入 docker 群組

接著重啟 jenkins 服務,可以透過網址列直接輸入網址來觸發重啟

http://jenlins_url/restart

jenkins restart

按下就可以等他重新啟動後就會載入新的設定,就可以在 jenkins 身份下執行 docker 指令了

最新文章

Category

Tag