zoukankan      html  css  js  c++  java
  • k8s + gitlab + jenkins +docker 搭建企业级CI/CD 流水线操作


    k8s + gitlab + jenkins +docker 搭建企业级CI/CD 流水线操作


    1.gitlab 安装,管理项目源代码
    1.1 gitlab 安装,优化
    gitlab 优化 2.6G/8G
    gitlab
    puma =2
    1.2 gitlab 管理界面--设置--项目访问令牌
    1.3 webhooks 钩子


    2. jenkins 获取gitlab 源代码
    2.1 系统配置--插件管理--安装gitlab --gitlab plugin,gitlab hook plugin,ruby-runtime
    2.2 配置 jenkins 凭证提供者:
    源码地址:
    doman:全局凭据
    类型选择:gitlab api token
    范围:jenkins,nodes,items,all child items,tec
    api token: gitlab 项目访问令牌

    3.harbor 本地镜像服务器,存放镜像

    4.k8s集群
    pod:一个镜像部署到3个容器,对外服务自动实现负载均衡

    demo.yml:
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: net6-demo-deployment
    labels:
    app: net6
    spec:
    # 配置rs
    replicas: 3
    selector:
    matchLabels:
    app: net6-rs
    ## 配置是POD模板
    template:
    metadata:
    labels:
    app: net6-rs
    env: testing
    spec:
    containers:
    - name: net6-container
    imagePullPolicy: Always
    image: 192.168.3.251:9999/xxx/dotnet6-piepeline:1221
    ports:
    - name: net6-port
    containerPort: 80 #必须和dockerfile中暴露端口一致
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: net6-service
    spec:
    type: NodePort
    ports:
    - port: 80
    targetPort: 80
    nodePort: 30335
    selector:
    app: net6-rs

    ----------------jenkins----------------

    1.拉svn代码;

    2.编译和生产镜像

    3.推送镜像docker image 到 本地镜像仓库barbor,或推送生产的镜像到云镜像仓库(镜像地址);

    4.发布:将刚推送的云镜像发布到 云 k8s (需密钥,镜像凭证,镜像地址)

  • 相关阅读:
    ES查询直方图聚合区间结果min越界问题
    yarn命令操作
    Hve on Spark left join的hashTable问题
    基于HUE可视化的大数据权限管理
    Android 制作圆角阴影的卡片
    Android 解决问题“Failed to resolve: com.android.support:design:26.1.0”
    Android 修改虚拟键栏背景颜色
    ArrayList的传值问题
    swift 网络请求中含有特殊字符的解决方案
    Android适配器
  • 原文地址:https://www.cnblogs.com/csj007523/p/15721696.html
Copyright © 2011-2022 走看看