Java项目实战案例 - 搭建微服务自动构建环境(gitee + docker + jenkins + maven)

本文详细介绍了如何使用Gitee、Docker、Jenkins和Maven搭建Java微服务的自动构建环境。通过配置Gitee进行代码管理,利用Docker部署Jenkins,结合Maven实现项目的自动化构建,并安装相关插件如Ansible,以实现从源代码到部署的全自动化流程。
摘要由CSDN通过智能技术生成

章节导航

  1. 搭建微服务自动构建环境(jenkins + gitee + docker + maven)
  2. 搭建统一网关(nginx + zuul)
  3. 搭建注册中心及配置中心(nacos)
  4. 配置限流、熔断机制(sentinel)
  5. 搭建监控平台(elk + spring boot admin)

一、简介

搭建自动部署的原因网上有很多,就不具体展开去说。就从自己在实际项目开发中的感受说起,以前用.NET开发的时候,由于没有采用自动部署这种开发模式,导致每次开发完后发布到IIS都是一个很痛苦的过程,每次都要复制黏贴到服务器的IIS中,不同的环境还有操作多次,在过程中很容易出现问题。

后来转做Java开发,团队决定采用自动部署的方式,最终决定采用Gitlab+Jenkins+Docker+Maven这种搭配的方式,将开发从部署运维的过程中解放出来,只专注于开发业务模块,接下来不废话,直接进入主题。

二、配置Gitee

为什么这里是用Gitee,因为我在实验的机器内存太低,导致安装了Gitlab后服务器系统经常卡崩溃,后来就决定不再自己搭建源代码管理,直接使用国内的代码管理码云(Gitee),如果想自己搭建Gitlab的朋友可以参考这篇文章《Centos7.4安装Gitlab》

Gitee登录地址:https://gitee.com/

进入页面后,在设置界面配置自己的SSH公钥,我一般都会选择配置公钥,因为SSH的传输比较Http来说会相对稳定快速一些,配置完SSH就可以开始在Gitee上创建代码库了。
alt

三、安装Docker

安装指令

[root@zhengjf ~]# yum install -y docker

查看安装的docker版本号

[root@zhengjf ~]# docker --version

启动docker

[root@zhengjf ~]# systemctl start docker

初始化swarm

[root@zhengjf ~]# docker swarm init

设置docker服务开机自动启动

[root@zhengjf ~]# systemctl enable docker

四、安装Docker - Jenkins自动部署

创建jenkins目录

[root@zhengjf ~]# mkdir /usr/local/jenkins

拉取jenkins镜像

[root@zhengjf ~]# docker pull docker.io/jenkins/jenkins

docker.io/jenkins:国外镜像,英文版本(有些阿里云服务器无法安装该镜像的部分插件)
docker.io/jenkins/jenkins:用的是国内镜像,中文版本

查看docker镜像

[root@zhengjf ~]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
docker.io/jenkins/jenkins   latest              a791ff28ff47        2 weeks ago         577 MB

启动docker容器

[root@zhengjf ~]# docker run -i -t --privileged=true -u root --restart always -d -p 10001:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins

–restart always 设置容器自动重启
-u root 使用root用户登录【此参数很重要,否则会导致jenkins从git上拉去代码的时候提示权限不足】
-d 后台运行镜像
-p 10001:8080 将镜像的8080端口映射到服务器的10001端口
-p 50000:50000 将镜像的50000端口映射到服务器的50000端口
-v jenkins:/usr/local/jenkins 将宿主机上的一个目录挂载到这个位置/var/jenkins_home,冒号前面是宿主文件路径,冒号后面是docker容器内路径
-v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置。
–name jenkins 给容器起一个别名

查看运行的容器

[root@zhengjf ~]# docker ps
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                                               NAMES
65a3571ed119        jdk-supervisor              "/bin/sh -c '/usr/..."   13 days ago         Up 5 days           0.0.0.0:25100->25100/tcp                            dev_sysinfo
315dbede1277        docker.io/jenkins/jenkins   "/sbin/tini -- /us..."   13 days ago         Up 13 days          0.0.0.0:50000->50000/tcp, 0.0.0.0:10001->8080/tcp   jenkins

在浏览器输入地址 http://ip:port/,出现初始登录页面
alt
查看上述路径的初始化密码

[root@zhengjf ~]# docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
2df4680c3f5e41fabc491fdbd0a3387b

将上述密码输入后,显示如下界面,点击【安装推荐的插件】
alt
安装过程如下图:
alt

五、使用jenkins构建maven项目

(一)安装相关插件

1. 安装maven构建插件

<

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌狼爱爪爪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值