<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 功能強大 支持多語言、二開方便! 廣告
                # Configuring GitLab Runners > 原文:[https://docs.gitlab.com/ee/ci/runners/README.html](https://docs.gitlab.com/ee/ci/runners/README.html) * [Types of Runners](#types-of-runners) * [Shared Runners](#shared-runners) * [How shared Runners pick jobs](#how-shared-runners-pick-jobs) * [Enable shared Runners](#enable-shared-runners) * [Disable shared Runners](#disable-shared-runners) * [Group Runners](#group-runners) * [Create a group Runner](#create-a-group-runner) * [View and manage group Runners](#view-and-manage-group-runners) * [Pause or remove a group Runner](#pause-or-remove-a-group-runner) * [Specific Runners](#specific-runners) * [Create a specific Runner](#create-a-specific-runner) * [Enable a specific Runner for a specific project](#enable-a-specific-runner-for-a-specific-project) * [Prevent a specific Runner from being enabled for other projects](#prevent-a-specific-runner-from-being-enabled-for-other-projects) * [Manually clear the Runner cache](#manually-clear-the-runner-cache) * [Set maximum job timeout for a Runner](#set-maximum-job-timeout-for-a-runner) * [Be careful with sensitive information](#be-careful-with-sensitive-information) * [Prevent Runners from revealing sensitive information](#prevent-runners-from-revealing-sensitive-information) * [Forks](#forks) * [Attack vectors in Runners](#attack-vectors-in-runners) * [Reset the Runner registration token for a project](#reset-the-runner-registration-token-for-a-project) * [Determine the IP address of a Runner](#determine-the-ip-address-of-a-runner) * [Determine the IP address of a shared Runner](#determine-the-ip-address-of-a-shared-runner) * [Determine the IP address of a specific Runner](#determine-the-ip-address-of-a-specific-runner) * [Use tags to limit the number of jobs using the Runner](#use-tags-to-limit-the-number-of-jobs-using-the-runner) * [Runner runs only tagged jobs](#runner-runs-only-tagged-jobs) * [Runner is allowed to run untagged jobs](#runner-is-allowed-to-run-untagged-jobs) # Configuring GitLab Runners[](#configuring-gitlab-runners "Permalink") 在 GitLab CI / CD 中,運行程序運行[`.gitlab-ci.yml`](../yaml/README.html)定義的代碼. GitLab Runner 是一種輕量級,高度可擴展的代理,它通過 GitLab CI / CD 的協調器 API 提取 CI 作業,運行該作業,并將結果發送回 GitLab 實例. 運行程序由管理員創建,并在 GitLab UI 中可見. 運行者可以特定于某些項目,也可以適用于所有項目. ## Types of Runners[](#types-of-runners "Permalink") 跑步者共有三種類型: * [共享](#shared-runners) (對于所有項目) * [組](#group-runners) (對于[組](#group-runners)中的所有項目) * [具體](#specific-runners) (針對特定項目) 如果您正在運行自我管理的 GitLab,則可以創建自己的 Runners. 如果使用的是 GitLab.com,則可以使用 GitLab 提供的共享運行程序,也可以創建自己的組或特定運行程序. ### Shared Runners[](#shared-runners "Permalink") GitLab 實例中的每個項目都可以使用*共享運行器* . 當您有多個要求相似的作業時,請使用共享的運行器. 您可以讓幾個處理多個項目的 Runner 而不是讓多個 Runner 空閑多個項目. 如果您使用的是 GitLab 的自我管理實例: * 您的管理員可以通過查看[此處](https://docs.gitlab.com/runner/install/index.html)的說明來安裝和注冊共享運行程序. * 管理員還可[以為每個組](../../user/admin_area/settings/continuous_integration.html#shared-runners-pipeline-minutes-quota-starter-only)配置最大的共享 Runner [管道分鐘數](../../user/admin_area/settings/continuous_integration.html#shared-runners-pipeline-minutes-quota-starter-only) . 如果您使用的是 GitLab.com: * 您可以從[GitLab 維護](../../user/gitlab_com/index.html#shared-runners)的[共享運行程序](../../user/gitlab_com/index.html#shared-runners)列表中進行選擇. * 共享的跑步者會消耗您帳戶中包含的[管道分鐘](../../subscriptions/index.html#ci-pipeline-minutes) . #### How shared Runners pick jobs[](#how-shared-runners-pick-jobs "Permalink") 共享運行者通過使用合理使用隊列來處理作業. 此隊列可防止項目創建數百個作業并使用所有可用的共享 Runner 資源. 合理使用隊列算法根據已在共享 Runner 上運行的作業數量最少的項目分配作業. **Example 1** 如果這些作業在隊列中: * 項目 1 的工作 1 * 項目 1 的工作 2 * 項目 1 的工作 3 * 項目 2 的工作 4 * 項目 2 的工作 5 * 項目 3 的工作 6 合理使用算法按以下順序分配作業: 1. 首先選擇作業 1,因為它在沒有正在運行的作業的項目(即所有項目)中具有最低的作業編號. 2. 接下來是作業 4,因為現在 4 是來自沒有正在運行的作業的項目中最低的作業編號(項目 1 有正在運行的作業). 3. 接下來是作業 6,因為 6 現在是沒有正在運行的作業的項目中最低的作業編號(項目 1 和 2 有正在運行的作業). 4. 接下來是作業 2,因為在運行的作業數量最少的項目(每個都有 1)中,它是最低的作業數量. 5. 接下來是作業 5,因為項目 1 現在有 2 個正在運行的作業,而作業 5 是項目 2 和項目 3 之間剩余的最低編號. 6. 最后是工作 3…,因為這是剩下的唯一工作. * * * **例子 2** 如果這些作業在隊列中: * 項目 1 的工作 1 * 項目 1 的工作 2 * 項目 1 的工作 3 * 項目 2 的工作 4 * 項目 2 的工作 5 * 項目 3 的工作 6 合理使用算法按以下順序分配作業: 1. 首先選擇作業 1,因為它在沒有正在運行的作業的項目(即所有項目)中具有最低的作業編號. 2. 我們完成工作 1. 3. 接下來是作業 2,因為完成作業 1 后,所有項目都再次運行 0 個作業,而 2 是最低的可用作業號. 4. 接下來是作業 4,因為在項目 1 運行作業的情況下,項目 4 在沒有運行作業的項目(項目 2 和 3)中是最低的. 5. 我們完成工作 4. 6. 接下來是作業 5,因為完成了作業 4,所以項目 2 沒有再次運行的作業. 7. 接下來是作業 6,因為項目 3 是唯一沒有運行作業的項目. 8. 最后,我們選擇作業 3…,因為它再次是唯一剩下的作業. #### Enable shared Runners[](#enable-shared-runners "Permalink") 在 GitLab.com 上,默認情況下在所有項目中啟用[共享運行器](#shared-runners) . On self-managed instances of GitLab, an administrator must [install](https://docs.gitlab.com/runner/install/index.html) and [register](https://docs.gitlab.com/runner/register/index.html) them. 您還可以為單個項目啟用共享運行器. 要啟用共享跑步者: 1. 轉到項目的 **設置> CI / CD,**然后展開" **跑步者"**部分. 2. Click **允許共享跑步者**. #### Disable shared Runners[](#disable-shared-runners "Permalink") 您可以為單個項目禁用共享運行器. 您必須具有項目的所有者權限. 要為項目禁用共享運行器: 1. 轉到項目的 **設置> CI / CD,**然后展開" **跑步者"**部分. 2. 在" **共享運行程序"**區域中,單擊" **禁用共享運行程序"** . ### Group Runners[](#group-runners "Permalink") 當您希望組中的所有項目都可以訪問一組運行器時,請使用" *組運行器"* . Group Runners process jobs by using a first in, first out ([FIFO](https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics))) queue. #### Create a group Runner[](#create-a-group-runner "Permalink") 您可以為自己管理的 GitLab 實例或 GitLab.com 創建一個組 Runner. 您必須具有該組的[所有者權限](../../user/permissions.html#group-members-permissions) . 創建組跑步者: 1. [Install Runner](https://docs.gitlab.com/runner/install/). 2. 轉到您要使 Runner 運行的組. 3. 去 **設置> CI / CD,**然后展開" **跑步者"**部分. 4. 注意 URL 和令牌. 5. [Register the Runner](https://docs.gitlab.com/runner/register/). #### View and manage group Runners[](#view-and-manage-group-runners "Permalink") 在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/37366/) . 您可以查看和管理組,其子組和項目的所有運行器. 您可以為自己管理的 GitLab 實例或 GitLab.com 執行此操作. 您必須具有該組的[所有者權限](../../user/permissions.html#group-members-permissions) . 1. 轉到要查看跑步者的組. 2. 去 **設置> CI / CD,**然后展開" **跑步者"**部分. 3. 顯示以下字段. | Attribute | Description | | --- | --- | | Type | 以下一種或多種狀態:共享,組,特定,鎖定或暫停 | | 賽跑者令牌 | 令牌用于標識 Runner,并且 Runner 用于與 GitLab 實例進行通信 | | Description | 創建跑步者時的描述 | | Version | GitLab Runner 版本 | | IP 地址 | 注冊了運行程序的主機的 IP 地址 | | Projects | Runner 分配到的項目數 | | Jobs | 跑步者所從事的工作總數 | | Tags | 與跑步者相關的標簽 | | 最后聯絡人 | 指示 GitLab 實例最后一次與 Runner 聯系的時間戳 | 在此頁面上,您可以編輯,暫停和從組,其子組和項目中刪除"跑步者". #### Pause or remove a group Runner[](#pause-or-remove-a-group-runner "Permalink") 您可以為自己管理的 GitLab 實例或 GitLab.com 暫停或刪除組運行器. 您必須具有該組的[所有者權限](../../user/permissions.html#group-members-permissions) . 1. 轉到您要刪除或暫停 Runner 的組. 2. 去 **設置> CI / CD,**然后展開" **跑步者"**部分. 3. Click **Pause** or **刪除亞軍**. * 如果您暫停由多個項目使用的組 Runner,則 Runner 會暫停所有項目. * 從組視圖中,您無法刪除分配給多個項目的運行器. 您必須先從每個項目中將其刪除. 4. 在確認對話框中,單擊**確定** . ### Specific Runners[](#specific-runners "Permalink") 當你想使用運動員的具體項目使用*特定的運動員* . 例如,當您擁有: * 有特定要求的作業,例如需要憑據的部署作業. * CI 活動很多的項目可以從與其他運行者分離中受益. 您可以設置一個特定的 Runner,以供多個項目使用. 必須為每個項目明確啟用特定的運行器. 特定運行程序通過使用[先進先出](https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics)) ( [FIFO](https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics)) )隊列來處理作業. **注意:**特定運行器不會自動與分支項目共享. 分支*確實會*復制克隆存儲庫的 CI / CD 設置. #### Create a specific Runner[](#create-a-specific-runner "Permalink") 您可以為自己管理的 GitLab 實例或 GitLab.com 創建特定的 Runner. 您必須具有項目的[所有者權限](../../user/permissions.html#project-members-permissions) . 要創建特定的運行器: 1. [Install Runner](https://docs.gitlab.com/runner/install/). 2. 轉到項目的 **設置> CI / CD,**然后展開" **跑步者"**部分. 3. 注意 URL 和令牌. 4. [Register the Runner](https://docs.gitlab.com/runner/register/). #### Enable a specific Runner for a specific project[](#enable-a-specific-runner-for-a-specific-project "Permalink") 在為其創建的項目中提供了特定的 Runner. 管理員可以使特定的 Runner 應用于其他項目. * 您必須具有項目的所有者權限. * 特定的跑步者一定不能被[鎖定](#prevent-a-specific-runner-from-being-enabled-for-other-projects) . 要為項目啟用或禁用特定的運行器: 1. 轉到項目的 **設置> CI / CD,**然后展開" **跑步者"**部分. 2. Click **為此項目啟用** or **為此項目禁用**. #### Prevent a specific Runner from being enabled for other projects[](#prevent-a-specific-runner-from-being-enabled-for-other-projects "Permalink") 您可以配置一個特定的運行器,使其"鎖定"并且不能為其他項目啟用. 首次[注冊 Runner](https://docs.gitlab.com/runner/register/)時可以啟用此設置,但以后也可以更改. 鎖定或解鎖跑步者: 1. 轉到項目的 **設置> CI / CD,**然后展開" **跑步者"**部分. 2. 找到您想要鎖定或解鎖的亞軍. 確保已啟用. 3. 單擊鉛筆按鈕. 4. 選中" **鎖定到當前項目"**選項. 5. Click **保存更改**. ## Manually clear the Runner cache[](#manually-clear-the-runner-cache "Permalink") Read [clearing the cache](../caching/index.html#clearing-the-cache). ## Set maximum job timeout for a Runner[](#set-maximum-job-timeout-for-a-runner "Permalink") 對于每個跑步者,您可以指定*最大作業超時時間* . 如果此超時時間小于[項目定義的超時時間](../pipelines/settings.html#timeout) ,則優先. 此功能可用于防止共享的 Runner 被具有較長超時(例如,一個星期)的工作的項目淹沒. 未配置時,Runner 將不會覆蓋項目超時. 此功能的工作原理: **示例 1-運行程序超時大于項目超時** 1. 您將跑步者的*最大作業超時*設置為 24 小時 2. 您將項目的*CI / CD 超時*設置為**2 小時** 3. 你開始工作 4. 如果工作時間更長,則**2 小時**后將超時 **示例 2-未配置運行程序超時** 1. 您從運行器中刪除*最大作業超時*配置 2. 您將項目的*CI / CD 超時*設置為**2 小時** 3. 你開始工作 4. 如果工作時間更長,則**2 小時**后將超時 **示例 3-運行程序超時小于項目超時** 1. 您將跑步者的*最大作業超時*設置為**30 分鐘** 2. 您將項目的*CI / CD 超時*設置為 2 小時 3. 你開始工作 4. 如果作業時間更長,則**30 分鐘**后將超時 ## Be careful with sensitive information[](#be-careful-with-sensitive-information "Permalink") 使用某些[Runner Executors](https://docs.gitlab.com/runner/executors/README.html) ,如果可以在 Runner 上運行作業,則可以完全訪問文件系統,從而可以運行該文件的任何代碼以及 Runner 的令牌. 使用共享的運行程序,這意味著在運行程序上運行作業的任何人都可以訪問在運行程序上運行的任何其他人的代碼. 另外,由于您可以訪問 Runner 令牌,因此可以創建 Runner 的克隆并提交錯誤的作業. 通過限制在大型公共 GitLab 實例上共享[Runner 的](https://docs.gitlab.com/runner/executors/README.html)使用,控制對 GitLab 實例的訪問以及使用更安全的[Runner Executor](https://docs.gitlab.com/runner/executors/README.html) ,可以輕松避免上述情況. ### Prevent Runners from revealing sensitive information[](#prevent-runners-from-revealing-sensitive-information "Permalink") 在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13194) . 您可以保護賽跑者,使他們不會泄露敏感信息. 當運行器受到保護時,運行器僅選擇在[受保護分支](../../user/project/protected_branches.html)或[受保護標簽](../../user/project/protected_tags.html)上創建的作業,而忽略其他作業. 保護或取消保護跑步者: 1. 轉到項目的 **設置> CI / CD,**然后展開" **跑步者"**部分. 2. 找到您要保護或取消保護的跑步者. 確保已啟用. 3. 單擊鉛筆按鈕. 4. 檢查**受保護的**選項. 5. Click **保存更改**. [![specific Runners edit icon](https://img.kancloud.cn/85/7b/857b7ee6935e8ab9a22d50d0df30311c_573x37.png)](img/protected_runners_check_box.png) ### Forks[](#forks "Permalink") 每當分支一個項目時,它都會復制與其相關的作業的設置. 這意味著,如果您已經為項目設置了共享的 Runners,并且有人分叉了該項目,則共享的 Runners 也將為該項目的工作提供服務. ### Attack vectors in Runners[](#attack-vectors-in-runners "Permalink") 前面已經簡要提到過,但是可以利用 Runners 的以下功能. 我們一直在尋找可以減輕這些[安全注意事項的因素](https://docs.gitlab.com/runner/security/) . ### Reset the Runner registration token for a project[](#reset-the-runner-registration-token-for-a-project "Permalink") 如果您認為某個項目的注冊令牌已公開,則應將其重置. 令牌可用于為該項目注冊另一個 Runner. 然后可以使用該新 Runner 來獲取秘密變量的值或克隆項目代碼. 重置令牌: 1. 轉到項目的 **設置> CI / CD** . 2. 展開**常規管道設置**部分. 3. 找到" **跑步者令牌"**表單字段,然后單擊" **顯示值"**按鈕. 4. 刪除值并保存表單. 5. 刷新頁面后,展開" **跑步者設置"**部分并檢查注冊令牌-應該更改它. 從現在開始,舊令牌將不再有效,并且不會在項目中注冊任何新的運行者. 如果您使用任何工具來供應和注冊新的運行器,則應更新這些工具中使用的令牌以反映新令牌的價值. ## Determine the IP address of a Runner[](#determine-the-ip-address-of-a-runner "Permalink") 在 GitLab 10.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17286) . 知道 Runner 的 IP 地址可能很有用,以便您可以解決該 Runner 的問題. GitLab 通過在輪詢作業時查看向 GitLab 發出的 HTTP 請求的源來存儲和顯示 IP 地址. IP 地址始終保持最新,因此,如果 Runner IP 更改,它將在 GitLab 中自動更新. 共享運行程序和特定運行程序的 IP 地址可以在不同位置找到. ### Determine the IP address of a shared Runner[](#determine-the-ip-address-of-a-shared-runner "Permalink") 要查看共享運行器的 IP 地址,您必須具有對 GitLab 實例的管理員訪問權限. 要確定這一點: 1. Visit **管理區域>概述>跑步者**. 2. 在表中查找 Runner,您應該看到**IP Address**列. [![shared Runner IP address](https://img.kancloud.cn/12/4c/124c444ad6648d20377da805466d96f1_2540x254.png)](img/shared_runner_ip_address.png) ### Determine the IP address of a specific Runner[](#determine-the-ip-address-of-a-specific-runner "Permalink") 若要查找特定項目的運行程序的 IP 地址,您必須具有該項目的所有者[權限](../../user/permissions.html#project-members-permissions) . 1. 轉到項目的 **設置> CI / CD,**然后展開" **跑步者"**部分. 2. 在詳細信息頁面上,您應該看到**IP 地址**行. [![specific Runner IP address](https://img.kancloud.cn/91/9e/919e51b9920c36490310793db71ac857_1660x328.png)](img/specific_runner_ip_address.png) ## Use tags to limit the number of jobs using the Runner[](#use-tags-to-limit-the-number-of-jobs-using-the-runner "Permalink") 您必須設置一個 Runner 才能運行它在共享項目上可能遇到的所有不同類型的作業. 如果不是標簽,這對于大量項目將是有問題的. 通過將 Runner 標記為它可以處理的作業類型,可以確保共享的 Runners [僅運行其能夠運行的作業](../yaml/README.html#tags) . 例如,在 GitLab 上,如果 Runners 包含運行 Rails 測試套件的適當依賴項,我們會將它們標記為`rails` . [注冊 Runner 時](https://docs.gitlab.com/runner/register/) ,其默認行為是**僅選擇帶** [標簽的作業](../yaml/README.html#tags) . 要更改此設置,您必須具有項目的所有者[權限](../../user/permissions.html#project-members-permissions) . 要使跑步者選擇無標簽的工作,請執行以下操作: 1. 轉到項目的 **設置> CI / CD,**然后展開" **跑步者"**部分. 2. 找到您要選擇未加標簽的作業的 Runner,并確保已啟用它. 3. 單擊鉛筆按鈕. 4. 選中**運行未加標簽的作業**選項. 5. 單擊**保存更改**按鈕以使更改生效. **注意:**不允許選擇未標記的作業時,"運行者標簽"列表不能為空. 以下是一些不同變化的示例場景. ### Runner runs only tagged jobs[](#runner-runs-only-tagged-jobs "Permalink") 以下示例說明了將 Runner 設置為僅運行帶標簽的作業的潛在影響. 范例 1: 1. Runner 配置為僅運行帶標簽的作業,并具有`docker`標簽. 2. 具有`hello`標簽的作業將被執行并卡住. Example 2: 1. Runner 配置為僅運行帶標簽的作業,并具有`docker`標簽. 2. 具有`docker`標簽的作業將被執行并運行. 范例 3: 1. Runner 配置為僅運行帶標簽的作業,并具有`docker`標簽. 2. 沒有定義標簽的作業將被執行并卡住. ### Runner is allowed to run untagged jobs[](#runner-is-allowed-to-run-untagged-jobs "Permalink") 以下示例說明了將 Runner 設置為運行帶標簽和未帶標簽的作業的潛在影響. 范例 1: 1. Runner 配置為運行未加標簽的作業,并具有`docker`標簽. 2. 沒有定義標簽的作業將被執行并運行. 3. 執行并運行定義了`docker`標簽的第二項作業. 范例 2: 1. Runner 配置為運行未加標簽的作業,并且未定義標簽. 2. 沒有定義標簽的作業將被執行并運行. 3. 卡有定義了`docker`標簽的第二項工作.
                  <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>

                              哎呀哎呀视频在线观看