精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在 Fedora CoreOS 上運行 GitHub Actions

系統 Linux
GitHub Actions 是一項為快速建立持續集成和交付(CI/CD)工作流程而提供的服務。這些工作流程在被稱為“運行器runner”的主機上運行。GitHub 提供的 托管運行器 的操作系統的選擇是有限的(Windows Server、Ubuntu、MacOS)。

GitHub Actions 是一項為快速建立持續集成和交付(CI/CD)工作流程而提供的服務。這些工作流程在被稱為“運行器runner”的主機上運行。GitHub 提供的 托管運行器 的操作系統的選擇是有限的(Windows Server、Ubuntu、MacOS)。

[[427064]]

另一個選擇是使用 自托管 的運行器,這讓倉庫管理員對運行器有更多控制。自托管的運行程序是專門為某個存儲庫或組織服務的。下面的文章介紹了使用 Fedora CoreOS 配置自托管運行程序的步驟。

入門

Fedora CoreOS 是一個精簡的操作系統,旨在便于大規模的部署和維護。該操作系統會自動更新,并默認提供運行容器所需的工具。由于這些原因,Fedora CoreOS 是運行 CI/CD 工作流程的一個極佳選擇。

配置和配備 Fedora CoreOS 機器的第一步是生成一個 Ignition 文件。Butane 允許你使用更友好的格式(YAML)生成 Ignition 文件。

配置一個 Fedora CoreOS 運行器

要在 Fedora CoreOS 上執行 GitHub Actions,托管主機需要用于注冊和運行該運行器的二進制文件和腳本。從 Actions 運行器項目 下載二進制文件和腳本,并部署在 /usr/local/sbin/actions-runner 下。

  1. version: "1.3.0" 
  2. variant: fcos 
  3. storage: 
  4.   directories: 
  5.     - path: /usr/local/sbin/actions-runner 
  6.       mode: 0755 
  7.       user
  8.         name: core 
  9.       group
  10.         name: core 
  11.   files: 
  12.     - path: /usr/local/sbin/actions-runner/actions-runner-linux.tar.gz 
  13.       overwrite: true 
  14.       contents: 
  15.         source: https://github.com/actions/runner/releases/download/v2.278.0/actions-runner-linux-x64-2.278.0.tar.gz 
  16.       mode: 0755 
  17.       user
  18.         name: core 
  19.       group
  20.         name: core 

注冊和刪除令牌

為一個項目配置運行器需要一個“令牌token”。這可以防止在沒有正確權限的情況下從項目中注冊或刪除自托管的運行器。GitHub 提供的令牌有一個小時的過期時間。如果運行器在這個時間之后重新啟動,它將需要一個新的注冊令牌。

該令牌可能出問題,特別是在 Fedora CoreOS 自動更新時。更新過程希望托管主機在收到新數據后至少每隔幾周重啟一次。

幸運的是,可以使用 GitHub REST API 來獲取這些令牌,并在托管主機每次重啟時自動配置運行器。下面的 manage-runner.sh 腳本使用 API 來獲取令牌,刪除任何已經配置好的運行器,并用新的令牌注冊運行器。

  1. #!/bin/bash 
  2. # Handles the Github Action runner configuration. 
  3. # Remove and Registration token expires after 1 hour, if we want our runner 
  4. to work after a reboot (auto update) we need to refresh the tokens. 
  5. First remove the runner with a fresh remove token 
  6. REMOVE_TOKEN=$(curl -u ${GITHUB_USER}:${GITHUB_TOKEN} -X POST -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/${GITHUB_USER}/${GITHUB_REPO}/actions/runners/remove-token | jq -r '.token'
  7. /usr/local/sbin/actions-runner/config.sh remove --token ${REMOVE_TOKEN} 
  8. Then register the runner with a fresh registration token 
  9. REGISTRATION_TOKEN=$(curl -u ${GITHUB_USER}:${GITHUB_TOKEN} -X POST -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/${GITHUB_USER}/${GITHUB_REPO}/actions/runners/registration-token | jq -r '.token'
  10. /usr/local/sbin/actions-runner/config.sh --url https://github.com/cverna/fcos-actions-runner --token ${REGISTRATION_TOKEN} --labels fcos --unattended 

上面的腳本使用了一些環境變量,包含 GitHub 用戶名和用于驗證 REST API 請求的 個人訪問令牌Personal Access Token。個人訪問令牌需要存儲庫權限,以便成功檢索運行器的注冊和移除令牌。該令牌是安全敏感信息,所以最好將其存儲在一個具有更嚴格權限的不同文件中。在這個例子中,這個文件是 actions-runner。

  1. GITHUB_USER=<user
  2. GITHUB_REPO=<repo> 
  3. GITHUB_TOKEN=<personal_access_token> 

以下是創建這兩個文件 manage-runner.sh 和 actions-runner 的 Butane 片段。

  1. - path: /usr/local/sbin/actions-runner/manage-runner.sh 
  2.       contents: 
  3.         local: manage-runner.sh 
  4.       mode: 0755 
  5.       user
  6.         name: core 
  7.       group
  8.         name: core 
  9.     - path: /etc/actions-runner 
  10.       contents: 
  11.         local: actions-runner 
  12.       mode: 0700 
  13.       user
  14.         name: core 
  15.       group
  16.         name: core 

在 Fedora CoreOS 上運行 Actions

最后,創建用于配置和啟動運行器的 systemd 服務。在 Butane 配置文件中定義這些服務。

  1. systemd: 
  2.   units: 
  3.     - name: github-runner-configure.service 
  4.       enabled: true 
  5.       contents: | 
  6.         [Unit] 
  7.         Description=Configure the github action runner for a repository 
  8.         After=network-online.target boot-complete.target 
  9.         Requires=boot-complete.target 
  10.         [Service] 
  11.         EnvironmentFile=/etc/actions-runner 
  12.         Type=oneshot 
  13.         RemainAfterExit=yes 
  14.         User=core 
  15.         WorkingDirectory=/usr/local/sbin/actions-runner 
  16.         ExecStartPre=tar xvf actions-runner-linux.tar.gz --no-same-owner 
  17.         ExecStart=/usr/local/sbin/actions-runner/manage-runner.sh 
  18.         [Install] 
  19.         WantedBy=multi-user.target 
  20.     - name: github-runner.service 
  21.       enabled: true 
  22.       contents: | 
  23.         [Unit] 
  24.         Description=Run the github action runner 
  25.         After=github-runner-configure.service 
  26.         [Service] 
  27.         WorkingDirectory=/usr/local/sbin/actions-runner 
  28.         User=core 
  29.         ExecStart=/usr/local/sbin/actions-runner/run.sh 
  30.         [Install] 
  31.         WantedBy=multi-user.target 

這將創建兩個服務:github-runner-configure.service(在主機啟動完成后運行一次)和 github-runner.service(運行 Actions 運行器二進制文件并等待新的 CI/CD 作業)。

現在 Butane 配置已經完成,從中生成一個 Ignition 文件并配備一個 Fedora CoreOS Actions 運行器。

  1. $ podman run -i --rm -v $PWD:/code:z --workdir /code quay.io/coreos/butane:release --pretty --strict --files-dir /code config.yaml -o config.ignition 

一旦 Ignition 文件生成,它就可以用來在 支持 Fedora CoreOS 的平臺上配備一個運行器。

配置一個 Action 來使用一個自托管的運行器

下面的測試 Action 工作流程將測試 FCOS 的自托管的運行器。在你的 git 存儲庫中創建以下文件 .github/workflows/main.yml。

  1. # This is a basic workflow to help you get started with Actions 
  2. name: CI 
  3. # Controls when the action will run. 
  4. on
  5.   # Triggers the workflow on push or pull request events but only for the main branch 
  6.   push: 
  7.     branches: [ main ] 
  8.   pull_request: 
  9.     branches: [ main ] 
  10.   # Allows you to run this workflow manually from the Actions tab 
  11.   workflow_dispatch: 
  12. # A workflow run is made up of one or more jobs that can run sequentially or in parallel 
  13. jobs: 
  14.   # This workflow contains a single job called "build" 
  15.   build: 
  16.     # The type of runner that the job will run on 
  17.     runs-on: fcos 
  18.     # Steps represent a sequence of tasks that will be executed as part of the job 
  19.     steps: 
  20.       # Runs a single command using the runners shell 
  21.       - name: Run a one-line script 
  22.         run: podman run --rm fedora-minimal:34 echo Hello World ! 

請注意,runs-on 的配置被設置為使用標簽為 fcos 的運行器。

本文介紹的代碼可以在 這里 中找到。

責任編輯:未麗燕 來源: Linux中國
相關推薦

2020-12-13 08:25:32

FedoraCoreOSLinux

2020-07-20 18:30:44

Fedora 32DockerLinux

2020-04-02 18:30:28

PythonGitHub編程語言

2020-04-02 16:02:44

PythonGithub博客

2022-12-21 08:20:01

2021-03-26 08:41:11

Go語言Docker

2020-12-04 10:42:54

GithubSSDNode.js

2021-05-13 21:21:50

React應用GitHub

2022-12-03 16:02:51

2019-10-29 16:30:10

FedoraSSH端口Linux

2020-08-16 09:00:15

樹莓派FedoraLinux

2021-08-19 18:28:22

FedoraLinuxOpenCV

2019-11-11 15:10:37

FedoraLinuxbash

2015-01-15 10:50:46

CoreOSUnitedStackDocker

2021-01-18 18:30:49

服務器開發工具

2024-12-02 07:00:00

特性標記軟件開發Action

2021-01-19 05:26:22

Github ActiJenkinsDevOps

2024-02-20 08:08:43

2019-12-02 15:23:34

FedoraLinuxGIMP

2014-10-11 11:30:43

CentOSDocker
點贊
收藏

51CTO技術棧公眾號

综合久久伊人| 精品视频二区| 精品999网站| 亚洲欧美色图片| 亚洲污视频在线观看| 国产人成网在线播放va免费| 成人久久视频在线观看| 日韩免费精品视频| 国产成人久久久久| 青青草这里只有精品| 欧美日精品一区视频| 女人帮男人橹视频播放| 国产女主播在线直播| 国产乱码精品一品二品| 热re99久久精品国产66热| 永久免费未视频| 日日狠狠久久偷偷综合色| 欧美丰满一区二区免费视频| 欧美色图色综合| 大片免费在线观看| 久久这里只精品最新地址| 亚洲a在线观看| 无码人妻一区二区三区免费| 欧美精品黄色| 久久精品国产成人精品| 亚洲做受高潮无遮挡| 天堂久久av| 欧美午夜宅男影院| 97视频久久久| 影音先锋男人资源在线| 国产精品久久久久久久久免费桃花| 国产综合 伊人色| 国产又大又黄的视频| 久久激情婷婷| 韩国视频理论视频久久| 四虎永久免费在线| 日韩在线观看一区 | 欧美黄网站在线观看| 中文字幕免费高清电视剧网站在线观看 | 亚洲精品乱码久久久久久久久| 欧美一二三区| 免费福利在线视频| 91亚洲精品久久久蜜桃网站| 国产99在线播放| 国产黄色免费大片| 狠狠色丁香婷婷综合久久片| 国产玖玖精品视频| 中文字幕一区二区人妻痴汉电车 | 国产精品久久久久久户外露出| 免费看成人午夜电影| 天天躁日日躁狠狠躁喷水| 国产成a人亚洲精品| 亚洲xxx大片| 午夜免费福利视频| 国产盗摄女厕一区二区三区| 91久久精品在线| 国产精品视频第一页| 国产综合成人久久大片91| 国产综合福利在线| 国产精品人人妻人人爽| 国产精品123区| av免费观看久久| 好吊色一区二区| 成人精品视频一区| 久久国产精品一区二区三区四区 | 中文字幕亚洲无线码在线一区| 伊人网在线视频观看| 国产99久久| 一本色道久久88亚洲综合88| 污污视频网站在线免费观看| 2023国产精品久久久精品双| 欧美精品第一页在线播放| 国产成人亚洲精品自产在线| 老鸭窝亚洲一区二区三区| 国产精品久久网| 国产精品毛片一区视频播| 国产suv精品一区二区三区| 国产乱码精品一区二区三区中文| 亚洲 欧美 激情 另类| 日本一区二区三区在线不卡| 成人短视频在线看| h片在线观看下载| 色综合天天综合色综合av| av网站在线不卡| 亚洲一区二区三区在线免费| 亚洲久久久久久久久久| 99热6这里只有精品| 午夜精品久久99蜜桃的功能介绍| 51视频国产精品一区二区| 中文字幕av在线免费观看| 国产精品影音先锋| 久久久福利视频| 毛片在线视频| 婷婷综合五月天| 亚洲综合婷婷久久| 久久精品亚洲成在人线av网址| 国产亚洲欧美日韩精品| 久久婷婷国产麻豆91| 日本视频一区二区| 官网99热精品| av免费观看一区二区| 亚洲午夜一二三区视频| 国产福利一区视频| 波多野结衣一区二区三区免费视频| 亚洲欧美日韩网| 精品爆乳一区二区三区无码av| 美女尤物久久精品| 5566av亚洲| 成年人在线视频免费观看| 亚洲综合一区二区精品导航| 中文字幕在线导航| 欧美亚洲国产日韩| 久久久精品国产| 波多野结衣在线电影| 成人综合在线观看| 国产福利片一区二区| 偷拍视频一区二区三区| 精品电影一区二区| 破处女黄色一级片| 另类综合日韩欧美亚洲| 欧美乱偷一区二区三区在线| 久久大胆人体| 欧美一级理论性理论a| 亚洲一区二区三区日韩| 国产欧美欧美| 国产精品日韩欧美一区二区三区| 国产欧美黑人| 69堂精品视频| 国产精品视频看看| 麻豆91精品视频| 亚洲精品高清国产一线久久| sese综合| 亚洲欧美日韩视频一区| 亚洲精品午夜国产va久久成人| 成人国产精品免费观看视频| 男人草女人视频| 日韩一二三区| 欧美猛少妇色xxxxx| 国产强被迫伦姧在线观看无码| 国产精品成人一区二区艾草| 成年网站在线播放| 久久麻豆精品| 91在线|亚洲| h网站久久久| 日韩一二三区视频| 九九免费精品视频| 国产寡妇亲子伦一区二区| 亚洲区成人777777精品| 久久伊人久久| 欧美激情精品久久久久| 黄色一级a毛片| 欧美日韩国产激情| 亚洲最大免费视频| 美女黄色成人网| 日韩欧美在线一区二区| 69堂免费精品视频在线播放| 最新国产精品拍自在线播放| 亚洲无码精品在线观看| 亚洲婷婷国产精品电影人久久| 亚洲国产日韩欧美在线观看| 亚洲国产成人精品女人| 成人xxxxx色| 欧美少妇精品| 国产一区二区三区在线观看视频| 在线免费观看一区二区| 亚洲欧洲精品成人久久奇米网| 久久婷婷中文字幕| 激情综合在线| 青娱乐一区二区| 免费视频成人| 欧美激情视频播放| 欧美日韩国产综合视频| 欧美性猛交一区二区三区精品 | 青青草国产成人a∨下载安卓| 国产日产欧美精品| 欧美videossex另类| 亚洲精选一区二区| 一级片在线免费观看视频| 亚洲黄色av一区| 美国黄色a级片| 麻豆91精品91久久久的内涵| 国产美女永久无遮挡| 久久93精品国产91久久综合| 成人精品福利视频| 1024在线看片你懂得| 亚洲视频在线观看视频| 国产男女猛烈无遮挡| 五月综合激情婷婷六月色窝| 亚洲不卡的av| 99国产一区二区三精品乱码| 欧美三级午夜理伦三级富婆| 国精品一区二区| 亚洲成色www久久网站| 国产suv精品一区| 国产精品精品久久久| 黄色成人在线网| 亚洲日本成人女熟在线观看| 亚洲国产精品久久久久久6q| 欧洲精品在线观看| 日本免费一二三区| 中文字幕亚洲在| 五级黄高潮片90分钟视频| 国内不卡的二区三区中文字幕| 男人天堂网视频| 欧美在线首页| 日韩亚洲不卡在线| 成人台湾亚洲精品一区二区 | 久久97久久97精品免视看秋霞| 国产精品久久久久福利| av老司机免费在线| 久久久99免费视频| 大地资源中文在线观看免费版| 欧美精品一区二| 99免费在线视频| 欧美视频一二三区| www欧美在线| 午夜视频在线观看一区| 久久精品视频免费在线观看| 中文字幕精品—区二区四季| 丰满少妇一区二区三区| 国产精品538一区二区在线| 一区二区免费av| 日本亚洲免费观看| 成人一级片网站| 99热这里只有精品8| 免费高清一区二区三区| 午夜欧美视频| 国产一级片91| 亚洲a在线视频| 亚洲综合首页| 色综合天天爱| 亚洲午夜激情| 日本久久黄色| 亚洲午夜精品一区二区| 国产成人影院| 日韩一本精品| 欧美亚洲国产激情| 日韩欧美一区二区三区四区| 午夜精品影视国产一区在线麻豆| 韩日午夜在线资源一区二区| 日韩视频在线直播| 国产91视觉| 美女一区二区在线观看| 国产综合第一页| 欧美尿孔扩张虐视频| 六十路精品视频| 国产精品一区二区三区av麻| 日本高清不卡三区| 日本在线电影一区二区三区| 色就是色欧美| 99久久精品网站| 91麻豆天美传媒在线| 68国产成人综合久久精品| 四虎精品欧美一区二区免费| 欧美日韩一区二区三区四区在线观看| 中文字幕色呦呦| 亚洲毛片播放| 日韩久久一级片| 日本欧美在线看| 亚洲天堂国产视频| 国产一区二区看久久| 久久久久国产免费| 91婷婷韩国欧美一区二区| xxx在线播放| 亚洲丝袜美腿综合| 欧美一级高潮片| 欧美性猛xxx| 中文在线观看av| 日韩欧美国产三级| 亚洲欧美日韩免费| 日韩在线小视频| 人人超在线公开视频| 2018中文字幕一区二区三区| 写真福利精品福利在线观看| 成人美女免费网站视频| 粉嫩av一区二区| 明星裸体视频一区二区| 亚洲不卡av不卡一区二区| 2019日韩中文字幕mv| 视频精品一区二区| 伊人成人免费视频| 91老师国产黑色丝袜在线| 一二三四国产精品| 亚洲国产欧美在线| 欧美人一级淫片a免费播放| 91麻豆精品国产91| 神马久久久久久久久久| 在线观看91久久久久久| 国产蜜臀一区二区打屁股调教| 国产精品国产亚洲伊人久久| 日韩区一区二| 亚洲欧美久久234| 国产尤物精品| 一区二区三区国产免费| 国产99久久久国产精品免费看 | 一级精品视频在线观看宜春院 | 轻轻草成人在线| 韩国av中国字幕| 中文字幕av一区二区三区高 | 一道本一区二区| 亚洲第一区第二区第三区| 91亚洲永久精品| 欧美成人免费观看视频| 欧美在线视频日韩| 天天操天天干天天爱| 久久精品2019中文字幕| 桃色av一区二区| 91手机在线播放| 999国产精品| 欧美精品成人网| 波多野洁衣一区| 欧美成人一二三区| 欧美日韩国产系列| 国产资源在线观看| 91精品国产91久久久久久吃药| japansex久久高清精品| 久中文字幕一区| 国产亚洲综合精品| 美女黄色一级视频| 亚洲欧美经典视频| 亚洲系列第一页| 国产亚洲精品久久久久久牛牛| 黄色漫画在线免费看| 国产精品美女诱惑| 韩国精品一区二区三区| 人人爽人人爽av| 国产精品成人网| 国产又黄又粗又猛又爽| 少妇高潮 亚洲精品| 国模一区二区| 欧美极品日韩| 丝袜美腿高跟呻吟高潮一区| 97人妻精品一区二区三区免| 性欧美疯狂xxxxbbbb| 亚洲国产精品欧美久久| 欧美精品制服第一页| 韩国三级成人在线| 91香蕉视频网址| 激情成人综合网| 91香蕉视频在线播放| 7777精品伊人久久久大香线蕉经典版下载 | 俺去了亚洲欧美日韩| 欧美a一级片| 尤物一区二区三区| 青青草精品视频| 很污很黄的网站| 6080yy午夜一二三区久久| 男人资源在线播放| 91九色视频在线| 欧美日本一区二区高清播放视频| 91精品人妻一区二区三区蜜桃2| 亚洲一级二级三级| 日本国产在线观看| 96精品视频在线| 欧美人与物videos另类xxxxx| aa免费在线观看| 欧美高清在线精品一区| 一本久道久久综合无码中文| www高清在线视频日韩欧美| 日韩成人在线观看视频| 日本人体一区二区| 91香蕉视频mp4| 又污又黄的网站| 久久久国产精品亚洲一区| 视频精品国内| 久色视频在线播放| 国产欧美日韩卡一| 99久久久久成人国产免费| 欧美精品videosex极品1| 亚洲日产av中文字幕| 亚洲成人天堂网| 亚洲一线二线三线视频| 欧美精品少妇| 成人免费观看a| 在线午夜精品| 国产中文字幕久久| 精品久久久网站| 性欧美freehd18| 国产精品久久久影院| 91老师国产黑色丝袜在线| 国产又粗又长又大视频| 性色av一区二区三区免费| 欧美三级情趣内衣| 久久艹这里只有精品| 欧美日韩在线免费观看| av在线播放网| 国产精品一区二区三区不卡 | www.免费av| 欧美久久高跟鞋激| 日本蜜桃在线观看视频| 小说区视频区图片区| 91麻豆免费看片| 国产精品欧美久久久久天天影视| 欧美亚洲第一区| 午夜日韩视频| 国产一级淫片久久久片a级| 亚洲国产一区二区三区在线观看 | 久久婷婷影院| 国产真实乱人偷精品视频| 中文字幕亚洲欧美一区二区三区 |