Install and setup Jenkins with Docker, connected with gitlab project.

https://github.com/jenkinsci/docker/blob/master/README.md

安裝 & 執行

docker run -d — restart=always \
-p 8080:8080 -p 50000:50000 \
-v jenkins_home: :/var/jenkins_home jenkinsci/jenkins:lts

設定檔會透過 volume 方式掛在 jenkins_home 底下
可以透過 docker 語法 export 出來

Exports volume
docker cp {container_id}:/var/jenkins_home .

設定

安裝預設套件
安裝 NodeJS plugin
安裝 Gitlab plugin

安裝 NodeJS plugin
https://plugins.jenkins.io/nodejs

如果專案內需要跑 npm 之類的指令,可以下載 nodeJS plug in
可以在 JENKINS_URL/configureTools 底下設定多個 node 環境。在專案內 build environnment 選取上面提供的環境。

安裝 Gitlab plugin
https://github.com/jenkinsci/gitlab-plugin/wiki/Setup-Example
  1. 建立一把 pub & private key,上傳 .pub 到 gitlab。
     Jenkins 側邊 Credentials > System > 新增 credentials
     選取 ssh Username with private key,private key 選擇 enter directly,把整個 private key 貼上來。
     (注意!需要包含頭尾的 — — -BEGIN RSA PRIVATE KEY — — — 
    & — — END RSA PRIVATE KEY — — -)
  2. 在 gitlab 產生一把 access token,設定到 Jenkins (後續直接看文章)
  3. Jenkins 專案底下 Build triggers 勾選 Build when a change is pushed to GitLab. Gitlab CI Server …
  4. 把上個步驟 Jenkins 產生的 webhook url 設定到 gitlab,可以在 gitlab 直接測試,成功的話會觸發開始建置
Like what you read? Give 陳柏維 a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.