拉取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方式