亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

GitHub?Actions的概念、常見用例和示例

 更新時(shí)間:2024年05月02日 10:26:02   作者:IvwDcwSo  
GitHub中的GitHub?Actions是一個(gè)持續(xù)集成和持續(xù)交付的平臺(tái),它可以幫助你通過自動(dòng)化的構(gòu)建(包括編譯、發(fā)布、自動(dòng)化測試)來驗(yàn)證你的代碼,無論是自動(dòng)構(gòu)建和測試代碼,還是自動(dòng)部署應(yīng)用程序,GitHub?Actions?都可以幫助開發(fā)團(tuán)隊(duì)提高效率,降低錯(cuò)誤率

GitHub中的GitHub Actions是一個(gè)持續(xù)集成和持續(xù)交付的平臺(tái),它可以幫助你通過自動(dòng)化的構(gòu)建(包括編譯、發(fā)布、自動(dòng)化測試)來驗(yàn)證你的代碼,從而盡快地發(fā)現(xiàn)集成錯(cuò)誤。github于2019年11月后對該功能全面開放,現(xiàn)在所有的github用戶可以直接使用該功能。GitHub 提供 Linux、Windows 和 macOS 虛擬機(jī)來運(yùn)行您的工作流程,或者您可以在自己的數(shù)據(jù)中心或云基礎(chǔ)架構(gòu)中托管自己的自托管運(yùn)行器。

GitHub Actions使開發(fā)人員能夠在其代碼存儲(chǔ)庫中自動(dòng)化地執(zhí)行各種任務(wù)。無論是自動(dòng)構(gòu)建和測試代碼,還是自動(dòng)部署應(yīng)用程序,GitHub Actions 都可以幫助開發(fā)團(tuán)隊(duì)提高效率,降低錯(cuò)誤率。在本文中,我們將深入了解 GitHub Actions 的概念、常見用例和示例,并提供相關(guān)參考文檔。

GitHub Actions 概念和術(shù)語

  1. Workflow(工作流程):工作流程是一組自動(dòng)化任務(wù)的過程。它可以在 GitHub 存儲(chǔ)庫中觸發(fā)和運(yùn)行,允許開發(fā)人員根據(jù)需求定義代碼的自動(dòng)化流程。
  2. Action(動(dòng)作):動(dòng)作是執(zhí)行特定任務(wù)的腳本或命令。它可以是單個(gè)任務(wù)或一組任務(wù)的集合,用于在工作流程中執(zhí)行特定的操作,如構(gòu)建、測試、部署等。
  3. Event(事件):事件是指 GitHub 存儲(chǔ)庫中發(fā)生的特定活動(dòng),例如推送代碼、創(chuàng)建拉取請求、發(fā)布版本等。這些事件可以作為工作流程的觸發(fā)器,當(dāng)事件發(fā)生時(shí),相應(yīng)的工作流程將被觸發(fā)執(zhí)行。
  4. Runner(運(yùn)行器):運(yùn)行器是用于執(zhí)行工作流程中任務(wù)的虛擬環(huán)境或物理機(jī)器。GitHub 提供了托管的運(yùn)行器,也支持自托管的運(yùn)行器,開發(fā)人員可以根據(jù)需要選擇合適的運(yùn)行器來執(zhí)行他們的工作流程。

Github Actions 的使用限制

在使用免費(fèi)版本的Github Action是有如下限制的:

作業(yè)執(zhí)行時(shí)間 - 工作流中的每個(gè)作業(yè)最多可以運(yùn)行 6 小時(shí)的執(zhí)行時(shí)間。如果作業(yè)達(dá)到此限制,該作業(yè)將終止且無法完成。

工作流運(yùn)行時(shí)間 - 每個(gè)工作流運(yùn)行限制為 35 天。如果工作流運(yùn)行達(dá)到此限制,則工作流運(yùn)行將被取消。此時(shí)間段包括執(zhí)行持續(xù)時(shí)間以及等待和批準(zhǔn)所花費(fèi)的時(shí)間。

API 請求 - 您可以在一小時(shí)內(nèi)跨存儲(chǔ)庫中的所有操作執(zhí)行多達(dá) 1000 個(gè) API 請求。如果超出此限制,其他 API 調(diào)用將失敗,這可能會(huì)導(dǎo)致作業(yè)失敗。

并發(fā)作業(yè) - 可以在帳戶中運(yùn)行的并發(fā)作業(yè)數(shù)取決于 GitHub 計(jì)劃,如下表所示。如果超出,則任何其他作業(yè)都將排隊(duì)。

GitHub 計(jì)劃并發(fā)作業(yè)總數(shù)最大并發(fā) macOS 作業(yè)數(shù)
自由205
專業(yè)版405
團(tuán)隊(duì)605
企業(yè)18050

作業(yè)矩陣 - 作業(yè)矩陣每次工作流運(yùn)行最多可以生成 256 個(gè)作業(yè)。此限制適用于 GitHub 托管和自托管的運(yùn)行程序。

工作流運(yùn)行隊(duì)列 - 每個(gè)存儲(chǔ)庫的排隊(duì)時(shí)間間隔不超過 500 個(gè)工作流運(yùn)行,間隔為 10 秒。如果工作流運(yùn)行達(dá)到此限制,則工作流運(yùn)行將終止且無法完成。

什么是Yaml ?

編寫GithubActions的流程時(shí),需要?jiǎng)?chuàng)建一個(gè)workflow工作流,workflow必須存儲(chǔ)在你的項(xiàng)目庫根路徑下的.github/workflows目錄中,每一個(gè) workflow對應(yīng)一個(gè)具體的.yml 文件(或者 .yaml)。
yml是YAML(YAML Ain’t Markup Language)語言的文件,以數(shù)據(jù)為中心,比properties、xml等更適合做配置文件,主要有以下幾個(gè)特點(diǎn):

大小寫敏感。
使用縮進(jìn)表示層級關(guān)系。
縮進(jìn)只能使用空格,不能用 TAB 字符。
縮進(jìn)的空格數(shù)量不重要,只要層級相同的元素左對齊即可。
‘#’ 表示注釋。

常見用例和示例

自動(dòng)構(gòu)建和測試

這是一個(gè)常見的用例,當(dāng)代碼推送到存儲(chǔ)庫時(shí),自動(dòng)觸發(fā)工作流程來構(gòu)建和測試代碼。

name: Build and Test
on:
  push:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
    - name: Build
      run: make build
    - name: Test
      run: make test<

自動(dòng)部署到服務(wù)器

另一個(gè)常見的用例是當(dāng)發(fā)布新版本時(shí),自動(dòng)將應(yīng)用程序部署到服務(wù)器。

name: Deploy
on:
  release:
    types: [published]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
    - name: Deploy to server
      uses: easingthemes/ssh-deploy@v2
      with:
        server_ip: ${{ secrets.SERVER_IP }}
        server_port: ${{ secrets.SERVER_PORT }}
        username: ${{ secrets.SERVER_USERNAME }}
        password: ${{ secrets.SERVER_PASSWORD }}
        source: 'dist/'
        target: '/var/www/myapp'<

推送到 Amazon ECR 和 Alibaba Cloud Container Registry (ACR)

這個(gè)示例展示了如何將代碼構(gòu)建成 Docker 鏡像,推送到 Amazon ECR 和 Alibaba Cloud Container Registry (ACR)。

name: Push to ECR and ACR
on:
  push:
    branches:
      - main
jobs:
  push_to_ecr:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Login to Amazon ECR
        id: login-ecr
        uses: aws-actions/amazon-ecr-login@v2
        with:
          registry: ${{ secrets.AWS_REGISTRY_URL }}
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
      - name: Build and push Docker image
        id: build-image
        run: |
          docker build -t ${{ secrets.AWS_REGISTRY_URL }}/my-image .
          docker push ${{ secrets.AWS_REGISTRY_URL }}/my-image
  push_to_acr:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Login to Alibaba Cloud
        uses: aliyun/login-action@v1
        with:
          access-key-id: ${{ secrets.ALIYUN_ACCESS_KEY_ID }}
          access-key-secret: ${{ secrets.ALIYUN_ACCESS_KEY_SECRET }}
          region: ${{ secrets.ALIYUN_REGION }}
      - name: Build and push Docker image
        id: build-image-acr
        run: |
          docker build -t ${{ secrets.ACR_REGISTRY_URL }}/my-image .
          docker login -u ${{ secrets.ACR_REGISTRY_USERNAME }} -p ${{ secrets.ACR_REGISTRY_PASSWORD }} ${{ secrets.ACR_REGISTRY_URL }}
          docker push ${{ secrets.ACR_REGISTRY_URL }}/my-image<

總結(jié)

以上是 GitHub Actions 的概念、常見用例和示例。通過利用這一功能,開發(fā)團(tuán)隊(duì)可以實(shí)現(xiàn)更高效的開發(fā)流程,提高代碼質(zhì)量和部署速度。如果您對 GitHub Actions 有任何疑問,請隨時(shí)向我們提問!

到此這篇關(guān)于GitHub Actions的概念、常見用例和示例的文章就介紹到這了,更多相關(guān)GitHub Actions常見用例內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows10 1903錯(cuò)誤0xc0000135解決方案【推薦】

    Windows10 1903錯(cuò)誤0xc0000135解決方案【推薦】

    windows10 1903是2019年Mircosoft推出的最新版windows操作系統(tǒng),但是有很多機(jī)器裝上之后會(huì)存在不支持.net framework的現(xiàn)象,因此在這里,筆者為大家?guī)砹私鉀Q該問題簡單好用的方案,需要的朋友可以參考下
    2019-10-10
  • 淺談Web服務(wù)器和應(yīng)用服務(wù)器的區(qū)別

    淺談Web服務(wù)器和應(yīng)用服務(wù)器的區(qū)別

    通俗的講,Web服務(wù)器傳送(serves)頁面使瀏覽器可以瀏覽,然而應(yīng)用程序服務(wù)器提供的是客戶端應(yīng)用程序可以調(diào)用(call)的方法(methods)
    2012-02-02
  • 阿里云存儲(chǔ)服務(wù)OSS基本概念

    阿里云存儲(chǔ)服務(wù)OSS基本概念

    對象存儲(chǔ)(Object Storage Service,簡稱OSS),是阿里云提供的海量、安全和高可靠的云存儲(chǔ)服務(wù)。存儲(chǔ)容量和處理能力的彈性擴(kuò)展,按量付費(fèi)真正使您專注于核心業(yè)務(wù)
    2015-12-12
  • 0到1分析美團(tuán)端側(cè)cdn容災(zāi)解決方案

    0到1分析美團(tuán)端側(cè)cdn容災(zāi)解決方案

    作為業(yè)務(wù)研發(fā),你是否遇到過因?yàn)?CDN?問題導(dǎo)致的業(yè)務(wù)圖片加載失敗,頁面打開緩慢,頁面布局錯(cuò)亂或者頁面白屏?你是否又遇到過某些區(qū)域?CDN?域名異常導(dǎo)致業(yè)務(wù)停擺,客訴不斷,此時(shí)的你一臉茫然,不知所措,這篇文章為大家從0到1分析美團(tuán)端側(cè)cdn容災(zāi)解決方案
    2022-01-01
  • 配置Memcache服務(wù)器并實(shí)現(xiàn)主從復(fù)制功能(repcached)

    配置Memcache服務(wù)器并實(shí)現(xiàn)主從復(fù)制功能(repcached)

    repcached是日本人開發(fā)的實(shí)現(xiàn)memcached復(fù)制功能,它是一個(gè)單 master單 slave的方案,但它的 master/slave都是可讀寫的,而且可以相互同步,如果 master壞掉, slave偵測到連接斷了,它會(huì)自動(dòng) listen而成為 master
    2012-03-03
  • HTTP響應(yīng)字段Transfer-Encoding含義及作用詳解

    HTTP響應(yīng)字段Transfer-Encoding含義及作用詳解

    在HTTP通信中,響應(yīng)正文可以以多種不同的編碼方式傳輸,其中一種方式是chunked傳輸編碼,本文將詳細(xì)介紹Transfer-Encoding字段的含義和chunked傳輸編碼,以及提供示例來解釋這些概念
    2023-11-11
  • 基于epoll實(shí)現(xiàn) Reactor服務(wù)器的詳細(xì)過程

    基于epoll實(shí)現(xiàn) Reactor服務(wù)器的詳細(xì)過程

    在我們調(diào)用epoll_create的時(shí)候會(huì)創(chuàng)建出epoll模型,這個(gè)模型也是利用文件描述類似文件系統(tǒng)的方式控制該結(jié)構(gòu),這篇文章主要介紹了基于epoll實(shí)現(xiàn) Reactor服務(wù)器的詳細(xì)過程,需要的朋友可以參考下
    2023-12-12
  • rsync指定ssh端口進(jìn)行文件同步的方法

    rsync指定ssh端口進(jìn)行文件同步的方法

    這篇文章主要介紹了rsync指定ssh端口進(jìn)行文件同步的方法,需要的朋友可以參考下
    2018-02-02
  • ssh服務(wù)器拒絕了密碼 請?jiān)僭囈淮我呀鉀Q(親測有效)

    ssh服務(wù)器拒絕了密碼 請?jiān)僭囈淮我呀鉀Q(親測有效)

    這篇文章主要介紹了解決ssh服務(wù)器拒絕了密碼 請?jiān)僭囈淮蔚膯栴},本文通過兩種方法給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • windows nfs 服務(wù)端安裝配置教程

    windows nfs 服務(wù)端安裝配置教程

    這篇文章主要介紹了windows nfs 服務(wù)端安裝配置教程,需要的朋友可以參考下
    2017-02-02

最新評論