最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)化測(cè)試)來驗(yàn)證你的代碼,無論是自動(dòng)構(gòu)建和測(cè)試代碼,還是自動(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)化測(cè)試)來驗(yàn)證你的代碼,從而盡快地發(fā)現(xiàn)集成錯(cuò)誤。github于2019年11月后對(duì)該功能全面開放,現(xiàn)在所有的github用戶可以直接使用該功能。GitHub 提供 Linux、Windows 和 macOS 虛擬機(jī)來運(yùn)行您的工作流程,或者您可以在自己的數(shù)據(jù)中心或云基礎(chǔ)架構(gòu)中托管自己的自托管運(yùn)行器。

GitHub Actions使開發(fā)人員能夠在其代碼存儲(chǔ)庫(kù)中自動(dòng)化地執(zhí)行各種任務(wù)。無論是自動(dòng)構(gòu)建和測(cè)試代碼,還是自動(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ǔ)庫(kù)中觸發(fā)和運(yùn)行,允許開發(fā)人員根據(jù)需求定義代碼的自動(dòng)化流程。
  2. Action(動(dòng)作):動(dòng)作是執(zhí)行特定任務(wù)的腳本或命令。它可以是單個(gè)任務(wù)或一組任務(wù)的集合,用于在工作流程中執(zhí)行特定的操作,如構(gòu)建、測(cè)試、部署等。
  3. Event(事件):事件是指 GitHub 存儲(chǔ)庫(kù)中發(fā)生的特定活動(dòng),例如推送代碼、創(chuàng)建拉取請(qǐ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 請(qǐng)求 - 您可以在一小時(shí)內(nèi)跨存儲(chǔ)庫(kù)中的所有操作執(zhí)行多達(dá) 1000 個(gè) API 請(qǐng)求。如果超出此限制,其他 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ǔ)庫(kù)的排隊(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)目庫(kù)根路徑下的.github/workflows目錄中,每一個(gè) workflow對(duì)應(yīng)一個(gè)具體的.yml 文件(或者 .yaml)。
yml是YAML(YAML Ain’t Markup Language)語言的文件,以數(shù)據(jù)為中心,比properties、xml等更適合做配置文件,主要有以下幾個(gè)特點(diǎn):

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

常見用例和示例

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

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

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ì)量和部署速度。如果您對(duì) GitHub Actions 有任何疑問,請(qǐng)隨時(shí)向我們提問!

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

相關(guān)文章

最新評(píng)論

滨州市| 阿坝| 西平县| 宁河县| 卢氏县| 安国市| 许昌市| 巩留县| 嘉义县| 宜春市| 乐清市| 汾西县| 简阳市| 大荔县| 兰西县| 北辰区| 上林县| 杂多县| 上蔡县| 昌邑市| 名山县| 石景山区| 独山县| 乌什县| 宁安市| 卫辉市| 靖远县| 古丈县| 兴仁县| 武鸣县| 湖南省| 垫江县| 驻马店市| 龙川县| 枣阳市| 通化市| 根河市| 平和县| 滕州市| 宣武区| 青海省|