日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

使用 Podman 啟動 GitLab 執行器有多種方法,我在本文中概述了其中兩種。

GitLab 執行器Runner 是一個與 GitLab CI/CD 配合使用的應用,可在 GitLab 基礎設施上的流水線中運行作業。它們通常用于在提交代碼后自動編譯應用或在代碼庫上運行測試。你可以將它們視為基于云的 Git 鉤子。

主要的公共 GitLab 實例提供了許多易于訪問的共享執行器,可供你在 CI 流水線中使用。你可以在 GitLab 上倉庫的 設置Settings -> CI/CD -> 執行器Runners 中找到共享執行器的列表。

你可能不想依賴共享執行器,而是選擇自己的執行器,原因有很多。例如,控制執行器運行的基礎設施以實現額外的安全性和/或隱私、靈活的執行器配置或分配給你的 GitLab 用戶帳戶的有限 CI 分鐘數。

GitLab 執行器依賴于 執行環境executor 工具來運行 CI 作業。執行環境有許多選項可用:Docker、Kube.NETes、VirtualBox 等。

那么,Podman 作為執行環境呢?

自 v4.2.0起,Podman 對 GitLab 執行器提供了原生支持。以下是使用 Podman 作為 GitLab 執行器的執行環境的兩種方法的快速瀏覽。

 

Docker 執行環境

你可以在 GitLab 執行器中使用 Podman 作為 Docker 的直接替代品。就是這樣:

本示例使用 2023 年 2 月的 centos Stream 9 環境,使用 Podman v4.4.0。它應該可以在任何具有足夠新的 Podman 的 RHEL/CentOS Stream/Fedora 環境中正常工作。查看 GitLab 文檔了解先決條件。

首先,安裝 Podman:

$ sudo dnf -y install podman

接下來安裝 gitlab-runner包:

# 添加 GitLab 執行器倉庫
$ curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash

# 安裝 gitlab-runner 包
$ sudo dnf -y install gitlab-runner

最后,允許用戶在注銷后執行任務:

$ sudo loginctl enable-linger gitlab-runner

 

配置并注冊執行器

使用以下步驟配置 Docker 運行環境。

安裝 gitlab-runner包會創建一個gitlab-runner用戶帳戶,但你需要 root 訪問權限才能操作該用戶帳戶。gitlab-runner可以在用戶模式下運行,但需要一些手動干預來進行構建處理。在此示例中,我使用sudo在系統模式下運行它。它看起來是這樣的:

$ sudo gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=7978 revision=d540b510 version=15.9.1
Running in system-mode.

Enter the GitLab instance URL (for example, https://gitlab.com/):
https://gitlab.com
Enter the registration token:
xxxxxxxxxxxxxxxxx
Enter a description for the runner:
[lmandvek-c9s-gitlab-runner]:
Enter tags for the runner (comma-separated):

Enter optional mAIntenance note for the runner:

WARNING: Support for registration tokens and runner parameters in the 'register' command has been deprecated in GitLab Runner 15.6 and will be replaced with support for authentication tokens. For more information, see https://gitlab.com/gitlab-org/gitlab/-/issues/380872
Registering runner... succeeded                     runner=GR13489419oEPYcJ8
Enter an executor: custom, docker, ssh, docker-ssh+machine, docker-ssh, parallels, shell, virtualbox, docker+machine, instance, kubernetes:
docker
Enter the default Docker image (for example, ruby:2.7):
registry.gitlab.com/rhcontainerbot/pkg-builder
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

Configuration (with the authentication token) was saved in "/etc/gitlab-runner/config.toml"

你將需要一些額外的配置才能使用 Podman。配置執行器為每個作業創建一個網絡。有關更多信息,請參閱 GitLab 文檔。

首先,啟用 Podman 系統服務并修改
/etc/gitlab-runner/config.toml中的環境:

[[runners]]
    environment = ["FF_NETWORK_PER_BUILD=1"]
    [runners.docker]
        host = "unix:///run/user/1001/podman/podman.sock"

重啟執行器以實施更改:

$ sudo gitlab-runner restart

驗證新的執行器在 GitLab 項目的 設置Settings -> CI/CD -> 執行器Runners 中可見:

接下來,驗證你的 CI 流水線正在使用執行器。你的 CI 任務日志將提及正在使用的執行器的名稱以及任何其他配置信息,例如 執行器的執行環境的功能標志和容器鏡像。

 

Podman-in-Podman(pipglr)

Chris Evich創建了pipglr,這是一個 Podman-in-Podman 設置,用于使用免 root 的 Podman 來支持你自己的免 root 的 GitLab 執行器。此方法不需要對.gitlab-ci.yaml配置進行任何更改,因此你可以繼續按原樣使用現有設置。

以下是幫助你運行此程序的快速設置指南。

 

配置步驟

容器鏡像是從 pipglr Containerfile自動構建的,因此將鏡像設置為該倉庫:

$ IMAGE="registry.gitlab.com/qontainers/pipglr:latest"

接下來,使用你的 GitLab 注冊令牌創建 Podman 密鑰:

$ echo '

創建一個空白的 config.toml,稍后將包含你的所有執行器設置。你必須執行此步驟才能使以下podman container register runlabel $IMAGE步驟成功:

$ touch ./config.toml  # 重要:文件必須存在,即使是空的。

注冊你的執行器。你可以重復此步驟來注冊多個執行器。如果你想使用可能不同的標簽或配置選項集并行運行多個 CI 任務,這非常有用。

$ podman container runlabel register $IMAGE

使用你選擇的編輯器編輯 config.toml。這是可選的,但通常需要更改用于實際 CI 任務的容器鏡像。默認情況下,鏡像設置為:
registry.fedoraproject.org/fedora:latest

$ $EDITOR ./config.toml  # if desired

最后,配置對卷的訪問。容器卷內使用多個用戶,因此你必須專門配置它們以允許訪問。再次使用 runlabel來完成:

$ podman container runlabel setupstorage $IMAGE

$ podman container runlabel setupcache $IMAGE

 

測試執行器

是時候檢查配置了。首先啟動 GitLab 執行器容器:

$ podman container runlabel run $IMAGE

允許執行器用戶在注銷后運行服務:

$ sudo loginctl enable-linger $(id -u)

驗證你的新執行器在 GitLab 項目的 設置Settings -> CI/CD -> 執行器Runners 中可見:

最后,驗證你的 CI 流水線正在使用你的執行器:

 

總結

使用 Podman 啟動 GitLab 執行器有多種方法,我在此處概述了其中兩種。嘗試一下,然后讓我知道哪一個最適合你。如果 Docker 執行環境方法有任何問題,請登錄并通過 Podman 上游或GitLab 支持提交問題。如果 pipglr 方法出現問題,請在 pipglr 上游提交問題。

GitLab 與 Podman 一起運行愉快

分享到:
標簽:GitLab
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定