全站首页设为首页收藏本站

西虹市网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

社区广播台

    查看: 117|回复: 6
    打印 上一主题 下一主题

    解析:CI&CD文件介绍

    [复制链接]
    跳转到指定楼层
    楼主
    发表于 2022-2-24 12:36:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    西虹网 西虹网  概述
    西虹网 西虹网

    西虹网 西虹网
    西虹网 西虹网  DevOps相关文件主要有Dockerfile、Jenkinsfile、deployment.yaml、kustomization.yaml、settings.xml。devops 工具https://www.jfrogchina.com/devops-tools/的其他知识和内容也可以到网站具体了解一下,我们是领域内专业的企业平台,欢迎您的关注和了解!
    西虹网 西虹网
    西虹网 西虹网  这些文件存放在CICD代码库中。
    西虹网 西虹网
    西虹网 西虹网  地址:https://gitlab.corp.yatsenglobal.com/ops/yatsen-cicd-pipeline.git
    西虹网 西虹网
    西虹网 西虹网  代码目录结构
    西虹网 西虹网
    西虹网 西虹网  其作用分别为:
    西虹网 西虹网
    西虹网 西虹网  文件        作用        详细
    西虹网 西虹网
    西虹网 西虹网  Dockerfile        用于构建镜像        构建镜像必须,API等不需要部署的项目无需此文件
    西虹网 西虹网
    西虹网 西虹网  Jenkinsfile        用于使用Jenkins控制整个构建部署过程        此文件必须
    西虹网 西虹网
    西虹网 西虹网  deployment.yaml        用于在k8s集群部署应用        需要自由控制在k8s中部署的应用时,可以编写此文件
    西虹网 西虹网
    西虹网 西虹网  kustomization.yaml        文件声明了kustomize程序提供的自定义        提供一种可以重复使用同一套配置的声明式应用管理
    西虹网 西虹网
    西虹网 西虹网  settings.xml        用于在Java Maven构建过程中的Maven setting设置        Java应用编译时,需要用到
    西虹网 西虹网
    西虹网 西虹网  基础JAVA镜像
    西虹网 西虹网
    西虹网 西虹网  基础Java镜像为Java应用的基础应用,是在centos7.6镜像之上构建的,其中步骤主要有:
    西虹网 西虹网
    西虹网 西虹网  源镜像、环境初始化、添加字体、添加nacos退出脚本、添加ssh免密登录、修改时区、更新系统、添加Java环境。
    西虹网 西虹网
    西虹网 西虹网  基础Java镜像包含了除可执行Jar包及特殊配置之外的所有设置,使Java应用在下层得到统一,具体脚本如下:
    西虹网 西虹网
    西虹网 西虹网  FROM centos:7.6.1810
    西虹网 西虹网
    西虹网 西虹网  LABEL maintainer yatsen@yatsenglobal.com
    西虹网 西虹网
    西虹网 西虹网  COPY nacos-logout.sh /
    西虹网 西虹网
    西虹网 西虹网  COPY eureka-logout.sh /
    西虹网 西虹网
    西虹网 西虹网  COPY simsun.ttf /usr/share/fonts/myfonts/simsun.ttf
    西虹网 西虹网
    西虹网 西虹网  COPY ip_guard.sh ip_guard.sh
    西虹网 西虹网
    西虹网 西虹网  COPY id_rsa /root/.ssh/
    西虹网 西虹网
    西虹网 西虹网  COPY id_rsa.pub /root/.ssh/
    西虹网 西虹网
    西虹网 西虹网  COPY known_hosts /root/.ssh/
    西虹网 西虹网
    西虹网 西虹网  RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    西虹网 西虹网
    西虹网 西虹网  && rm -rf /etc/yum.repos.d/*
    西虹网 西虹网
    西虹网 西虹网  && curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    西虹网 西虹网
    西虹网 西虹网  && curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    西虹网 西虹网
    西虹网 西虹网  && sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/*
    西虹网 西虹网
    西虹网 西虹网  && yum makecache -y
    西虹网 西虹网
    西虹网 西虹网  && yum upgrade -y
    西虹网 西虹网
    西虹网 西虹网  && yum install -y java-1.8.0-openjdk-devel.x86_64 iproute kde-l10n-Chinese glibc-common mkfontscale fontconfig openssh openssh-clients rsync less
    西虹网 西虹网
    西虹网 西虹网  && localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
    西虹网 西虹网
    西虹网 西虹网  && yum clean all
    西虹网 西虹网
    西虹网 西虹网  && chmod +x ip_guard.sh
    西虹网 西虹网
    西虹网 西虹网  && chmod 600 /root/.ssh/id_rsa
    西虹网 西虹网
    西虹网 西虹网  && chmod 777 nacos-logout.sh eureka-logout.sh
    西虹网 西虹网
    西虹网 西虹网  && cd /usr/share/fonts/myfonts
    西虹网 西虹网
    西虹网 西虹网  && mkfontscale
    西虹网 西虹网
    西虹网 西虹网  && mkfontdir
    西虹网 西虹网
    西虹网 西虹网  && fc-cache -fv
    西虹网 西虹网
    西虹网 西虹网  ENV LC_ALL=zh_CN.UTF-8 TIMEZONE=GMT+8 JAVA_OPTS=CONTAINER_CORE_LIMIT=
    西虹网 西虹网
    西虹网 西虹网  所需文件如下
    西虹网 西虹网
    西虹网 西虹网  基础Nginx镜像
    西虹网 西虹网
    西虹网 西虹网  目前前端代码编译为静态文件后放在nginx下提供服务,所以编写了基础nginx镜像,针对前端静态代码文件提供统一的基础镜像。
    西虹网 西虹网
    西虹网 西虹网  基础nginx镜像来源于系统nginx镜像,并修改了时区,添加了自定义nginx.conf。具体脚本如下:
    西虹网 西虹网
    西虹网 西虹网  【FROM nginx:latest】 表示要制作的镜像的源镜像
    西虹网 西虹网
    西虹网 西虹网  RUN命令做环境初始化,修改了时区。
    西虹网 西虹网
    西虹网 西虹网  【COPY base/base-nginx/nginx.conf /etc/nginx/nginx.conf】为添加了自定义nginx.conf
    西虹网 西虹网
    西虹网 西虹网  FROM nginx:latest
    西虹网 西虹网
    西虹网 西虹网  LABEL maintainer sheng.zhuang@yatsenglobal.com
    西虹网 西虹网
    西虹网 西虹网  RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone
    西虹网 西虹网
    西虹网 西虹网  COPY base/base-nginx/nginx.conf /etc/nginx/nginx.conf
    西虹网 西虹网
    西虹网 西虹网  Java应用镜像:
    西虹网 西虹网
    西虹网 西虹网  Java应用镜像为最终可执行的镜像,来源于基础Java镜像,包含同事们辛苦编写的Java代码编译的可执行Jar包,并最终运行在k8s容器管理工具中为客户提供服务。
    西虹网 西虹网
    西虹网 西虹网  Java应用镜像并不是必须来源于基础Java镜像,制作基础Java镜像是为了统一环境,简化开发。
    西虹网 西虹网
    西虹网 西虹网  Java应用镜像具体脚本如下:
    西虹网 西虹网
    西虹网 西虹网  ARG BASE_IMAGE=yatsen-registry-vpc.cn-shenzhen.cr.aliyuncs.com/base/base-java:centos7.6-jdk-8
    西虹网 西虹网
    西虹网 西虹网  FROM ${BASE_IMAGE}
    西虹网 西虹网
    西虹网 西虹网  LABEL maintainer=dang.wu@yatsenglobal.com
    西虹网 西虹网
    西虹网 西虹网  ENV spring_profiles_active=dev spring_cloud_nacos_discovery_namespace=${NACOS_NAMESPACE} spring_cloud_nacos_config_namespace=${NACOS_NAMESPACE} NACOS_HOST=${NACOS_HOST} NACOS_PORT=${NACOS_PORT} server_port=${SERVER_PORT}
    西虹网 西虹网
    西虹网 西虹网  COPY mall-activity-biz/target/mall-activity-biz.jar app.jar
    西虹网 西虹网
    西虹网 西虹网  ENV server_name mall-activity-biz
    西虹网 西虹网
    西虹网 西虹网  RUN mkdir -p /releases/releases/cert/
    西虹网 西虹网
    西虹网 西虹网  ENTRYPOINT java ${JAVA_OPTS} -Dfile.encoding=utf-8 -Dspring.security.strategy=MODE_INHERITABLETHREADLOCAL -Djava.security.egd=file:/dev/http://www.manongjc.com/detail/urandom -XX:ActiveProcessorCount=${CONTAINER_CORE_LIMIT} -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0 -XX:MinRAMPercentage=70.0 -jar app.jar --spring.profiles.active=${spring_profiles_active} --NACOS-HOST=${NACOS_HOST} --NACOS-PORT=${NACOS_PORT}
    西虹网 西虹网
    西虹网 西虹网  前端nginx应用镜像:
    西虹网 西虹网
    西虹网 西虹网  前端nginx应用镜像为可执行的nginx镜像加上前端代码及配置所构建的镜像。包含前端同事们辛苦编写的前端代码编译的静态文件,并最终运行在k8s容器管理工具中为客户提供服务。
    西虹网 西虹网
    西虹网 西虹网  前端镜像具体脚本如下(目前前端镜像分两次构建,后期会优化为一次构建):
    西虹网 西虹网
    西虹网 西虹网  ARG BASE_IMAGE=yatsen-registry-vpc.cn-shenzhen.cr.aliyuncs.com/base/nginx:latest
    西虹网 西虹网
    西虹网 西虹网  FROM ${BASE_IMAGE}
    西虹网 西虹网
    西虹网 西虹网  LABEL maintainer sheng.zhuang@yatsenglobal.com
    西虹网 西虹网
    西虹网 西虹网  RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone
    西虹网 西虹网
    西虹网 西虹网  COPY base/base-admin-nginx/default.conf /etc/nginx/conf.d/default.conf
    西虹网 西虹网
    西虹网 西虹网  RUN mkdir -p /var/log/nginx/
    西虹网 西虹网
    西虹网 西虹网  COPY dist/ /data/www/mall-web-admin
    西虹网 西虹网
    西虹网 西虹网  Jenkinsfile:
    西虹网 西虹网
    西虹网 西虹网  Jenkinsfile是Jenkins流水线Pipeline的构建代码脚本。将Jenkins构建任务用代码的形式进行管理和维护。下方构建权限给开发者。
    西虹网 西虹网
    西虹网 西虹网  Jenkinsfile常用方式将流水线分按照功能分为逻辑上的四段:流水线检查、初始化、拉取代码(Git)、编译构建(Package)、制作镜像(Build) 、部署(Deploy),如下所示:
    西虹网 西虹网
    西虹网 西虹网  后端:
    西虹网 西虹网
    西虹网 西虹网  @Library('yatsen-cicd-pipeline') _
    西虹网 西虹网
    西虹网 西虹网  pipeline {
    西虹网 西虹网
    西虹网 西虹网  agent {
    西虹网 西虹网
    西虹网 西虹网  kubernetes {
    西虹网 西虹网
    西虹网 西虹网  #在jenkins Configure Clouds中配置的名字
    西虹网 西虹网
    西虹网 西虹网  cloud 'kubernetes'
    西虹网 西虹网
    西虹网 西虹网  }
    西虹网 西虹网
    西虹网 西虹网  前端:
    西虹网 西虹网
    西虹网 西虹网  普通前端
    西虹网 西虹网
    西虹网 西虹网  @Library('yatsen-cicd-pipeline') _
    西虹网 西虹网
    西虹网 西虹网  pipeline {
    西虹网 西虹网
    西虹网 西虹网  agent {
    西虹网 西虹网
    西虹网 西虹网  kubernetes {
    西虹网 西虹网
    西虹网 西虹网  #在jenkins Configure Clouds中配置的名字
    西虹网 西虹网
    西虹网 西虹网  cloud 'kubernetes'
    西虹网 西虹网
    西虹网 西虹网  }
    西虹网 西虹网
    西虹网 西虹网  共享前端
    西虹网 西虹网
    西虹网 西虹网  @Library('yatsen-cicd-pipeline') _
    西虹网 西虹网
    西虹网 西虹网  pipeline {
    西虹网 西虹网
    西虹网 西虹网  agent {
    西虹网 西虹网
    西虹网 西虹网  kubernetes {
    西虹网 西虹网
    西虹网 西虹网  #在jenkins Configure Clouds中配置的名字
    西虹网 西虹网
    西虹网 西虹网  cloud 'kubernetes'
    西虹网 西虹网
    西虹网 西虹网  }
    西虹网 西虹网
    西虹网 西虹网  }
    西虹网 西虹网
    西虹网 西虹网  上述Jenkins使用的工具解析:
    西虹网 西虹网
    西虹网 西虹网  打包镜像并且推送镜像到镜像仓库用的命令是:
    西虹网 西虹网
    西虹网 西虹网  kaniko
    西虹网 西虹网
    西虹网 西虹网  参看文档:https://github.com/GoogleContainerTools/kaniko#using-kaniko
    西虹网 西虹网
    西虹网 西虹网  部署使用的命令是
    西虹网 西虹网
    西虹网 西虹网  kustomize
    西虹网 西虹网
    西虹网 西虹网  参考文档:
    西虹网 西虹网
    西虹网 西虹网  https://www.qikqiak.com/post/kustomize-101/
    西虹网 西虹网
    西虹网 西虹网  https://github.com/kubernetes-sigs/kustomize
    西虹网 西虹网
    西虹网 西虹网  https://kustomize.io/
    西虹网 西虹网
    西虹网 西虹网  原文地址:https://www.cnblogs.com/Mr-Axin/p/14744653.html
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 转播转播 分享分享
    回复

    使用道具 举报

    沙发
    发表于 2022-3-1 15:20:53 | 只看该作者
    过来看看的
    回复 支持 反对

    使用道具 举报

    板凳
    发表于 2022-3-9 00:49:27 | 只看该作者
    我抢、我抢、我抢沙发~
    回复 支持 反对

    使用道具 举报

    地板
    发表于 2022-3-18 12:06:06 | 只看该作者
    我抢、我抢、我抢沙发~
    回复 支持 反对

    使用道具 举报

    5#
    发表于 2022-4-2 01:11:26 | 只看该作者
    相当不错,感谢楼主无私分享精神!
    回复 支持 反对

    使用道具 举报

    6#
    发表于 2022-4-22 09:37:48 | 只看该作者
    有道理。。。
    回复 支持 反对

    使用道具 举报

    7#
    发表于 2022-5-20 15:01:16 | 只看该作者
    好好 学习了 确实不错
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表