长期支持版本

    社区创新版本

      gitlab runner部署及测试

      镜像/软件信息

      安装过程中需要用到的镜像名称如下表,版本号为示例安装时用到的版本,仅供参考。

      镜像版本
      gitlab/gitlab-runneralpine-v14.4.0
      gitlab/gitlab-runner-helperx86_64-54944146

      如果在无外网环境中搭建,可以从下方链接提前下载对应的镜像。
      镜像下载地址:dockerhub官网 https://hub.docker.com

      使用gitlab-runner.yaml启动runner容器

      配置gitlab-runner.yaml文件,修改文件中的镜像名,以下为yaml文件的示例参考,请根据实际搭建进行修改。

      vim gitlab-runner.yaml
      
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: gitlab-runner
        namespace: default
      spec:
        replicas: 1
        selector:
          matchLabels:
            name: gitlab-runner
        template:
          metadata:
            labels:
              name: gitlab-runner
          spec:
            containers:
            - args:
              - run
              image: gitlab/gitlab-runner:alpine-v14.4.0
              imagePullPolicy: IfNotPresent
              name: gitlab-runner
              volumeMounts:
              - mountPath: /etc/gitlab-runner
                name: config
                readOnly: false
              - mountPath: /etc/ssl/certs
                name: cacerts
                readOnly: true
            restartPolicy: Always
            volumes:
            - hostPath:
                path: /etc/gitlab-runner
              name: config
            - hostPath:
                path: /etc/ssl/key
              name: cacerts
      

      启动容器。

      # kubectl apply -f gitlab-runner.yaml
      # kubectl get pod -A -o wide
      

      镜像

      登录gitlab容器网页-用户证书认证

      1. 新建项目。

        新建项目

      2. 创建空白项目。

        创建空白项目

      3. 自定义项目名称。

        自定义项目名称

      4. 设置--CI/CD--Runner--展开。

        设置-cicd-runner

      5. 记录注册Runner的地址和令牌。

        记下runner地址与令牌

      6. 导入证书文件。

        在master节点上查看并生成证书文件,共三个文件admin.crt、admin.key、ca.crt。

        • 查看证书信息

          # cat /etc/kubernetes/admin.conf
          

          查看证书配置文件

        • 加密生成admin.crt

          # echo “${client-certificate-data}” | base64 -d > admin.crt
          
        • 加密生成admin.key

          # echo “${client-key-data}” | base64 -d > admin.key
          
        • 在manager节点上获取ca的证书

          # cp /etc/kubernetes/pki/ca.crt ./
          
      7. 在runner运行的节点处将三个证书文件导入gitlab-runner容器。

        说明 :导入容器需查看gitlab-runner运行在哪个节点上,将三个证书文件拷贝至该节点,然后使用isula cp命令导入。

        # isula cp admin.crt [容器id]:存放位置
        # isula cp admin.key [容器id]:存放位置
        # isula cp ca.crt [容器id]:存放位置
        

        注:isula cp 命令只能一次拷贝一个文件

        证书导入文件

      注册gitlab-runner

      进入到runner的容器内进行注册;目前采用交互式注册,注册信息在gitlab上获得,当前配置的 runner服务于项目组,此信息的界面在gitlab->项目组(group)->设置->CI/CD->runner中查看。

      注册gitlab-runner

      web端已加入

      将准备好的gitlab-runner-helper镜像提前上传至私有镜像仓,进入gitlab-runner容器中,修改配置文件。

      # cd /etc/gitlab-runner
      # mkdir kubessl
      # cp /home/admin.crt /etc/gitlab-runner/kubessl
      # cp /home/ca.crt /etc/gitlab-runner/kubessl
      # cp /home/admin.key /etc/gitlab-runner/kubessl
      # vim /etc/gitlab-runner/config.toml
      

      在manager节点进行如下操作添加gitlab容器的dns记录

      1. 查看gitlab容器的ip地址

        # kubectl get pods –Aowide
        
      2. 添加gitlabip地址到k8s dns配置文件

        # kubectl edit configmaps coredns -n kube-system
        

      dns

      1. 重启coredns服务

        # kubectl scale deployment coredns -n kube-system --replicas=0
        # kubectl scale deployment coredns -n kube-system --replicas=2
        

      gitlab运行测试

      返回gitlab的web界面,选择CI/CD--编辑器--创建CI/CD流水线。

      CICD界面

      • 编译yaml文件如下:

      yaml文件

      • 流水线-查看状态。

      流水线状态

      文档捉虫

      “有虫”文档片段

      问题描述

      提交类型 issue

      有点复杂...

      找人问问吧。

      PR

      小问题,全程线上修改...

      一键搞定!

      问题类型
      规范和低错类

      ● 错别字或拼写错误;标点符号使用错误;

      ● 链接错误、空单元格、格式错误;

      ● 英文中包含中文字符;

      ● 界面和描述不一致,但不影响操作;

      ● 表述不通顺,但不影响理解;

      ● 版本号不匹配:如软件包名称、界面版本号;

      易用性

      ● 关键步骤错误或缺失,无法指导用户完成任务;

      ● 缺少必要的前提条件、注意事项等;

      ● 图形、表格、文字等晦涩难懂;

      ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

      正确性

      ● 技术原理、功能、规格等描述和软件不一致,存在错误;

      ● 原理图、架构图等存在错误;

      ● 命令、命令参数等错误;

      ● 代码片段错误;

      ● 命令无法完成对应功能;

      ● 界面错误,无法指导操作;

      风险提示

      ● 对重要数据或系统存在风险的操作,缺少安全提示;

      内容合规

      ● 违反法律法规,涉及政治、领土主权等敏感词;

      ● 内容侵权;

      您对文档的总体满意度

      非常不满意
      非常满意
      提交
      根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
      文档捉虫
      编组 3备份