<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Deploy Boards > 原文:[https://docs.gitlab.com/ee/user/project/deploy_boards.html](https://docs.gitlab.com/ee/user/project/deploy_boards.html) * [Overview](#overview) * [Use cases](#use-cases) * [Enabling Deploy Boards](#enabling-deploy-boards) * [Example manifest file](#example-manifest-file) * [Canary Deployments](#canary-deployments) * [Further reading](#further-reading) # Deploy Boards[](#deploy-boards-premium "Permalink") [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/1589) in [GitLab Premium](https://about.gitlab.com/pricing/) 9.0. GitLab 的部署板提供了[Kubernetes](https://kubernetes.io)上運行的每個 CI [環境](../../ci/environments/index.html)的當前運行狀況和狀態的綜合視圖,顯示了部署中 Pod 的狀態. 開發人員和其他團隊成員可以在已經使用的工作流程中逐個窗格地查看發布的進度和狀態,而無需訪問 Kubernetes. ## Overview[](#overview "Permalink") 使用部署板,您可以通過以下優勢對部署進行更多了解: * 從頭開始進行部署,而不僅僅是完成之后 * 監視跨多個服務器的構建的推出 * 更詳細的狀態詳細信息(成功,正在運行,失敗,待處理,未知) * See [Canary Deployments](canary_deployments.html) 這是生產環境的部署板的示例. [![Deploy Boards landing page](https://img.kancloud.cn/d1/07/d1071c91756c708903d5ed7a0adb19ca_1262x291.png)](img/deploy_boards_landing_page.png) 正方形表示與給定環境關聯的 Kubernetes 集群中的 Pod. 將鼠標懸停在每個方塊上方,可以看到部署的狀態. 百分比是已更新到最新版本的 Pod 的百分比. 由于部署板與 Kubernetes 緊密結合,因此需要一些知識. 特別是,您應該熟悉: * [Kubernetes pods](https://kubernetes.io/docs/concepts/workloads/pods/pod/) * [Kubernetes labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) * [Kubernetes namespaces](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) * [Kubernetes canary deployments](https://kubernetes.io/docs/concepts/cluster-administration/manage-deployment/#canary-deployments) **注意:**包含多個部署的應用程序在部署板上顯示為重復項. 有關詳細信息,請關注[此問題](https://gitlab.com/gitlab-org/gitlab/-/issues/8463) . ## Use cases[](#use-cases "Permalink") 由于部署板是針對特定環境的 Kubernetes 吊艙的直觀表示,因此存在許多用例. 僅舉幾例: * 您想將分階段運行的產品推廣到生產環境. 您轉到環境列表,驗證階段運行的是您認為正在運行的,然后單擊[手動操作](../../ci/yaml/README.html#whenmanual)以部署到生產環境. * 您觸發了部署,并且有很多容器需要升級,因此您將花費一段時間(您也限制了部署,一次只能刪除 X 個容器). 但是您需要告訴某人何時部署,因此您可以轉到環境列表,查看生產環境,以了解每個 Pod 滾動時的實時進度. * 您會得到一份報告,說明生產中有些異常,因此您可以查看生產環境以查看正在運行什么,以及部署是否正在進行,是否停止或失敗. * 您的 MR 看起來不錯,但是您希望在登臺上運行它,因為登臺是在某種程度上更接近生產環境進行設置的. 您轉到環境列表,找到您感興趣的[Review App](../../ci/review_apps/index.html) ,然后單擊手動操作將其部署到登臺. ## Enabling Deploy Boards[](#enabling-deploy-boards "Permalink") 要顯示特定[環境](../../ci/environments/index.html)的部署板,您應該: 1. 用部署階段[定義了一個環境](../../ci/environments/index.html#defining-environments) . 2. 使 Kubernetes 集群啟動并運行. **在 OpenShift 上運行:**如果使用的是 OpenShift,請確保使用的是`Deployment`資源而不是`DeploymentConfiguration` . 否則,部署板將無法正確渲染. 有關更多信息,請閱讀[OpenShift docs](https://docs.openshift.com/container-platform/3.7/dev_guide/deployments/kubernetes_deployments.html#kubernetes-deployments-vs-deployment-configurations)和[GitLab 問題#4584](https://gitlab.com/gitlab-org/gitlab/-/issues/4584) . 3. 使用[Docker](https://docs.gitlab.com/runner/executors/docker.html)或[Kubernetes](https://docs.gitlab.com/runner/executors/kubernetes.html)執行器[配置 GitLab Runner](../../ci/runners/README.html) . 4. 在您的項目中為集群配置[Kubernetes 集成](clusters/index.html) . 特別注意 Kubernetes 命名空間,因為部署腳本(由`KUBE_NAMESPACE` env 變量公開)將需要它. 5. 確保將 app.gitlab.com/env:$ `app.gitlab.com/env: $CI_ENVIRONMENT_SLUG`和`app.gitlab.com/app: $CI_PROJECT_PATH_SLUG` CI_PROJECT_PATH_SLUG 的 Kubernetes 注釋應用于部署,副本集和 Pod,其中`$CI_ENVIRONMENT_SLUG`和`$CI_PROJECT_PATH_SLUG`是 CI 變量的值. 這樣一來,我們便可以在可能有多個的群集/命名空間中查找適當的環境. 這些資源應包含在 Kubernetes 服務設置中定義的名稱空間中. 您可以使用[Autodeploy](../../topics/autodevops/stages.html#auto-deploy) `.gitlab-ci.yml`模板,該模板具有要使用的預定義階段和命令,并自動應用注釋. 每個項目還需要在 Kubernetes 中具有唯一的名稱空間. 下圖演示了如何在 Kubernetes 中顯示此內容. **注意:**在[GitLab 12.1](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/14020)中刪除了基于 Kubernetes `app`標簽的匹配. 要遷移,請應用所需的注釋(請參見上文),然后重新部署您的應用程序. 如果您使用的是 Auto DevOps,這將自動完成,無需采取任何措施. [![Deploy Boards Kubernetes Label](https://img.kancloud.cn/5a/9c/5a9cd02a21b5d288506cb5c66a0127ad_835x267.png)](img/deploy_boards_kubernetes_label.png) 完成以上所有設置并且管道至少運行了一次之后,導航至**Operations> Environments**下的 environment 頁面. 默認情況下,部署板是可見的. 您可以顯式單擊相應環境名稱旁邊的三角形以隱藏它們. ### Example manifest file[](#example-manifest-file "Permalink") 以下示例是使用兩個注釋`app.gitlab.com/env`和`app.gitlab.com/app`啟用 Kubernetes 清單部署文件的`app.gitlab.com/env` ,以啟用**Deploy Boards** : ``` apiVersion: apps/v1 kind: Deployment metadata: name: "APPLICATION_NAME" annotations: app.gitlab.com/app: ${CI_PROJECT_PATH_SLUG} app.gitlab.com/env: ${CI_ENVIRONMENT_SLUG} spec: replicas: 1 selector: matchLabels: app: "APPLICATION_NAME" template: metadata: labels: app: "APPLICATION_NAME" annotations: app.gitlab.com/app: ${CI_PROJECT_PATH_SLUG} app.gitlab.com/env: ${CI_ENVIRONMENT_SLUG} ``` 注釋將應用于部署,副本集和 Pod. 通過更改副本數量,例如`kubectl scale --replicas=3 deploy APPLICATION_NAME -n ${KUBE_NAMESPACE}` ,您可以從開發板上跟蹤實例的 pod. **注意:** YAML 文件是靜態的. 如果使用`kubectl apply` ,則必須在`kubectl apply`之前手動提供項目和環境段,或者創建腳本來替換 YAML 中的變量. ## Canary Deployments[](#canary-deployments "Permalink") 一種流行的 CI 策略,其中將一小部分車隊更新為應用程序的新版本. [Read more about Canary Deployments.](canary_deployments.html) ## Further reading[](#further-reading "Permalink") * [GitLab Autodeploy](../../topics/autodevops/stages.html#auto-deploy) * [GitLab CI/CD environment variables](../../ci/variables/README.html) * [Environments and deployments](../../ci/environments/index.html) * [Kubernetes deploy example](https://gitlab.com/gitlab-examples/kubernetes-deploy)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看