首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins+Docker+SpringCloud微服务持续集成(上)

Jenkins+Docker+SpringCloud微服务持续集成(上)

作者头像
大忽悠爱学习
发布2022-09-28 18:54:02
5810
发布2022-09-28 18:54:02
举报
文章被收录于专栏:c++与qt学习c++与qt学习

Jenkins+Docker+SpringCloud微服务持续集成(上)


Jenkins+Docker+SpringCloud持续集成说明

概述

在这里插入图片描述
在这里插入图片描述

大致流程说明:

● 开发人员每天将代码提交到Gitlab代码仓库。

● Jenkins从Gitlab中拉取项目代码,编译并打成jar包,然后构建Docker镜像,将镜像上传到Harbor私有仓库。

● Jenkins发送SSH远程命令,让生产部署服务器从Harbor私有仓库拉取镜像到本地,然后创建容器。

● 最后,用户可以访问到容器。


服务器列表

服务器名称

IP地址

安装的软件

代码托管服务器

192.168.18.100

Gitlab(已安装)

持续集成服务器

192.168.18.101

Jenkins(已安装)、Maven(已安装)、Docker18.06.1-ce

Docker仓库服务器

192.168.18.102

Docker18.06.1-ce、Harbor2.1.3

生产服务器

192.168.18.103

Docker18.06.1-ce


微服务项目说明

在这里插入图片描述
在这里插入图片描述

环境准备

  • Docker安装这一步就省略了,大家自行安装

Harbor的安装

● Harbor是在IP为192.168.18.102的服务器上安装的,并且使用的Docker Compose进行安装,而Docker Compose依赖于Docker,所以需要先安装Docker。

● 关闭防火墙。


安装Docker Compose
  • 安装Docker Compose
sudo curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
  • 查看Docker Compose是否安装成功:
docker-compose version

安装Harbor
  • 下载Harbor
wget https://github.com/goharbor/harbor/releases/download/v2.1.3/harbor-offline-installer-v2.1.3.tgz
  • 解压Harbor:
tar -zxvf harbor-offline-installer-v2.1.3.tgz -C /usr/local
  • 修改Harbor的配置:
cd /usr/local/harbor
mv harbor.yml.tmpl harbor.yml
vim harbor.yml
# 修改部分
hostname: 192.168.18.102
http:
  port: 85
# 将https注释掉  
# https:
  # https port for harbor, default is 443
  #  port: 443
  # The path of cert and key files for nginx
 # certificate: /your/certificate/path
 # private_key: /your/private/key/path
  • 安装Harbor:
./prepare
./install.sh
  • 启动、停止、重新启动Harbor:
# 启动
docker-compose up -d
# 停止
docker-compose stop
# 重新启动
docker-compose restart

访问Harbor

● 访问地址:http://192.168.1.102:85。

● Harbor的默认账户和密码:admin/Harbor12345。


在Harbor中创建用户和项目

创建项目

● Harbor的项目分为公开和私有。

● 公开项目:所有的用户都可以访问,通常存放公共的镜像,默认有一个library公开项目。

● 私有项目:只有授权用户才可以访问,通常存在项目本身的镜像。

● 我们可以为微服务创建一个项目:

在这里插入图片描述
在这里插入图片描述

创建用户

在这里插入图片描述
在这里插入图片描述

给私有项目分配用户

在这里插入图片描述
在这里插入图片描述

角色

权限说明

访客

对于指定的项目拥有只读权限

开发人员

对于指定的项目拥有读写权限

维护人员

对于指定的项目拥有读写权限,创建webhooks

项目管理员

除了读写权限,同时拥有用户管理/镜像扫描等管理权限


以新用户登录Harbor

在这里插入图片描述
在这里插入图片描述

把镜像上传到Harbor

  • 先拉取一个镜像,比如MySQL5.7。
docker pull mysql:5.7
  • 查询镜像:
docker images
  • 给镜像打tag:
在这里插入图片描述
在这里插入图片描述

标签tag需要遵循一定的规范,如上图Harbor界面所示。

docker tag mysql:5.7 192.168.18.102:85/volunteer/mysql:5.7

  • 推送镜像:
docker push 192.168.18.102:85/volunteer/mysql:5.7
在这里插入图片描述
在这里插入图片描述

之所以报错,是因为Docker没有将Harbor加入到信任列表中。

  • 在服务器192.168.18.101和192.168.18.102以及192.168.18.103把Harbor地址加入到Docker信任列表中:
vim /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "insecure-registries": ["192.168.18.102:85"],
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
  • 重启Docker:
systemctl daemon-reload
systemctl restart docker
  • 重启Harbor:
cd /usr/local/harbor
docker-compose restart
  • 再次执行推送命令,提示权限不足:
docker push 192.168.18.102:85/volunteer/mysql:5.7
  • 登录Harbor:
docker login -u dhy -p pwd 192.168.18.102:85
  • 推送镜像:
docker push 192.168.18.102:85/volunteer/mysql:5.7
在这里插入图片描述
在这里插入图片描述

从Harbor上拉取镜像

前提说明

● 服务器的IP是192.168.18.103。

把Harbor地址加入到Docker信任列表中
  • 把Harbor地址加入到Docker信任列表中
vim /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "insecure-registries": ["192.168.18.102:85"],
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}

重启Docker:

systemctl daemon-reload
systemctl restart docker

Docker命令登录Harbor
docker login -u dhy -p pwd 192.168.18.102:85

拉取镜像
docker pull 192.168.18.102:85/volunteer/mysql:5.7

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Jenkins+Docker+SpringCloud微服务持续集成(上)
  • Jenkins+Docker+SpringCloud持续集成说明
    • 概述
      • 服务器列表
        • 微服务项目说明
          • 环境准备
            • Harbor的安装
            • 在Harbor中创建用户和项目
            • 创建用户
            • 给私有项目分配用户
            • 以新用户登录Harbor
            • 把镜像上传到Harbor
            • 从Harbor上拉取镜像
        相关产品与服务
        容器镜像服务
        容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档