当前位置:   article > 正文

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

ecs docker maven gitee jenkins ssh

章节导航

  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
  • 1

查看安装的docker版本号

[root@zhengjf ~]# docker --version
  • 1

启动docker

[root@zhengjf ~]# systemctl start docker
  • 1

初始化swarm

[root@zhengjf ~]# docker swarm init
  • 1

设置docker服务开机自动启动

[root@zhengjf ~]# systemctl enable docker
  • 1

四、安装Docker - Jenkins自动部署

创建jenkins目录

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

拉取jenkins镜像

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

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
  • 1
  • 2
  • 3

启动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
  • 1

–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
  • 1
  • 2
  • 3
  • 4

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

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

将上述密码输入后

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/488089
推荐阅读
相关标签
  

闽ICP备14008679号