<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      gitlab--在 k8s 里通過 helm 部署 runner、使用緩存 cache、使用制品 artifacts

      安裝 helm

      鏈接:http://www.rzrgm.cn/zouzou-busy/p/16134885.html

      配置chart 存儲庫

      # 添加 chart 存儲庫
      [root@master1 ~]# helm repo add gitlab https://charts.gitlab.io
      "gitlab" has been added to your repositories
      
      # 查看存儲庫
      [root@master1 ~]# helm repo list
      NAME  	URL
      gitlab	https://charts.gitlab.io

      查看可以安裝的 gitlab-runner chart

      [root@master1 ~]# helm search repo -l gitlab/gitlab-runner

      我的 gitlab 的版本是 15.2,所以 gitlab-runner 的版本我安裝 0.43.0

      更新配置信息

      獲取對應版本的 chart 包

      # 下載 0.43.0 的 chart 包 
      [root@master1 ~]# helm fetch gitlab/gitlab-runner --version=0.43.0
      
      # 下載完后查看
      [root@master1 ~]# ls
      gitlab-runner-0.43.0.tgz

      解壓,進入解壓后的目錄

      # 解壓
      [root@master1 ~]# tar -zxvf gitlab-runner-0.43.0.tgz
      
      # 進入到解壓的目錄
      [root@master1 ~]# cd gitlab-runner
      
      # 查看文件
      [root@master1 gitlab-runner]# ls
      CHANGELOG.md  Chart.yaml  CONTRIBUTING.md  LICENSE  Makefile  NOTICE  README.md  templates  values.yaml

      主要的一個文件是 values.yaml 文件,各個字段配置說明

      image: #指定gitlab-runner鏡像
      imagePullPolicy: #鏡像拉取策略
      gitlabUrl: #gitlab地址
      runnerRegistrationToken: #gitlab-runner注冊用到的tocken
      concurrent: #設置同行運行的runner個數
      checkInterval: #定義檢查gitlab新構建的頻率
      rbac: #角色設置
        create: true
        clusterWideAccess: true
      metrics: #prometheus metrics數據暴露
        enabled: true
      runners: #runners配置
        image:
        imagePullSecrets:
        imagePullPolicy:
        locked: #是否設置為特定的runner
        tags: #設置標簽
        privileged: true
        secret: 
        namespace: 
        cache: {}
        builds: #構建資源限制
          cpuLimit: 200m
          memoryLimit: 256Mi
          cpuRequests: 100m
          memoryRequests: 128Mi
        services: {}
        helpers: {}
        serviceAccountName:
        nodeSelector: #worker調度選擇器
      resources: {} #資源限制
      affinity: {} #節點親和性
      nodeSelector: {} #節點調度選擇器
      tolerations: [] #污點容忍度
      envVars: #環境變量設置
        - name: RUNNER_EXECUTOR
          value: kubernetes

      我們需要修改 values.yaml 文件,修改的地方如下

      修改完上面的后保存,也可以根據自己的需求修改更多的內容

      部署 gitlab-runner

      我們創建一個 gitlab-runner 的 ns,把資源創建在這個下面

      # 創建 ns
      [root@master1 gitlab-runner]# kubectl create ns gitlab-runner
      namespace/gitlab-runner created

      使用 helm 創建資源

      # 創建資源,要和 gitlab-runner 目錄同級
      [root@master1 ~]# helm install gitlab-runner --namespace gitlab-runner ./gitlab-runner
      NAME: gitlab-runner
      LAST DEPLOYED: Fri Oct  7 15:39:19 2022
      NAMESPACE: gitlab-runner
      STATUS: deployed
      REVISION: 1
      TEST SUITE: None
      NOTES:
      Your GitLab Runner should now be registered against the GitLab instance reachable at: "http://10.6.215.70/"
      
      Runner namespace "gitlab-runner" was found in runners.config template

      創建完成后查看 pod 和 deployment,可以看到只有一個 pod 在運行

      [root@master1 ~]# kubectl get pod,deploy,svc -n gitlab-runner
      NAME                                READY   STATUS    RESTARTS   AGE
      pod/gitlab-runner-bcbbdfbc5-q99jp   1/1     Running   0          75s
      
      NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
      deployment.apps/gitlab-runner   1/1     1            1           75s

      在 gitlab 里查看 runner

      如果我們更新了 values.yaml 文件,只需要使用下面命令更新一下就可以了

      # 更新
      helm upgrade gitlab-runner --namespace gitlab-runner ./gitlab-runner

      運行流水線進行測試

      .gitlab-ci.yaml 文件內容如下

      default:
        tags:
          - kubernetes # 使用 k8s 的 runner
          
      stages:
        - build
        - deploy
      
      
      build:
        stage: build
        script:
          - echo "我是 build"
          - sleep 60
        
      deploy:
        stage: deploy
        script:
          - echo "我是 deploy"
          - sleep 60
      運行流水線,查看 build 的日志

      這時候去集群上,查看 gitlab-runner 命名空間下的 pod

      # pod/runner-sepxytoo-project-5-concurrent-0fwrvf 在創建
      [root@master1 ~]# kubectl get pod,deploy,svc -n gitlab-runner
      NAME                                              READY   STATUS            RESTARTS   AGE
      pod/gitlab-runner-bcbbdfbc5-q99jp                 1/1     Running           0          12m
      pod/runner-sepxytoo-project-5-concurrent-0fwrvf   0/2     PodInitializing   0          25s
      
      NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
      deployment.apps/gitlab-runner   1/1     1            1           12m
      
      # 創建成功了
      [root@master1 ~]# kubectl get pod,deploy,svc -n gitlab-runner
      NAME                                              READY   STATUS    RESTARTS   AGE
      pod/gitlab-runner-bcbbdfbc5-q99jp                 1/1     Running   0          12m
      pod/runner-sepxytoo-project-5-concurrent-0fwrvf   2/2     Running   0          45s

      當 build 的 job 運行完成之后,我們在去查看 pod,已經被銷毀了

      # job 運行完后,pod 銷毀了
      [root@master1 ~]# kubectl get pod,deploy,svc -n gitlab-runner
      NAME                                READY   STATUS    RESTARTS   AGE
      pod/gitlab-runner-bcbbdfbc5-q99jp   1/1     Running   0          13m
      
      NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
      deployment.apps/gitlab-runner   1/1     1            1           13m
      deploy 的日志

      deploy 的 job 運行完成之后,也就銷毀了

      并發運行

      我們在 value.yaml 里設置的并發數是 10,那我們寫個并發的流水線來看看

      default:
        tags:
          - kubernetes 
          
      stages:
        - build
        - deploy
      
      
      build:
        stage: build
        script:
          - echo "我是 build"
          - sleep 60
      
      build1:
        stage: build
        script:
          - echo "我是 build1"
          - sleep 60
        
      
      build2:
        stage: build
        script:
          - echo "我是 build2"
          - sleep 60
      
      deploy:
        stage: deploy
        script:
          - echo "我是 deploy"
          - sleep 60
      
      
      deploy1:
        stage: deploy
        script:
          - echo "我是 deploy1"
          - sleep 60

      運行流水線

      這時候查看 pod

      # 可以看到,每個 job 都起了一個 pod 去運行
      [root@master1 ~]# kubectl get pod,deploy,svc -n gitlab-runner
      NAME                                             READY   STATUS    RESTARTS   AGE
      pod/gitlab-runner-5f85f6597d-wbz79               1/1     Running   0          10m
      pod/runner-y-xdj4y-project-5-concurrent-0mf56k   2/2     Running   0          38s
      pod/runner-y-xdj4y-project-5-concurrent-1mhgdt   2/2     Running   0          37s
      pod/runner-y-xdj4y-project-5-concurrent-2lsn5v   2/2     Running   0          37s
      
      NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
      deployment.apps/gitlab-runner   1/1     1            1           27m

      等 job 運行完成之后就會刪除對應的 pod

      使用 k8s 的 runner 使用緩存

      在 k8s 里的 runner 使用緩存默認是不行的,如下

      
      317字節
      default:
        tags:
          - kubernetes # 使用 k8s 的 runner
          
      stages:
        - build
        - deploy
        
      build:
        stage: build
        cache: # 使用緩存
          paths:
            - abc.txt
        script:
          - echo "我是 build"
          - touch abc.txt
        
      deploy:
        stage: deploy
        cache: # 使用緩存
          paths:
            - abc.txt
        script:
          - echo "我是 deploy"
          - ls

      使用制品 artifacts

      default:
        tags:
          - kubernetes # 使用 k8s 的 runner
          
      stages:
        - build
        - deploy
      
      
      build:
        stage: build
        script:
          - echo "我是 build"
          - touch abc.txt
        artifacts:
          name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME" # 創建制品存檔的名稱
          when: on_success  # 制品何時進行收集
          expire_in: "1 week"  # 制品的過期時間,過期自動清理
          paths:  # 定義要收集的制品文件或者目錄信息
            - abc.txt
        
      deploy:
        stage: deploy
        script:
          - echo "我是 deploy"
          - ls
        dependencies:  # 只使用 build 階段產生的制品,不寫 dependencies 默認會下載所有階段產生的制品
          - build
      查看 build 的日志

      查看 deploy 的日志

      制品我們也可以使用制品庫:http://www.rzrgm.cn/zouzou-busy/p/16759180.html

      posted @ 2023-09-29 10:42  鄒鄒很busy。  閱讀(1555)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲成a人片在线观看中| 94人妻少妇偷人精品| 亚洲国产成人久久精品不卡| 国产精品熟妇视频国产偷人| 国产精品无码一区二区在线观一| 国产成人精彩在线视频| 国产亚洲精久久久久久无码77777| 暖暖影院日本高清...免费| 日本在线 | 中文| 国产人免费人成免费视频| JIZZJIZZ国产| 加勒比无码人妻东京热| 四虎永久精品免费视频| 国产精品色三级在线观看| 国偷自产av一区二区三区| 干老熟女干老穴干老女人| 欧洲中文字幕国产精品| 亚洲一区av在线观看| 日本亚洲色大成网站www久久| 人成午夜大片免费视频77777| 成人午夜av在线播放| 无码人妻h动漫| 天天躁夜夜躁狠狠喷水| 国产精品 欧美 亚洲 制服| 亚洲色大成网站WWW永久麻豆| 国产国产午夜福利视频| 靖边县| 一个人看的www视频免费观看| 99在线小视频| 亚洲夜色噜噜av在线观看| 国产午夜在线观看视频| 欧美精品久久天天躁| 免费人成视频x8x8国产| 天堂www在线中文| 亚洲AV国产福利精品在现观看| 免费现黄频在线观看国产| 成人午夜av在线播放| 襄樊市| 国产麻豆放荡av激情演绎| 国产口爆吞精在线视频2020版 | 男女真人国产牲交a做片野外|