這篇文章主要介紹如何使用Jenkins鏡像,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)是專業(yè)的江油網(wǎng)站建設(shè)公司,江油接單;提供做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行江油網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
$ docker run -p 8080:8080 index.csphere.cn/microimages/jenkins
這樣啟動(dòng)將會(huì)把所有workspace存儲(chǔ)到/var/jenkins_home目錄,包括所有數(shù)據(jù)、插件以及配置,你也許希望運(yùn)行在一個(gè)持久化的數(shù)據(jù)卷里:
$ docker run --name myjenkins -p 8080:8080 -v /var/jenkins_home index.csphere.cn/microimages/jenkins
myjenkins這個(gè)容器里的卷將會(huì)得到持久化,你也可以映射一個(gè)主機(jī)目錄:
$ sudo chown 999 /your/home $ docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home index.csphere.cn/microimages/jenkins
jenkins鏡像啟動(dòng)后,打開(kāi)瀏覽器http://your-ip:8080, 會(huì)提示輸入用戶名密碼,這里默認(rèn)用戶名admin,密碼admin。進(jìn)入后在用戶菜單里修改密碼。
docker最大的優(yōu)勢(shì)在于部署,jenkins最強(qiáng)大的在于作業(yè)調(diào)度和插件系統(tǒng),如何結(jié)合兩者?
jenkins鏡像里內(nèi)置了docker client命令行工具,/usr/bin/docker,因此我們只需要傳遞DOCKER_HOST環(huán)境變量 或者映射docker.sock文件給jenkins容器,就可以讓jenkins容器里面擁有docker的操作能力,進(jìn)而將兩者結(jié)合起來(lái)。
比如:
docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock index.csphere.cn/microimages/jenkins
然后我們就可以在自己的jenkins項(xiàng)目中,添加一個(gè)執(zhí)行shell腳本,示例如下:
TAG=$(echo $GIT_COMMIT | awk '{ string=substr($0, 1, 7); print string; }' ) docker build -t demo:$TAG . docker run --rm demo:$TAG run_test docker tag -f demo:$TAG your_registry/demo:$TAG docker push your_registry/demo:$TAG
如果你掛載了主機(jī)目錄到容器內(nèi),那么備份該目錄即可。這也是我們推薦的方法。將/var/jenkins_home目錄看作數(shù)據(jù)庫(kù)目錄。
如果你的卷在容器里面,那么可以通過(guò)docker cp $ID:/var/jenkins_home命令拷貝出數(shù)據(jù)。
如果對(duì)docker數(shù)據(jù)管理有興趣,可以閱讀 Managing data in containers
你可以通過(guò)groovy腳本來(lái)指定jenkins master執(zhí)行器的數(shù)量。默認(rèn)是2個(gè),但你可以擴(kuò)展鏡像:
# executors.groovy Jenkins.instance.setNumExecutors(5)
和Dockerfile
FROM index.csphere.cn/microimages/jenkins COPY executors.groovy /usr/share/jenkins/ref/init.groovy.d/executors.groovy
你可以在master上構(gòu)建,但如果想在slave上構(gòu)建的話,必須做好50000端口映射,這是用來(lái)連接slave agent的。
你也許想修改JVM的運(yùn)行參數(shù),比如heap memory:
$ docker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS=-Dhudson.footerURL=http://mycompany.com index.csphere.cn/microimages/jenkins
Jenkins的日志可以通過(guò)java.util.logging.config.fileJava property來(lái)配置
$ mkdir data $ cat > data/log.properties <<EOF handlers=java.util.logging.ConsoleHandler jenkins.level=FINEST java.util.logging.ConsoleHandler.level=FINEST EOF $ docker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS="-Djava.util.logging.config.file=/var/jenkins_home/log.properties">
你也可以傳遞jenkins的運(yùn)行參數(shù):
docker run jenkins --version
你還可以在環(huán)境變量JENKINS_OPTS中定義jenkins的運(yùn)行參數(shù),比如:
FROM index.csphere.cn/microimages/jenkins COPY https.pem /var/lib/jenkins/cert COPY https.key /var/lib/jenkins/pk ENV JENKINS_OPTS --httpPort=-1 --httpsPort=8083 --httpsCertificate=/var/lib/jenkins/cert --httpsPrivateKey=/var/lib/jenkins/pk EXPOSE 8083
你還可以通過(guò)定義環(huán)境變量JENKINS_SLAVE_AGENT_PORT來(lái)改變默認(rèn)的slave端口
FROM index.csphere.cn/microimages/jenkins ENV JENKINS_SLAVE_AGENT_PORT 50001
或者直接通過(guò)-e環(huán)境變量提供:
docker run --name myjenkins -p 8080:8080 -p 50001:50001 -e JENKINS_SLAVE_AGENT_PORT=50001 index.csphere.cn/microimages/jenkins
我們可以繼承此鏡像,來(lái)定義我們自己的jenkins的hook腳本或插件。比如我們希望加入更多的插件:
具體的插件可以通過(guò)Jenkins插件 搜索。
plugins.txt文件的內(nèi)容如下:
pluginID:version anotherPluginID:version
Dockerfile編寫(xiě)如下:
FROM index.csphere.cn/microimages/jenkins COPY plugins.txt /usr/share/jenkins/plugins.txt RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins.txt
以上是“如何使用Jenkins鏡像”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章題目:如何使用Jenkins鏡像
文章源于:http://m.newbst.com/article42/jeighc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、服務(wù)器托管、電子商務(wù)、全網(wǎng)營(yíng)銷推廣、企業(yè)建站、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)