目录
上传项目到GitLab
计划项目上传到自己搭建的GitLab上,奈何实力不允许,同时启动GitLab、Jenkins两个虚拟机,电脑内存吃不消,GitLab和Jenkins想要有比较好的体验,虚拟机内存需要配置4G。所以接下来代码将会上传到Gitee上,进行演示。
- 项目已准备完成
Jenkins构建任务
前期准备
- 移动JDK、maven到data目录下,映射到Jenkins容器中。dockers-compose.yml文件data目录映射的是容器中的/var/jenkins_home目录,现在该目录下没有JDK、maven目录,移动Build工具后,再查看此目录会出现JDK、maven目录。
![](https://img-blog.csdnimg.cn/direct/7937f1272e5947dbb94fdd3dd661f6b4.png)
![](https://img-blog.csdnimg.cn/direct/def77cf0cc9d42b5be28c0f1c3c953c4.png)
![](https://img-blog.csdnimg.cn/direct/537b8ba9788e4d4dac10d603e03377dd.png)
- 全局配置JDK、maven,目录一定要写正确,否则会提示错误,配置完成保存即可。
![](https://img-blog.csdnimg.cn/direct/91d0ed72220849cda41d61ca4eea19fe.png)
![](https://img-blog.csdnimg.cn/direct/76054b8c71d54a8aba08ec17ecfd6aa8.png)
- 配置目标服务器,及项目运行的服务器,因为是用docker运行,所以该服务器也需要安装docker。因为内存受限,我的目标服务器和Jenkins共用一台。
- 配置目标服务器信息,项目存储的目录需要提前创建好,否则会报错。点击测试连接,显示Success,说明配置成功,应用保存即可。
到这里,Jenkins的配置基本完成了。
开始构建任务
- 开始构建基础任务
- 配置源码,根据实际情况填写代码仓库地址;如果是公有仓库,需要添加用户名和密码,我这是公有仓库。实际工作中,肯定是需要添加的。
![](https://img-blog.csdnimg.cn/direct/280cfd3ef45f4c09940dc2c89b946825.png)
![](https://img-blog.csdnimg.cn/direct/224425ee09bc4f20a19b3a93f57ed918.png)
![](https://img-blog.csdnimg.cn/direct/0402bbd387a24efb97f4cb7aa3e61a3c.png)
- 开始构建
![](https://img-blog.csdnimg.cn/direct/4e535dee78024d4baa9708955c2e3a45.png)
- 在Jenkins容器中查看构建情况
docker exec -it jenkins bash
cd /var/jenkins_home/workspace/jenkins-demo
- 配置打包流程
- 再次构建,开始下载需要依赖,耐心等待完成。
- 在Jenkins容器中再次查看构建情况,target目录生成
推送jar包到目标服务,并运行
- 推送打好的jar包到目标服务器
![](https://img-blog.csdnimg.cn/direct/1cff08423ecd4af78762b2ca8c50fa7d.png)
- 再次构建,然后查看前面配置的目标服务器目录是否存在jar包
- 在目标服务器,用docker运行项目,需要在项目中添加docker file,可参考demo项目,项目地址:tech-learning/jenkins-demo
- 再次构建,会发现Jenkins工作空间,上传了docker file的相关文件
- 修改配置:推送docker file到目标服务器,添加build镜像、启动容器等命令。
cd /home/docker
mv ../target/*.jar ./
docker-compose down
docker-compose up -d --build
docker image prune -f
- 访问项目
写在最后
持续集成(CI),到这里基本就完成了,代码提交到仓库,构建任务成功后,就可以访问,对工作效率有显著提升。CD该如何操作呢,后面的篇幅再做介绍。原创不易,多多点赞哈,抱拳!祝君offer拿到手软。