用docker安裝jenkins的鏡像
docker pull jenkins/jenkins:lts
docker容器相關(guān)的映射都放在/home/docker中
新建jenkins_home目錄(自行設(shè)置,記住它),并修改它的權(quán)限(不然docker運行容器會報權(quán)限錯誤):
mkdir -p /home/docker/jenkins_home
chown -R 1000:1000 /home/docker/jenkins_home
使用docker鏡像啟動容器:
docker run -d --name jenkins -p 5000:8080 -p 50000:50000 -v /home/docker/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
命令解釋
- -d 是讓它到后臺運行這樣不用一直保持終端開啟;
- -p 5000:8080 -p 50000:50000 把容器的端口映射出來,支持多個,8080和50000端口都是Jenkins需要的,其中5000(映射到了Jenkins容器的8080端口)將是我們訪問Jenkins應(yīng)用端的端口;
- --name jenkins 是起一個你中意的名字;
- -v /home/docker/jenkins_home:/var/jenkins_home容器的某個目錄映射到你剛才新建的目錄;
- jenkins/jenkins:lts 鏡像名稱,我們下載時候用的就是它
容器后臺運行了,我們看看它是否真的在跑,可以用ps查看容器狀態(tài):
docker ps

瀏覽器訪問jenkins(5000端口)http://ip:5000/,看到界面已經(jīng)出來了,需要我們做一些初始化工作。
如果一直提示Please wait while Jenkins is getting ready to work的問題,需要你進入jenkins的工作目錄(/home/docker/jenkins_home),打開hudson.model.UpdateCenter.xml文件
vim /home/docker/jenkins_home/hudson.model.UpdateCenter.xml
// 第一方案
將 url 中的`http://updates.jenkins.io/update-center.json`更改為`http://updates.jenkins.io/update-center.json`,即去掉 https 中的` s` 。
// 第二方案
將`https://updates.jenkins.io/update-center.json`更改為`https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json`
即改為國內(nèi)的清華大學的鏡像地址。

按照它給的提示我們我們?nèi)フ蚁挛覀冇成涞膉enkins home目錄下的文件內(nèi)容,把它復(fù)制粘貼到密碼輸入框,然后點繼續(xù)(這字符串也是作為jenkins的admin密碼):
cat /home/docker/jenkins_home/secrets/initialAdminPassword
然后按照它的提示慢慢往下點(可以自己按需選擇少量插件安裝加快速度,后面還可以加裝;或者在這一步之前把它換成國內(nèi)鏡像源會快些),等待它安裝,:

配置一個賬號或者點擊下方的使用admin賬號:



用jenkins創(chuàng)建一個構(gòu)建任務(wù)!


填寫jenkins構(gòu)建時執(zhí)行的shell腳本


node -v
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install
rm -rf ./dist/*
npm run build
rm -rf /var/jenkins_home/www/* #關(guān)聯(lián)的是docker宿主機的/home/docker/jenkins_home
cp -rf ./dist/* /var/jenkins_home/www
注意:需要在/home/docker/jenkins_home中創(chuàng)建www文件夾(由于前面的關(guān)聯(lián)關(guān)系等同于Jenkins容器中的/var/jenkins_home/www),且將文件夾所有者及所有組更改為docker用戶(id為1000)
mkdir -p /home/docker/jenkins_home/www
chown -R 1000:1000 /home/docker/jenkins_home/www
Jenkins安裝nodejs插件


nodejs插件配置


回到項目中配置

構(gòu)建項目,等待構(gòu)建完成


