docker之jenkins安裝與配置

拉取jenkins鏡像

docker pull jenkins/jenkins:lts

這是最新版的jenkins 鏡像,其他的jenkins鏡像倉庫都被官方棄用了

創建jenkins 容器

docker run -d -p 8090:8080 -p 50000:50000 \
-v /opt/jenkins/:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai \  
--restart=always \
--name jenkins \
jenkins/jenkins:lts

-d:後臺模式啓動
-p 端口映射 將本地的 8090 端口綁定到容器的 8080 端口上
基於 JNLP 的 Jenkins 代理通過 TCP 端口 50000 與 Jenkins master 進行通信
-v:(掛載卷)主機的目錄 /opt/jenkins 映射到容器的 /var/jenkins_home。
-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai 修改jenkins的時區
–name:給新創建的容器命名,
–restart=always 當docker重啓後 容器也會自動重啓

docker ps -a

在這裏插入圖片描述
發現容器已經退出運行
我們查看日誌

docker logs jenkins

在這裏插入圖片描述
發現是volume(j卷)的權限問題,當映射本地卷(/opt/jenkins)時,
/var/jenkins_home 的用戶爲root,jenkins的usr就沒有訪問權限,
我們用以下命令

 docker run -ti --rm --entrypoint="/bin/bash" jenkins/jenkins:lts  -c "whoami && id" 

在這裏插入圖片描述
得知容器中jenkins user的uid爲1000
此時 賦予 uid 1000 的文件操作權限

chown -R 1000:1000 /opt/jenkins

啓動並查看日誌

docker start jenkins &&
docker -t -f --tail 100 jenkins 

jenkins正常啓動,但是在日誌中 有可能發現以下錯誤日誌
在這裏插入圖片描述
說明,這個地址連接超時,下在插件會失敗,有兩個解決辦法
首先在掛載的/opt/jenkins目錄下找到hudson.model.UpdateCenter.xml文件

vi hudson.model.UpdateCenter.xml

第一種:將https://updates.jenkins.io/update-center.json的s去掉
第二種:換成國內的鏈接,
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
然後重啓容器

docker restart jenkins 

打開網址

http://xxx.xxx.32.xxx:8090

出現
在這裏插入圖片描述
至此安裝成功!

解鎖jenkins

jenkins啓動後,使用docker logs jenkins
在這裏插入圖片描述
第一個紅框即jenkins 初始密碼 這個密碼保存在第二個紅框路徑下
同時 掛載在/opt/jenkins目錄下
輸入密碼後,可能提示
在這裏插入圖片描述
解決方法如下:
修改hudson.model.UpdateCenter.xml,方法再上文中⬆
修改/opt/jenkins/updates/default.json
因jenkins在安裝插件時需要檢查網絡,默認是訪問google的
我們需要改成百度的www.baidu.com
在這裏插入圖片描述
該好後 重啓jenkins 無日誌異常

 docker restart jenkins && docker logs -t -f --tail 100 jenkins

插件安裝 選擇新手入門

創建賬戶

實例配置

配置jenkins

點擊Manage Jenkins ==> Global Tool Configuration

1. 配置 Git

如果發現如下提示
在這裏插入圖片描述
發現默認配置的git 找不到執行文件地址
這時我們
進入容器

docker exec -it 7a7cb53e9f78 /bin/bash

查看容器虛擬主機系統版本

cat /etc/issue

Docker 退出容器不停止容器運行

Ctrl+P+Q

查看git版本 確定git是否自動安裝,並且查詢git安裝地址

git --version && whereis git

將這個地址填入
在這裏插入圖片描述
解決問題
配置Git 拉取憑據
在這裏插入圖片描述
添加ssh
在這裏插入圖片描述

爲什麼配置ssh私鑰?jenkins 將用這個私鑰去和git倉庫建立連接
倉庫 配置 ssh公鑰

git 配置完成

2. 配置JDK

在jenkins 掛載的文件下創建global_env文件夾,
在這裏插入圖片描述

上傳jdk解壓
在Manage Jenkins ==> Global Tool Configuration
在這裏插入圖片描述
重啓jenkins / jenkins 容器即可使用
新增jdk配置

jenkins 在容器裏工作所以這裏填寫 jenkins 掛載卷 所對應的目錄
只要配置了jdk 你的項目就會優先使用你配置的jdk

3. 配置Gradle

Global Tool Configuration配置方式同上
下面主要是 項目構建配置
選擇 引用gradle script
在這裏插入圖片描述
選擇版本和填入任務
在這裏插入圖片描述

注意這種方式 在項目根目錄下必須有gradle的腳本,否則會報任務不存在的錯誤,如果腳本在下級目錄,建議使用shell方式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章