首页 > 其他 > 详细

jenkins+Docker持续化部署(笔记)

时间:2018-09-23 14:31:20      阅读:207      评论:0      收藏:0      [点我收藏+]

参考资料:https://www.cnblogs.com/leolztang/p/6934694.html (Jenkins(Docker容器内)使用宿主机的docker命令

               https://container-solutions.com/running-docker-in-jenkins-in-docker/ (Running Docker in Jenkins (in Docker))

               https://www.cnblogs.com/bigben0123/p/7886092.html (基于Jenkins,docker实现自动化部署(持续交互))

               https://blog.csdn.net/bingoxubin/article/details/78720976 (jenkins和docker实现自动化构建部署)

               https://segmentfault.com/a/1190000007837054 (Jenkins集成Docker镜像实现自动发布)

               https://blog.csdn.net/qq_26848099/article/details/78901240 (jenkins详解)

               https://www.cnblogs.com/panpan0301/p/7738249.html (jenkins定时任务)

               https://blog.csdn.net/xinluke/article/details/52267995 (docker环境下Jenkins持续集成(一))

               https://www.cnblogs.com/cheyunhua/p/8362069.html ( Docker:使用Jenkins构建Docker镜像)

               https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/

               

               

Jenkins安装一般分两种形式:直接安装和docker形式安装,为了方便移植建议用docker形式安装

创建Dockerfile文件

 

FROM jenkins/jenkins:lts

USER root
RUN apt-get update       && apt-get install -y sudo       && rm -rf /var/lib/apt/lists/*

RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers

 

构建镜像

docker build -t jwh/jenkins .

启动jenkins容器

docker run -d -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker --privileged -p 8888:8080 jwh/jenkins:v1
注意这两个volume参数(将jenkins容器内的docker命令指向了宿主机):
-v /var/run/docker.sock:/var/run/docker.sock
-v $(which docker):/usr/bin/docker
-v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 在centos7 系统下会出现个别的包丢失,对应的引下宿主机的包就可以。

配置jenkins
docker exec -it 52873fa3dce4 /bin/bash
cat /var/jenkins_home/secrets #查看密码
安装必须的插件后新建一个job
技术分享图片

 代码在码云上,添加代码地址以及git登录账号

技术分享图片

5分钟轮训构建

技术分享图片

使用shell脚本构建docker

技术分享图片

 

if sudo docker ps -a|grep -i g-imagery-script-api;then
   sudo docker rm -f g-imagery-script-api
fi
#删除已建的容器,防止容器名,端口冲突
sleep 1
cd /var/jenkins_home/workspace/g-imagery-script-api
sudo docker build -t jwh/g-imagery-script-api:v1 .    #根据dockerfile生成镜像
sleep 1
sudo docker run -d -p 5010:5010 --name g-imagery-script-api jwh/g-imagery-script-api:v1    #运行镜像生成容器

 

jenkins+Docker持续化部署(笔记)

原文:https://www.cnblogs.com/jinqier/p/9686833.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!