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 (需密钥,镜像凭证,镜像地址)

  • 相关阅读:
    后勤数据抽取流程图 Logistic Data Extraction
    WINDOWS两条线路上网的解决办法
    Zabbix Agent for Linux部署
    Java项目的自动更新并构建脚本
    使用Goole搜索引擎
    golang程序性能优化方法----不断更新
    golang性能分析策略
    问题分析:引入新elastic api导致的TIME_WAIT堆积
    数据权限限定办法
    MariaDB集群搭建
  • 原文地址:https://www.cnblogs.com/csj007523/p/15721696.html
Copyright © 2011-2022 走看看