Jenkins
# https://hub.docker.com/r/jenkins/jenkins
version: '3'
services:
jenkins:
image: registry.cn-hangzhou.aliyuncs.com/zhengqing/jenkins:2.346.1 # 原鏡像`jenkins/jenkins:2.346.1`
container_name: jenkins # 容器名為'jenkins'
restart: unless-stopped # 指定容器退出后的重啟策略為始終重啟,但是不考慮在Docker守護進程啟動時就已經(jīng)停止了的容器
volumes:
# 數(shù)據(jù)卷掛載路徑設(shè)置,將本機目錄映射到容器目錄 (下面映射可在容器中執(zhí)行宿主機docker命令)
- "/usr/bin/docker:/usr/bin/docker"
- "/var/run/docker.sock:/var/run/docker.sock"
- "/usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7"
# - "/usr/local/bin/docker-compose:/usr/local/bin/docker-compose" # 無效
- "./jenkins/jenkins_home:/var/jenkins_home"
# ThinBackup插件備份jenkins配置存儲目錄
- "./jenkins/jenkins_config:/var/jenkins_config"
# 解決jenkins安裝插件報錯: An error occurred during installation: No such plugin: cloudbees-folder
# 下載地址 http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/
- "./jenkins/jenkins_home/war/META-INF/detached-plugins/cloudbees-folder.hpi:/var/jenkins_home/war/META-INF/detached-plugins/cloudbees-folder.hpi"
environment: # 設(shè)置環(huán)境變量,相當于docker run命令中的-e
TZ: Asia/Shanghai
LANG: en_US.UTF-8
JAVA_OPTS: '-Xmx2048M -Xms2048M -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:MaxNewSize=128m -Djava.util.logging.config.file=/var/jenkins_home/log.properties -Duser.timezone=Asia/Shanghai'
user: root # 使用root權(quán)限運行容器【docker中通過`-u root`命令】
ports: # 映射端口
- "10000:8080"
# 當前目錄下所有文件賦予權(quán)限(讀、寫、執(zhí)行)
chmod -R 777 ./jenkins
# 運行
docker-compose -f docker-compose-jenkins.yml -p jenkins up -d
訪問地址:ip地址:10000
文章來源:http://www.zghlxwxcb.cn/news/detail-689385.html
查看密碼
# 普通權(quán)限進入到docker容器
docker exec -it jenkins /bin/bash
# 使用root權(quán)限進入到docker容器
docker exec -it -u root jenkins /bin/bash
# 查看密碼
cat /var/jenkins_home/secrets/initialAdminPassword
問題
jenkins升級問題
# docker下jenkins升級只要需要替換容器中的jenkins.war文件并重啟docker容器
# 1.進入docker容器,其中-u root是使用root權(quán)限登錄
docker exec -u root -it jenkins /bin/bash
# 2.使用wget命令下載最新版本的jenkins.war文件
# 3.使用whereis jenkins命令查看jenkins的安裝路徑 `/usr/share/jenkins/jenkins.war`
# 4.使用cp命令將新的war包覆蓋舊文件即可
# 5.瀏覽器訪問ip:8080/restart 重啟即可升級成功
# 備注:在進行容器部署時可以將容器的【/user/share/jenkins】目錄掛載在宿主機上,以后升級只需替換jenkins.war文件即可。此種方式存在一個問題,在部署后由于宿主機的掛載文件夾為空,所以在部署后無法正常啟動容器,放入jenkins.war與ref文件即可正常啟動。
jenkins時區(qū)設(shè)置問題
# 1.進入系統(tǒng)管理->腳本命令行,執(zhí)行下面命令設(shè)置為上海時間(該方式重啟后失效)
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')
# 2.在部署容器時添加參數(shù),-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai(一直有效)
配置插件更新代理
# 輸入網(wǎng)址 http://localhost:8080/pluginManager/advanced
# 進入該頁面最底下,找到【Update Site】,
# 把其中的URL改成清華大學(xué)的Jenkins插件鏡像地址:
# http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
安裝WebHooks并啟用
# 在Jenkins插件管理搜索安裝插件Generic Webhook Trigger
# 構(gòu)建觸發(fā)器啟用鉤子后地址: http://139.9.205.69:10000//generic-webhook-trigger/invoke?token=xxxx
# 為了安全可開啟Generic Webhook Trigger Whitelist
配置Jenkins參數(shù)
# 打開updates文件夾中的default.json
# 把connectionCheckUrl中的http://www.google.com修改為http://www.baidu.com
# 把url中的http://updates.jenkins.io/download替換為http://mirrors.tuna.tsinghua.edu.cn/jenkins
解決jenkins安裝插件報錯: An error occurred during installation: No such plugin: cloudbees-folder
到國內(nèi)清華大學(xué)開源軟件鏡像站的插件中心,下載這個插件
Index of /jenkins/plugins/skip-certificate-check/latest/ | 清華大學(xué)開源軟件鏡像站 | Tsinghua Open Source Mirror文章來源地址http://www.zghlxwxcb.cn/news/detail-689385.html
到了這里,關(guān)于基于Docker+Jenkins+Gitl搭建持續(xù)集成環(huán)境(部分關(guān)鍵筆記)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!