设为首页 收藏本站
查看: 1166|回复: 0

[经验分享] 开箱即用的Jenkins镜像

[复制链接]

尚未签到

发表于 2018-9-4 10:50:09 | 显示全部楼层 |阅读模式
DSC0000.jpg

如何使用镜像
$ docker run -p 8080:8080 index.csphere.cn/microimages/jenkins  这样启动将会把所有workspace存储到 /var/jenkins_home 目录,包括所有数据、插件以及配置,你也许希望运行在一个持久化的数据卷里:
$ docker run --name myjenkins -p 8080:8080 -v /var/jenkins_home index.csphere.cn/microimages/jenkins  myjenkins这个容器里的卷将会得到持久化,你也可以映射一个主机目录:
$ 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管理员用户
  jenkins镜像启动后,打开浏览器 http://your-ip:8080 , 会提示输入用户名密码,这里默认用户名admin,密码admin。进入后在 用户 菜单里修改密码。
如何和docker结合
  docker最大的优势在于部署,jenkins最强大的在于作业调度和插件系统,如何结合两者?
  jenkins镜像里内置了docker client命令行工具,/usr/bin/docker,因此我们只需要传递 DOCKER_HOST 环境变量 或者映射 docker.sock 文件给jenkins容器,就可以让jenkins容器里面拥有docker的操作能力,进而将两者结合起来。
  比如:
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项目中,添加一个执行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
备份数据
  如果你挂载了主机目录到容器内,那么备份该目录即可。这也是我们推荐的方法。将 /var/jenkins_home 目录看作数据库目录。
  如果你的卷在容器里面,那么可以通过 docker cp $ID:/var/jenkins_home 命令拷贝出数据。
  如果对docker数据管理有兴趣,可以阅读 Managing data in containers
设置执行器的数量
  你可以通过groovy脚本来指定jenkins master执行器的数量。默认是2个,但你可以扩展镜像:
# 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
构建executors
  你可以在master上构建,但如果想在slave上构建的话,必须做好50000端口映射,这是用来连接slave agent的。
传递JVM参数
  你也许想修改JVM的运行参数,比如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的日志可以通过 java.util.logging.config.file Java property来配置
$ mkdir data  
$ cat > data/log.properties

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-562388-1-1.html 上篇帖子: Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记(1) 下篇帖子: 通过jenkins平台自动发布程序到dokcer容器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表