精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

日韩三级中文字幕| 国产精品妹子av| 97久久国产精品| 添女人荫蒂视频| 深夜视频一区二区| √…a在线天堂一区| 超碰97国产在线| 国产原创视频在线| 香蕉视频国产精品 | www.中文字幕在线| av大片在线看| 粉嫩欧美一区二区三区高清影视| 国产99久久精品一区二区永久免费 | 九九热在线视频观看这里只有精品| 久久亚洲欧美日韩精品专区| 漂亮人妻被黑人久久精品| 成人涩涩视频| 亚洲成人一二三| 一区二区三区的久久的视频| 欧美 日韩 人妻 高清 中文| 久久草av在线| 91精品国产99| 成人免费精品动漫网站| 台湾色综合娱乐中文网| 欧美一区二区高清| 老太脱裤子让老头玩xxxxx| 国产最新视频在线| 成人国产亚洲欧美成人综合网| 国产99久久精品一区二区永久免费| 欧美黄色aaa| 国产伦精品一区二区三区千人斩 | 亚洲天堂成人网| 蜜桃传媒视频第一区入口在线看| 国产高清视频免费观看| 麻豆精品国产传媒mv男同 | 久草视频中文在线| 91久久夜色精品国产按摩| 亚洲剧情一区二区| 国产xxxxxxxxx| 日韩黄色av| 欧美另类videos死尸| 精品视频无码一区二区三区| √最新版天堂资源网在线| 亚洲色图欧美在线| 日本不卡一区二区三区四区| 国产高清自拍视频在线观看| 久久久亚洲精品一区二区三区| 国产精品一区二区在线观看| 国产xxxx孕妇| 国产一本一道久久香蕉| 国产一区二区在线免费视频| 中文字幕av久久爽| 秋霞国产午夜精品免费视频| 国产aaa精品| 国产精品视频123| 国产欧美日本| 91sao在线观看国产| 国产在线观看免费视频今夜| 欧美日韩精品| 欧美激情视频一区二区三区不卡| 男人操女人的视频网站| 欧美a级在线| 色综合老司机第九色激情| 无码黑人精品一区二区| 久久精品一区二区不卡| 久久不射电影网| 欧美精品99久久久| 亚洲国产精品一区| 欧美有码在线视频| 无码日韩精品一区二区| 日本强好片久久久久久aaa| 国产精品丝袜久久久久久不卡| 波多野结衣日韩| 免费在线观看不卡| 成人午夜在线影院| 成 人 黄 色 片 在线播放| 粉嫩av亚洲一区二区图片| 国产在线资源一区| 毛片在线免费| 亚洲欧洲国产日韩| 水蜜桃在线免费观看| 日本大片在线播放| 日韩欧美国产网站| 成人性视频欧美一区二区三区| 九九久久国产| 欧美一级日韩免费不卡| 催眠调教后宫乱淫校园| 九九亚洲视频| 久久精品视频99| 五月天综合在线| 日韩一区精品字幕| 亚洲va久久久噜噜噜久久天堂| 亚洲黄色片视频| 久久久影院官网| 国产精品99久久久久久大便| 免费在线播放电影| 色综合夜色一区| 成人在线短视频| 亚洲欧洲美洲国产香蕉| 久久伊人色综合| 国产午夜在线播放| 激情综合网av| 久久99精品久久久久久秒播放器| 色哟哟免费在线观看| 亚洲一区在线免费观看| 丰满少妇在线观看| 2023国产精华国产精品| 国产一区二区av| 精品无码av在线| 免费成人av在线| 激情视频一区二区| 久久综合网导航| 日韩欧美亚洲成人| 91性高潮久久久久久久| 国产九一精品| 韩国国内大量揄拍精品视频| 91麻豆一区二区| 91色视频在线| 欧美高清中文字幕| 欧美韩国日本| 亚洲偷熟乱区亚洲香蕉av| 久久午夜无码鲁丝片午夜精品| 蜜臀a∨国产成人精品| 精品卡一卡二| 性直播体位视频在线观看| 欧美在线小视频| 偷拍女澡堂一区二区三区| 亚洲综合色站| 国产精品自产拍在线观看| 日本1级在线| 亚洲午夜久久久久久久久电影院| 日韩在线一区视频| 国产精品三级| 欧美亚洲在线观看| 少妇无码一区二区三区| 亚洲女厕所小便bbb| 中文字幕资源在线观看| 成人在线免费视频观看| 日韩美女毛茸茸| 手机亚洲第一页| 亚洲va欧美va人人爽午夜| 老女人性生活视频| 亚洲在线久久| 95av在线视频| av毛片在线看| 欧美精品一卡二卡| frxxee中国xxx麻豆hd| 免费在线视频一区| 正在播放精油久久| 中文字幕日本一区| 久久久999精品视频| 一级特黄色大片| 国产精品黄色在线观看| 日日干夜夜操s8| 999精品视频| 91性高湖久久久久久久久_久久99| 日本在线视频站| 欧美精品少妇一区二区三区| 久久爱一区二区| 国产一区二区导航在线播放| 欧美视频在线第一页| 日韩亚洲精品在线观看| 欧美激情视频在线| 香蕉视频黄在线观看| 色综合天天性综合| 懂色av粉嫩av浪潮av| 另类专区欧美蜜桃臀第一页| 中文字幕久精品免| 中文字幕亚洲在线观看| 91精品国产91久久久久福利| 九色视频在线播放| 欧美日韩视频一区二区| 亚洲不卡在线播放| 国产91高潮流白浆在线麻豆| 亚洲不卡中文字幕无码| 杨幂一区二区三区免费看视频| 国产精品久久久久久久久久新婚 | 国产三级欧美三级日产三级99 | 日韩国产激情在线| 日日夜夜狠狠操| 中文字幕在线一区二区三区| 波多野结衣电影免费观看| 亚洲日本国产| 台湾成人av| 77成人影视| 久久精品91| 亚洲一区二区三区视频播放| 国产乱码在线| 亚洲欧洲日产国码av系列天堂| 中文字幕福利视频| 亚洲尤物视频在线| 中文字幕被公侵犯的漂亮人妻| 美女爽到高潮91| 青青青在线视频播放| 啪啪亚洲精品| av成人午夜| 日韩不卡免费高清视频| 久久天天躁狠狠躁老女人| 无码h黄肉3d动漫在线观看| 欧美曰成人黄网| 国产一级片免费| 日本一区二区三区在线观看| 无人码人妻一区二区三区免费| 国产欧美91| 国产av第一区| 国产精品密蕾丝视频下载| 成人一区二区三区四区| yiren22亚洲综合| 97人人爽人人喊人人模波多 | 亚洲黄色免费观看| 一区二区久久久| 欧美巨胸大乳hitomi| aaa亚洲精品| 91小视频在线播放| 久久激情一区| 国产h视频在线播放| 亚洲女同中文字幕| 日韩在线观看电影完整版高清免费| 亚洲日本va| 国产精品一区二区久久久| 一个人www视频在线免费观看| 美女av一区二区| 国产高清在线看| 亚洲欧美在线播放| 天天干天天色天天| 日韩视频永久免费| 91超薄丝袜肉丝一区二区| 色综合久久综合| 69精品久久久| 洋洋成人永久网站入口| 日本精品在线免费观看| 中文欧美字幕免费| 一区二区三区伦理片| 97久久精品人人澡人人爽| 韩国一区二区三区四区| 国产福利精品导航| 天堂网成人在线| 国产一区三区三区| 国产又粗又长又爽又黄的视频| 日本美女一区二区| 国产日韩一区二区在线观看| 国产精品一级| 草草久久久无码国产专区| 伊人久久成人| 国产高清av在线播放| 欧美体内she精视频在线观看| xxxxxx在线观看| 欧美国产激情| 黄色a级片免费看| 亚洲私拍自拍| 久久国产精品视频在线观看| 最新成人av网站| 僵尸世界大战2 在线播放| 亚洲精品1区2区| 亚洲中文字幕无码专区| 欧美一级视频| 日韩一级片播放| 日本不卡的三区四区五区| 一本岛在线视频| 国产一区二三区| 国产精品日日摸夜夜爽| 成人激情小说网站| 无码一区二区精品| 91麻豆免费观看| 成都免费高清电影| 国产性天天综合网| 久草福利资源在线| 亚洲免费观看高清完整版在线观看| 无码黑人精品一区二区| 亚洲福利电影网| 天堂中文在线网| 欧美视频一区二区三区| 国产精品日韩无码| 欧美一区二区三区男人的天堂| 亚洲精品综合久久| 亚洲欧美国产精品va在线观看| av在线免费一区| 不卡av电影院| 九色porny丨国产首页在线| 国产999在线| 综合欧美精品| 国内视频一区二区| 波多野结衣在线观看一区二区三区 | 免费av一区二区三区四区| 亚洲综合av一区| 国内在线观看一区二区三区| 国产免费成人在线| 久久精品国产99久久6| 妖精视频一区二区| 国产欧美日韩亚州综合| 日韩一级片大全| 欧美日韩中文字幕在线| 国产精品无码一区二区桃花视频| 精品va天堂亚洲国产| 国产黄色在线| 久久久免费av| 亚洲高清影院| 久久亚洲一区二区| 亚洲精品97| 国产xxxxx在线观看| 国产乱淫av一区二区三区 | 豆花视频一区二区| 日韩欧美在线电影| 亚洲美洲欧洲综合国产一区| 性生活免费在线观看| 99久久精品国产精品久久| 小向美奈子av| 色婷婷综合激情| 亚洲黄色在线播放| 久久精品色欧美aⅴ一区二区| 亚洲第一av| 成人18视频| 99精品视频在线观看免费播放| 午夜精品久久久久久久无码| 国产一区二区福利| 国产一二三四视频| 色综合天天综合网国产成人综合天| 亚洲乱码在线观看| 欧美成人手机在线| 国产精品99| 欧美精品123| 亚洲久久成人| 精品久久久久久无码人妻| 国产精品国产成人国产三级 | 老司机一区二区三区| 国产精品果冻传媒| 亚洲另类中文字| 91国产精品一区| 最近2019年日本中文免费字幕 | 欧美日韩视频精品二区| 97免费在线视频| 国产成人福利av| 国产乱子伦精品视频| 国内成人精品2018免费看| av永久免费观看| 日本久久一区二区三区| 日韩电影在线观看完整版| 97国产成人精品视频| a看欧美黄色女同性恋| 黄网站色视频免费观看| 国模一区二区三区白浆| 中文字幕五月天| 91麻豆精品国产91久久久资源速度 | 成人久久久精品乱码一区二区三区| 欧美手机在线观看| 欧美一区二区三区四区久久| 97超碰资源站在线观看| 91免费福利视频| 欧美1区免费| 免费欧美一级片| 亚洲国产一区二区三区| 蜜臀av中文字幕| 久久久久国产一区二区三区| 亚洲一级大片| 亚洲 自拍 另类小说综合图区| 成人av一区二区三区| 精品在线播放视频| 亚洲欧美变态国产另类| 欧美电影免费观看网站| 三级三级久久三级久久18| 久久狠狠亚洲综合| 免费在线黄色网| 亚洲成人网久久久| 亚洲天堂电影| 香蕉久久夜色| 国产黄色91视频| 韩国av免费观看| 亚洲人线精品午夜| 久久精品黄色| 日韩一级特黄毛片| 99精品久久久久久| 欧美日韩在线视频播放| 久久艳片www.17c.com | 精品人在线二区三区| 亚洲色图官网| 亚洲精品无人区| 国产酒店精品激情| 国产成人无码精品| 国产一区二区三区丝袜| 精品一区二区三区中文字幕| 日韩欧美一区二| 国产精品午夜在线| 亚洲国产www| 国产成人综合久久| 欧美另类女人| 最近中文字幕免费| 日韩午夜精品电影| 亚洲一级少妇| 国内精品国产三级国产99| 99精品视频中文字幕| 伊人网av在线| 午夜精品一区二区三区在线视 | 成人午夜视频在线| 波多野结衣一区二区在线| 不卡av在线播放| 国产一区2区| 乱码一区二区三区| 欧美日高清视频| 久草在线资源福利站| 欧洲美女和动交zoz0z|