自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用docker來提升你的Jenkins演示1

云計(jì)算
Jenkins (http://jenkins-ci.org) 幾乎是CI(持續(xù)集成)的代名詞。 它有一個(gè)大的社區(qū),有很多插件一起提供了很強(qiáng)大的功能。為了學(xué)習(xí)這些東西,最好的辦法將是通過設(shè)置環(huán)境來實(shí)踐它。

什么是Jenkins

Jenkins (http://jenkins-ci.org) 幾乎是CI(持續(xù)集成)的代名詞。 它有一個(gè)大的社區(qū),有很多插件一起提供了很強(qiáng)大的功能。為了學(xué)習(xí)這些東西,***的辦法將是通過設(shè)置環(huán)境來實(shí)踐它。

此外如果你想給別人介紹jenkins的新功能,你很想為這些功能快速創(chuàng)建一個(gè)演示環(huán)境。

如何可以輕松地完成? 我最喜歡用Docker來實(shí)現(xiàn)這一點(diǎn)。

在這個(gè)博客系列,我會(huì)用一些例子一步一步來說明如何實(shí)現(xiàn)這一目標(biāo)。

演示Jenkins的小功能 - AnsiColor插件

Jenkins AnsiColor plugin 是我最喜歡的小插件之一,它可以把你控制臺(tái)日志看起來更好。

所以我想給大家一個(gè)演示環(huán)境來可以嘗試,而無需在本地Jenkins上安裝。我一般推薦在正式部署之前嘗試一下。

結(jié)果

讓我們來立即來看看效果,或許你也可能只是對(duì)這個(gè)功能感興趣。

docker run –p 8080:8080 –t larrycai/jenkins-demo1

在控制臺(tái)窗口中上Jenkins已經(jīng)被啟動(dòng),然后可以打開瀏覽器訪問8080端口。

看起來相當(dāng)不錯(cuò),一個(gè)叫craft的任務(wù)(job)已經(jīng)存在了,Jenkins顯示是***的LTS版本1.580.1

點(diǎn)擊craft任務(wù),并運(yùn)行它,然后檢查console。太棒了,部分結(jié)果可以有顏色顯示了,這就是我們要的。

然后回過頭來看看它是如何配置。

現(xiàn)在演示完畢,可以學(xué)習(xí)怎么做到的。

它是如何工作的

這里是Dockerfile, 參見github上的源代碼

  1. FROM ubuntu:trusty  
  2.  
  3. MAINTAINER Larry Cai <larry.caiyu@gmail.com>  
  4.  
  5. ENV REFRESHED_AT 2014-11-03  
  6.  
  7. RUN apt-get update  && apt-get install -qqy curl openjdk-6-jdk  
  8.  
  9. ENV JENKINS_HOME /opt/jenkins/data  
  10. ENV JENKINS_MIRROR http://mirrors.jenkins-ci.org  
  11.  
  12. # install jenkins.war and plugins  
  13.  
  14. RUN mkdir -p $JENKINS_HOME/plugins $JENKINS_HOME/jobs/craft  
  15. RUN curl -sf -o /opt/jenkins/jenkins.war -L $JENKINS_MIRROR/war-stable/latest/jenkins.war  
  16.  
  17. RUN for plugin in chucknorris greenballs scm-api git-client ansicolor description-setter \  
  18.     envinject job-exporter git ws-cleanup ;\  
  19.     do curl -sf -o $JENKINS_HOME/plugins/${plugin}.hpi \  
  20.        -L $JENKINS_MIRROR/plugins/${plugin}/latest/${plugin}.hpi ; done  
  21.  
  22. # ADD sample job craft  
  23.  
  24. ADD craft-config.xml $JENKINS_HOME/jobs/craft/config.xml  
  25.  
  26. # start script  
  27.  
  28. ADD ./start.sh /usr/local/bin/start.sh  
  29. RUN chmod +x /usr/local/bin/start.sh  
  30.  
  31. EXPOSE 8080  
  32.  
  33. CMD [ "/usr/local/bin/start.sh" ]  

開始安裝openjdk/curl包,并設(shè)置Jenkins啟動(dòng)時(shí)所需要的相關(guān)環(huán)境。

Jenkins 的應(yīng)用程序 (.war)可以在http://jenkins-ci.org/找到, 你可以選擇***的版本或LTS(長期支持)版本穩(wěn)定,這里我選擇LTS版本http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.war

所有的插件可以在鏡像站點(diǎn)上找到:http://mirrors.jenkins-ci.org/, 你需要找到你的插件Plugin Id像ansicolor,它會(huì)映射到http://mirrors.jenkins-ci.org/plugins/ansicolor/latest/ansicolor.hpi

在jenkins中,任務(wù)的配置保存為config.xml。這里我們提前做好了,把它放在docker鏡像里的$JENKINS_HOME/jobs/craft目錄下。

  1. <?xml version='1.0' encoding='UTF-8'?> 
  2. <project> 
  3.   <actions/> 
  4.   <description></description> 
  5.   <keepDependencies>false</keepDependencies> 
  6.   <properties/> 
  7.   <scm class="hudson.scm.NullSCM"/> 
  8.   <canRoam>true</canRoam> 
  9.   <disabled>false</disabled> 
  10.   <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> 
  11.   <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> 
  12.   <triggers/> 
  13.   <concurrentBuild>false</concurrentBuild> 
  14.   <builders> 
  15.     <hudson.tasks.Shell> 
  16.       <command>#!/bin/bash  
  17. env  
  18. echo -e "\e[1;31;42m Using docker to demo is awful, v5 \e[0m"  
  19. echo see more in http://misc.flogisoft.com/bash/tip_colors_and_formatting  
  20. </command> 
  21.     </hudson.tasks.Shell> 
  22.   </builders> 
  23.   <publishers/> 
  24.   <buildWrappers> 
  25.     <hudson.plugins.ansicolor.AnsiColorBuildWrapper plugin="ansicolor@0.4.0"> 
  26.        <colorMapName>xterm</colorMapName> 
  27.     </hudson.plugins.ansicolor.AnsiColorBuildWrapper> 
  28.   </buildWrappers> 
  29. </project> 

最簡單的方法是直接從運(yùn)行的Jenkins得到這個(gè)config.xml文件(在你的任務(wù)URL后面追加config.xml即可)。

而在***,加上一個(gè)小腳本start.sh,它將在啟動(dòng)時(shí)啟動(dòng)Jenkins。

exec java -jar /opt/jenkins/jenkins.war

然后,你可以建立自己的docker鏡像了,就這么簡單。

docker build –t larrycai/jenkins-demo1 .

如何公開分享

你可以把你的項(xiàng)目放到github上或者bitbucket ,并在http://hub.docker.com運(yùn)行在您的構(gòu)建 ,然后其他人可以簡單的運(yùn)行docker的命令來運(yùn)行它(您可以自己搜索具體怎么做)。

摘要

在這篇博客中,我們演示了如何dockerize你的Jenkins應(yīng)用程序,它包含了必須的插件和配置和實(shí)例任務(wù)。 這將會(huì)很容易讓你的聽眾了解你想演示的功能。

所有的代碼你都可以在github上的jenkins-demo1上找到。

現(xiàn)在,您可以把您的漂亮的Jenkins新功能打包到Docker到處演示。

在接下來的博客中,我將展示如何更好地組織Jenkins目錄。

Docker可以幫助我們做很多事情。

本文出自:larrycaiyu

責(zé)任編輯:林師授 來源: larrycaiyu.com
相關(guān)推薦

2010-11-12 12:51:26

2021-06-21 06:16:50

cpulimitCPULinux

2023-04-14 19:19:09

CSSHTML文檔

2015-01-21 15:40:44

GoRuby

2015-11-03 13:50:21

SlackDocker運(yùn)維機(jī)器人

2016-10-12 13:37:09

LombokIDEidea

2023-11-16 08:01:31

2010-07-22 16:21:33

SQL Server使

2017-02-14 08:33:48

CPULinux內(nèi)核

2024-05-16 11:45:19

Rust項(xiàng)目代碼

2021-04-18 18:58:16

JRebelJVM插件

2014-11-19 13:46:30

云計(jì)算DockerDevice Mapp

2011-07-06 11:33:52

ADSLModem

2015-08-21 17:35:26

2013-12-10 10:16:39

2020-07-06 11:32:50

HTTPHTTP Header開發(fā)者

2018-05-21 14:44:33

LinuxshellPython

2024-08-26 15:17:16

2014-07-30 09:35:36

DockerPaaS

2021-01-04 13:25:10

Git開源工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)