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

做网站的是什么软件接app推广

做网站的是什么软件,接app推广,手表网站欧米茄官网,怎么制作网站内容KubernetesGitlabJenkinsArgoCD多集群部署 文章目录 KubernetesGitlabJenkinsArgoCD多集群部署1. KubernetesGitlabJenkinsArgoCD多集群部署2. 添加WebHooks自动触发3. Jenkins-构建-执行Shell4. 制作镜像及修改Yaml文件4.1 Dockerfile4.2 Build-Shell 5.自动部署Demo测试5.1 推…

Kubernetes+Gitlab+Jenkins+ArgoCD多集群部署

文章目录

  • Kubernetes+Gitlab+Jenkins+ArgoCD多集群部署
    • 1. Kubernetes+Gitlab+Jenkins+ArgoCD多集群部署
    • 2. 添加WebHooks自动触发
    • 3. Jenkins-构建-执行Shell
    • 4. 制作镜像及修改Yaml文件
      • 4.1 Dockerfile
      • 4.2 Build-Shell
    • 5.自动部署Demo测试
      • 5.1 推送代码至仓库特定分支
      • 5.2 WebHookS自动触发
      • 5.3 镜像及Yaml自动Push成功
      • 5.4 ArgoCD检测到Yaml文件发生变化
      • 5.5 ArgoCD与Gitlab对比仓库哈希值与Commit值
      • 5.6 部署成功,钉钉告警提示
    • 6.小结

1. Kubernetes+Gitlab+Jenkins+ArgoCD多集群部署

#Kubernetes+Gitlab+Jenkins+ArgoCD多集群部署
在企业级环境中,由于业务的需要会有许多Kubernetes集群需要管理,比如Dev环境,UAT环境,Pro环境等.
每次发布和上线都需要分别登录不同集群进行部署项目.如果我们使用了ArgoCD,它可以支持多集群部署,大大提高了效率和准确性.
ArgoCD允许同时向多个集群部署应用,还可以轻松地管理不同环境的配置,轻松部署应用程序,提高生产效率.
此文档,重新规划了CI/CD流程,以符合公司的现有架构和技术需求.它将有助于我们的团队更加高效地部署代码,减少人工干预和错误率,从而提高生产效率.

K8S+Gitlab+Jenkins+ArgoCD

2. 添加WebHooks自动触发

找到Jenkins上的项目并且添加`构建触发器`.

Jenkins-webhooks

下图中两处的值是要填写到`Gitlab-WebHooks`中的.

image-20231122151528307

image-20231122151613768

找到Gitlab项目对应的仓库,设置webhooks.

image-20231122151346808

Jenkins`构建触发器`中可以找到此处所对应的值.

image-20231122151802861

3. Jenkins-构建-执行Shell

#!/bin/bash
K8S_IP="192.168.45.12"
K8S_PORT="22"
K8S_CODE="/opt/k8s-yaml/java-demo"
JKS_CODE="/var/lib/jenkins/workspace/javademo"
JKS_TAR="java-webhook"
Build_SHELL="build-webhook"
#编译
cd $JKS_CODE && mvn clean package
#项目编译以后程序存放目录
cd $JKS_CODE/target
#将编译后的程序进行打包
tar czf $JKS_TAR.tar.gz  *.jar
#进入项目目录删除旧程序包
ssh -p $K8S_PORT root@$K8S_IP "cd $K8S_CODE && rm -rf *.jar $JKS_TAR.tar.gz"
#将新程序包传输值项目目录中
scp -P $K8S_PORT $JKS_CODE/target/$JKS_TAR.tar.gz root@$K8S_IP:$K8S_CODE
#解压新程序包
ssh -p $K8S_PORT root@$K8S_IP "cd $K8S_CODE && tar xf $JKS_TAR.tar.gz"
#执行脚本(制作镜像并推送镜像至仓库,修改Yaml文件并推送至Gitlab仓库)
ssh -p $K8S_PORT root@$K8S_IP "cd $K8S_CODE && bash $Build_SHELL.sh"
#删除Jenkins项目目录中的旧代码
cd $JKS_CODE && rm -rf *

4. 制作镜像及修改Yaml文件

4.1 Dockerfile

# 使用轻量级的基础镜像  
FROM openjdk:8-jdk-alpine  
# 设置工作目录  
WORKDIR /app  
# 复制JAR文件到工作目录  
COPY www-0.0.1-SNAPSHOT.jar app.jar  
# 暴露端口  
EXPOSE 8088  
# 设置JVM参数  
ENV JAVA_OPTS="-Xms1024m -Xmx1024m -XX:+UseConcMarkSweepGC -XX:+DoEscapeAnalysis -XX:+EliminateAllocations -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails"
# 启动命令  
CMD exec java $JAVA_OPTS -jar app.jar

4.2 Build-Shell

#!/bin/bash
version=`date +%y%m%d%H%M%S`
YAML="java-deploy"
YAML_CODE="/opt/k8s-yaml/java-demo/java-demo-yaml"
echo "即将制作业务镜像!!!"
docker build -t swr.ap-southeast-1.myhuaweicloud.com/dev/java-demo:${version} .
echo "镜像构建完成,即将上传至镜像仓库" && sleep 1
docker push swr.ap-southeast-1.myhuaweicloud.com/dev/java-demo:${version}
echo "镜像已上传至镜像仓库" && sleep 1echo "修改Yaml并推送至Git仓库" && sleep 1
cd $YAML_CODE && sed -i "s/image: swr.ap-southeast-1.myhuaweicloud.*/image: swr.ap-southeast-1.myhuaweicloud.com\/dev\/java-demo:${version}/g" $YAML.yaml
echo "修改成功,正在推送代码至Git仓库" && sleep 1
cd $YAML_CODE && git add ./ && git commit -m "${version}" && git push -u origin main
echo "推送代码成功,3分钟左右,ArgoCD会自动发布到指定K8S集群中" && sleep 1

5.自动部署Demo测试

5.1 推送代码至仓库特定分支

image-20231122154603768

5.2 WebHookS自动触发

image-20231122154721179

5.3 镜像及Yaml自动Push成功

image-20231122154959147

5.4 ArgoCD检测到Yaml文件发生变化

WX20231122-150136

WX20231122-150202

5.5 ArgoCD与Gitlab对比仓库哈希值与Commit值

WX20231122-150317

1700636639736

5.6 部署成功,钉钉告警提示

image-20231122155602810

WX20231122-150705

6.小结

文档至此我们已经完成了Kubernetes+GitLab+Jenkins+ArgoCD多集群部署,使用Gitlab统一管理YAML文件,极大地提高了工作效率.
http://www.yayakq.cn/news/777547/

相关文章:

  • 重庆网站建设模板制作电子商务网站开发报价
  • 苏州市城乡和建设局网站wordpress制作单页
  • 南通优化网站排名定制电商平台
  • 网站建设原码昆明企业网站排名公司
  • 贵州做网站kuhugz设计图室内效果图
  • 怎么在网站后台挂马最新热点新闻
  • 检察 网站建设wordpress网站如何加百度搜索
  • 佛山网站公司专业的外贸行业网站设计
  • 惠州网站策划建设软件平台介绍
  • 合肥设网站昌吉网站建设咨询电话
  • 超炫的网站模板微商货源类网站源码
  • 陕西省建设工会网站建网站卓
  • 深圳宝安上市公司网站建设报价网页制作免费下载
  • 做网站赚50万2018网站的建设与维护前景
  • 网站建设心得500字做网站要学的知识
  • 微信公众平台绑定网站优秀毕业设计网站设计
  • 网站在线seo成都个人seo搜狗排名
  • 亿码酷网站建设报告范文
  • 泉州做网站需要多少钱北京征集网站建设
  • 太原做手机网站设计竞价托管代运营多少钱
  • 班级网站页面设计二级域名建站
  • c#做交易网站wordpress接入第三方支付
  • 做网站租什么服务器wordpress免费中文企业主题
  • 织梦可以做英文网站吗金石项目管理软件
  • 做网站还有前景么wordpress页面上分页
  • 情侣网站建设策划书网站建设公司未来方向
  • 北京做公司网站的公司做美妆的网站
  • 网站交互行为腾讯企业邮箱注册入口
  • 网站录屏可以做证据吗wordpress原图片删除
  • 自己做网站多少钱工信部个人网站备案