Linux环境jenkins+gitee+docker镜像实现持续集成

提前准备安装好docker,

运行条件

4GB运行(最低1G)

10G存储

第一步docker拉取 jenkins 镜像

docker pull jenkins/jenkins

第二步配置jenkins容器

1,创建一个文件夹来挂载jenkins文件,方便修改配置jenkins内部文件

mkdir /var/jenkins_home

可以修改成自己的文件夹目录 但是后面的对应参数都要修改

开放文件夹权限

chown 777 /var/jenkins_home

2,jenkins默认是jenkins用户 给jenkins添加到docker用户组,用于jenkins运行后shell脚本对docker的命令操作

usermod -aG docker jenkins

3,docker运行一个jenkins容器

docker run --name jenkins-test //容器名 -p 8888:8080 //端口号 需要外部访问需要开放端口号 -v /var/jenkins_home:/var/jenkins_home //挂载jenkins主要文件 -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 //jenins内部可以访问外部本机docker -v /etc/group:/etc/group //挂载用户组 -d //后台运行 jenkins/jenkins //启动的镜像

4,运行成功之后打开浏览器登录本机IP+8888端口号配置第一次登录

1.这里的密码查看

docker ps -l

通过容器id查看日志

docker logs 9380

出现一大串信息,找到图中箭头的字符复制上去进行下一步

出现插件安装选择默认即可

插件安装可能会出错,也不用管下一步就好

配置登录用户信息

之后就一直下一步就好进入界面

5,配置Gitee,先下载Gitee插件

等待安装成功重启jenkins

配置gitee账户

在设置中找到

登录gitee获取私人令牌

生成的令牌复制填写

测试一下能不能连接成功

6,演示使用jenkins, 当gitee仓库更新将更新的项目打包镜像到dockerHub上

1.创建一个工作流

保存红框出的http路径

打开gitee中WebHook配置

点击测试就能激活jenkins进行工作,但是我们还没配置shell

点击就能收到

配置shell脚本

#获取当前日期 ls_date="`date +%Y%m%d`" #拼接在一起,wwzzrr1 这个是dockerhub的用户名必须填写自己的,bryantweb_api${ls_date} 镜像名称+日期 docker_tag="wwzzrr1/bryantweb_api${ls_date}" #先在docker本地生成一个镜像 brantService/PersonalAndAlbumService/Dockerfile dockerfile文件路径 brantService 配置文件中的上下文 docker build -t ${docker_tag} -f brantService/PersonalAndAlbumService/Dockerfile brantService #登录dockerhub docker login -u xx账号xx-p xx密码xxx #把本地镜像推到dockerhub docker push ${docker_tag}:latest

没有dockerhub账号去dockerhub官网去创建一个就好

当每次代码进行提交更新的时候就会触发jenkins工作,进行镜像的打包

大致就这样就可以把最新的代码拉取并且发布到dockerhub中,

后期可以做用镜像做测试,部署等。

经验分享 程序员 微信小程序 职场和发展