<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          GitHub Actions 持續(xù)集成

          共 1715字,需瀏覽 4分鐘

           ·

          2020-12-20 23:10

          GitHub Actions 是 GitHub 的持續(xù)集成服務(wù)。


          通常持續(xù)集成是由很多操作組成的,比如抓取代碼、執(zhí)行腳本、登錄遠(yuǎn)程服務(wù)器、發(fā)布到第三方服務(wù)等。GitHub將這些操作稱作actions。



          如果你需要某個(gè) action,不必自己寫復(fù)雜的腳本,直接引用他人寫好的 action 即可,整個(gè)持續(xù)集成過(guò)程,就變成了一個(gè) actions 的組合。


          GitHub 做了一個(gè)官方市場(chǎng),可以搜索到他人提交的 actions:


          下面分別從基本概念和發(fā)布流程詳細(xì)說(shuō)明一下GitHub Actions。


          基本概念:

          workflow (流程):持續(xù)集成一次運(yùn)行的過(guò)程,就是一個(gè) workflow。

          job (任務(wù)):一個(gè) workflow 由一個(gè)或多個(gè) jobs 構(gòu)成,含義是一次持續(xù)集成的運(yùn)行,可以完成多個(gè)任務(wù)。

          step(步驟):每個(gè) job 由多個(gè) step 構(gòu)成,一步步完成。

          action (動(dòng)作):每個(gè) step 可以依次執(zhí)行一個(gè)或多個(gè)命令(action)。


          創(chuàng)建 workflow 文件,在項(xiàng)目的 .github/workflows 目錄,創(chuàng)建一個(gè) workflow 文件,這里用的是ci.yml。

          name: Node.js CI
          on: [push]
          jobs: build:
          runs-on: ubuntu-latest
          strategy: matrix: node-version: [8.x, 10.x, 12.x]
          steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - run: npm install - run: npm run build --if-present - run: npm test env: CI: true


          runs-on 指定在哪個(gè)操作系統(tǒng)上運(yùn)行,有三種配置方式:

          1、Ubunturuns-on: ubuntu-latest2、Windowsruns-on: windows-latest3、macOSruns-on: macos-latest


          node-version 指定 node 版本,有三種配置方式,可以指定多個(gè)版本都運(yùn)行,也可以指定在單個(gè)版本下運(yùn)行。

          1、使用三個(gè) node 版本,'x'是一個(gè)通配符 node-version: [8.x, 10.x, 12.x]2、可以寫具體的版本號(hào) node-version: [8.16.2, 10.17.0]3、單個(gè)版本 node-version: '12.x'


          如果不指定node版本,則GitHub使用環(huán)境的默認(rèn)值node版本。


          GitHub 托管的操作系統(tǒng)上安裝了npm 和 yarn 來(lái)處理依賴關(guān)系。在構(gòu)建和測(cè)試代碼之前,可以使用 npm 和 yarn 在工作流中安裝依賴項(xiàng)。


          1、使用npmrun: npm install1、使用yarnrun: run: yarn

          安裝 package.json 文件中的 dependencies 依賴。


          1、使用npmrun: npm ci1、使用yarnrun: yarn --frozen-lockfile

          安裝 package-lock.json 或者 npm-shrinkwrap.json 文件中的依賴,這樣可以防止 npm install 安裝時(shí) lock 文件發(fā)生變化。


          拉取代碼。這里用的是 GitHub 官方的 action: actions/checkout@v2

          瀏覽 41
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚州日韩aⅴ | 亚洲精品在线中文字幕 | 69成人在线电影 | 人人妻人人舔 | 成人视频国产 |