当前位置: 首页 > wzjs >正文

河南手机网站建设价格明细表互联网推广公司靠谱吗

河南手机网站建设价格明细表,互联网推广公司靠谱吗,网站绿色色调设计,陕西网站制作qq群文章目录 Jenkins Docker SpringCloud 微服务持续集成流程一、流程概述二、Harbor 安装与配置1. 环境准备2. 安装 Docker3. 安装 Docker Compose4. 安装 Harbor5. 访问 Harbor6. 创建项目与用户 三、Docker 节点配置1. 信任 Harbor 仓库 四、微服务持续集成实现1. 项目代码管…

文章目录

  • Jenkins + Docker + SpringCloud 微服务持续集成流程
    • 一、流程概述
    • 二、Harbor 安装与配置
      • 1. 环境准备
      • 2. 安装 Docker
      • 3. 安装 Docker Compose
      • 4. 安装 Harbor
      • 5. 访问 Harbor
      • 6. 创建项目与用户
    • 三、Docker 节点配置
      • 1. 信任 Harbor 仓库
    • 四、微服务持续集成实现
      • 1. 项目代码管理
      • 2. Jenkins Pipeline 脚本
      • 3. 部署脚本 (`deploy.sh`)
    • 五、多服务器部署扩展
      • 1. 动态选择部署目标
      • 2. 配置文件参数
    • 注意

Jenkins + Docker + SpringCloud 微服务持续集成流程

一、流程概述

  1. 代码提交:开发人员将代码推送至 GitLab 仓库。
  2. 镜像构建:Jenkins 拉取代码,编译打包为 WAR/JAR,并构建 Docker 镜像。
  3. 镜像推送:将镜像上传至 Harbor 私有仓库。
  4. 部署应用:Jenkins 通过 SSH 触发生产服务器从 Harbor 拉取镜像并启动容器。
  5. 用户访问:通过容器暴露的服务访问应用。

二、Harbor 安装与配置

1. 环境准备

服务器:192.168.80.14
依赖组件:Docker、Docker Compose

2. 安装 Docker

# 安装 Docker
yum install -y docker
systemctl start docker
systemctl enable docker

3. 安装 Docker Compose

# 下载并安装 Docker Compose
curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose -v  # 验证安装

4. 安装 Harbor

# 下载并解压 Harbor
wget https://github.com/goharbor/harbor/releases/download/v1.9.2/harbor-offline-installer-v1.9.2.tgz
tar -zxvf harbor-offline-installer-v1.9.2.tgz -C /opt
cd /opt/harbor# 修改配置文件
vim harbor.yml
---
hostname: 192.168.80.14  # 修改为当前服务器 IP
port: 85                  # 修改监听端口
---# 启动 Harbor
./install.sh
docker-compose ps         # 查看服务状态

5. 访问 Harbor

  • 地址http://192.168.80.14:85
  • 默认账户admin / Harbor12345

6. 创建项目与用户

  1. 新建项目
    • 项目名称:tensquare
    • 访问级别:私有
  2. 创建用户
    • 用户名:zhangsan
    • 密码:Abc123456
  3. 添加成员
    • 将用户 zhangsan 添加到项目 tensquare,角色为 维护人员

三、Docker 节点配置

1. 信任 Harbor 仓库

在所有 Docker 节点修改配置文件:

cat > /etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"],"insecure-registries": ["192.168.80.14:85"]
}
EOFsystemctl daemon-reload
systemctl restart docker

四、微服务持续集成实现

1. 项目代码管理

  1. GitLab 创建项目
    • 项目名称:tensquare_back
    • 群组:devops_group
    • 可见性:私有
  2. 上传代码
git clone http://192.168.80.20:82/devops_group/tensquare_back.git
cd tensquare_back
git add .
git commit -m "Initial commit"
git push -u origin master

2. Jenkins Pipeline 脚本

pipeline {agent anyenvironment {git_url = "http://192.168.80.20:82/devops_group/tensquare_back.git"git_auth = "gitlab-auth-id"                # Jenkins 中配置的 GitLab 凭据 IDharbor_url = "192.168.80.14:85"harbor_project_name = "tensquare"harbor_auth = "harbor-auth-id"             # Jenkins 中配置的 Harbor 凭据 IDproject_name = "tensquare-service"         # 微服务项目名称port = "8080"                              # 服务端口}stages {// 1. 拉取代码stage('拉取代码') {steps {checkout([$class: 'GitSCM',branches: [[name: "*/${branch}"]],extensions: [],userRemoteConfigs: [[credentialsId: "${git_auth}",url: "${git_url}"]]])}}// 2. 编译公共子工程stage('编译公共子工程') {steps {sh "mvn -f common-module clean install"}}// 3. 构建镜像并推送至 Harborstage('构建与推送镜像') {steps {script {sh "mvn -f ${project_name} clean package dockerfile:build"def imageName = "${project_name}:latest"sh "docker tag ${imageName} ${harbor_url}/${harbor_project_name}/${imageName}"withCredentials([usernamePassword(credentialsId: "${harbor_auth}",usernameVariable: 'USERNAME',passwordVariable: 'PASSWORD')]) {sh "docker login -u ${USERNAME} -p ${PASSWORD} ${harbor_url}"sh "docker push ${harbor_url}/${harbor_project_name}/${imageName}"}sh "docker rmi -f ${imageName}"sh "docker rmi -f ${harbor_url}/${harbor_project_name}/${imageName}"}}}// 4. 部署到生产服务器stage('部署应用') {steps {sshPublisher(publishers: [sshPublisherDesc(configName: 'production-server',  # Jenkins 中配置的 SSH 服务器名称transfers: [sshTransfer(execCommand: "bash /opt/jenkins_shell/deploy.sh ${harbor_url} ${harbor_project_name} ${project_name} ${port}",sourceFiles: 'deploy.sh'       # 部署脚本上传到服务器)])])}}}
}

3. 部署脚本 (deploy.sh)

#!/bin/bash
harbor_url=$1
harbor_project=$2
project_name=$3
port=$4# 拉取镜像
docker pull ${harbor_url}/${harbor_project}/${project_name}:latest# 停止并删除旧容器
docker stop ${project_name} || true
docker rm ${project_name} || true# 启动新容器
docker run -d --name ${project_name} -p ${port}:${port} \${harbor_url}/${harbor_project}/${project_name}:latest

五、多服务器部署扩展

1. 动态选择部署目标

修改 stage('部署应用') 以支持多服务器:

stage('部署应用') {steps {script {def selectedServers = "${publish_server}".split(",")for (server in selectedServers) {sshPublisher(publishers: [sshPublisherDesc(configName: "${server}",transfers: [sshTransfer(execCommand: "bash /opt/jenkins_shell/deploy.sh ${harbor_url} ${harbor_project_name} ${project_name} ${port}",sourceFiles: 'deploy.sh')])])}}}
}

2. 配置文件参数

  • Jenkins 参数
    • branch:代码分支(如 masterdev
    • publish_server:部署目标服务器(如 master_server,slave_server

注意

  1. 凭据管理

    • GitLab 和 Harbor 的账号密码需在 Jenkins 的 凭据管理 中提前配置。
    • 使用 withCredentials 安全传递敏感信息。
  2. Harbor HTTPS 配置

    • 生产环境建议启用 HTTPS,修改 harbor.yml 并配置证书。
  3. 镜像清理

    • 构建后清理本地镜像,避免磁盘空间占用。
  4. 部署脚本权限

    • 确保生产服务器上的 deploy.sh 有执行权限:
      chmod +x /opt/jenkins_shell/deploy.sh
      
  5. 网络与防火墙

    • 确保 Jenkins、Harbor、生产服务器之间的网络互通,开放相关端口(如 85、8080)。
http://www.dtcms.com/wzjs/427035.html

相关文章:

  • 企业官网建站步骤长沙网站seo优化
  • 制作网站视频广州外包网络推广公司
  • 做牙齿技工找工作去哪个网站快速排名官网
  • 做招聘网站多少钱帮收款的接单平台
  • 济南微信网站建设百度本地惠生活推广
  • 网站推广经典案例如何提升百度关键词排名
  • 房地产论坛网站建设最新新闻热点素材
  • 哪个网站最好seo营销培训咨询
  • 自己怎么设计公司logoseo网页优化工具
  • 日照网站制作公司seo关键词优化报价价格
  • 网站域名更换百度广告投放平台
  • 桐乡市建设局官方网站网上打广告有哪些软件
  • 小说网站建设方案安徽网站推广优化
  • 做艺术字的网站网页开发需要学什么
  • 哪里有做杂志的免费模板下载网站网站开发的一般流程
  • 大丰建站seo优化效果怎么样
  • 天津建设工程信息网怎么上传资质企业seo关键词排名优化如何
  • 网站建设费 大创重庆关键词优化服务
  • 云南网站制作百度一下首页网址百度
  • 如何用front怕个做网站seo在线教学
  • 在某外国网站做代购怎么在网上做网络营销
  • 小程序 企业网站完美动力培训价格表
  • 泰州市住房和城乡建设局网站厦门seo网站推广优化
  • 上榜网络西安优化排名推广
  • 上海注册汽车租赁公司seo公司优化
  • 独立网站开发乌鲁木齐seo
  • 做商城网站需要多少钱网页设计与制作考试试题及答案
  • 电子商务网站建设与管理 总结百度代理
  • 工程建设指挥部网站成都高端企业网站建设
  • 厦门做网站排名关联词有哪些关系