免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

如何快速掌握GithubActions

這篇文章主要介紹“如何快速掌握Github Actions”,在日常操作中,相信很多人在如何快速掌握Github Actions問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”如何快速掌握Github Actions”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

十多年的徐匯網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整徐匯建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“徐匯網(wǎng)站設(shè)計(jì)”,“徐匯網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

快速開(kāi)始

在 github 上進(jìn)入個(gè)人倉(cāng)庫(kù),找到 Actions 的標(biāo)簽頁(yè)

如何快速掌握Github Actions

Actions

如果你是一個(gè)前端項(xiàng)目,可以使用 Node.js 的模板,點(diǎn)擊 Set up this workflow

如何快速掌握Github Actions

Actions Setup

此時(shí)生成了一個(gè)文件 .github/workflows/nodejs.yaml,修改內(nèi)容如下

name: Git Action Test  on: [push]  jobs:   build:      runs-on: ubuntu-latest      steps:     - uses: actions/checkout@v1     - name: Use Node.js 10.x       uses: actions/setup-node@v1       with:         node-version: 10.x     - name: npm install, build       run: |         npm install         npm run build --if-present       env:         CI: true

執(zhí)行 git push 操作,此時(shí)可以在 github 的 Actions 標(biāo)簽頁(yè)看到執(zhí)行結(jié)果

如何快速掌握Github Actions

Actions Start

術(shù)語(yǔ)

runner: github 分配的用來(lái)執(zhí)行 CI/CD 的構(gòu)建服務(wù)器 (也可以自建 runner)

workflow: CI/CD 的工作流

job: 任務(wù),比如構(gòu)建,測(cè)試和部署。每個(gè) workflow 由多個(gè) job 組成

step: 每個(gè) job 由多個(gè) step 組成

配置

參考官方文檔: Workflow syntax for GitHub Actions[1]

以下是常用到的配置

on

該 CI/CD 觸發(fā)時(shí)的事件。如果需要上傳代碼自動(dòng)部署的功能時(shí),應(yīng)該選擇 on: push

on: push

更多事件可以參考官方文檔 Events that trigger workflows[2]

另外,我們可以利用 issues 事件做很多事情,如郵件通知之類(lèi)

如果是 Issue 類(lèi)博客,則可以通過(guò)監(jiān)聽(tīng) issues.opened 事件,調(diào)用 github api,自動(dòng)生成網(wǎng)址博客

on:   issues:     types: [opened, edited, milestoned]

jobs

一個(gè) CI/CD 的工作流有許多 jobs 組成,比如最典型的 job 是 lint,test,build 或者 deploy。

jobs:   test:   build:   deploy:

所有的 job 都是并行的,但往往會(huì)有依賴(lài)關(guān)系:「你總得通過(guò)測(cè)試了,才能再去部署吧」

jobs.<job_id>.needs

needs 確定 job 的依賴(lài)關(guān)系

jobs:   test:   deploy:     needs: test

jobs.<job_id>.runs-on

當(dāng)你使用 github actions 時(shí),github 會(huì)十分大方的給你分配一個(gè)配置還不錯(cuò)的服務(wù)器作為構(gòu)建服務(wù)器,用來(lái)跑你的  workflow

  • 2-core CPU

  • 7 GB of RAM memory

  • 14 GB of SSD disk space

恩,比我自己的服務(wù)器要強(qiáng)

使用 runs-on 指定服務(wù)器系統(tǒng),用的最多的應(yīng)該就是 ubuntu-latest 了

runs-on: ubuntu-latest  runs-on: windows-latest

jobs.<job_id>.steps

即某個(gè)任務(wù)的一系列動(dòng)作,如部署一個(gè)前端需要安裝依賴(lài),編譯代碼等等

jobs.<job_id>.steps.name

為 step 指定一個(gè)名稱(chēng),將會(huì)在 github action 的控制臺(tái)中顯示

jobs.<job_id>.steps.run

該 step 需要在 shell 中執(zhí)行的命令

# 單行 - name: Install Dependencies   run: npm install  # 多行 - name: Install and Build   run: |     npm install     npm run build

jobs.<job_id>.steps.uses

選擇一個(gè) action,可以理解為若干 steps.run,有利于代碼復(fù)用。這也是 github action 最主要的功能。

如果你想找一個(gè)好用的 github action,可以在 github marketplace 瀏覽并檢索

這是一個(gè)在當(dāng)前操作系統(tǒng)中安裝 node:10 的 action 示例

- name: use Node.js 10.x   uses: actions/setup-node@v1   with:     node-version: 10.x

當(dāng)然,這里怎么能少得了 docker 的身影呢,在 actions 中也可以使用 docker。如果對(duì) docker 不太了解,可以看我的文章:  docker 簡(jiǎn)易入門(mén)[3]

以下是 npm install 的一個(gè)示例

jobs:   build:     steps:       - name: Install         uses: docker://node:alpine         with:           args: npm install

secret and context

如何在 github action 上訪(fǎng)問(wèn)敏感數(shù)據(jù)?如使用 ssh 登錄時(shí)如何維護(hù)密碼。

我們可以在 github repo 上依次點(diǎn)擊 Settings -> Secrets 設(shè)置 secret

如何快速掌握Github Actions

Actions Secrect

- name: setup aliyun oss   uses: manyuanrong/setup-ossutil@master   with:     endpoint: oss-cn-beijing.aliyuncs.com     access-key-id: ${{ secrets.OSS_KEY_ID }}     access-key-secret: ${{ secrets.OSS_KEY_SECRET }}

這里的 secret 就是一種 context,描述 CI/CD 一個(gè) workflow 中的上下文信息,使用 ${{ expression }}  語(yǔ)法表示。除了 secret,還有

  • github: workflow 的信息,如 github.sha 可以獲取當(dāng)前的 commit SHA,我們可以利用它為 sentry 或者  docker image 打入版本號(hào)

  • env: 環(huán)境變量

  • job: 當(dāng)前執(zhí)行 job 的信息,如 job.status 表示當(dāng)前 job 的執(zhí)行狀態(tài)

  • matrix: 描述一些構(gòu)建信息,如 node 以及 os 版本號(hào)

更多 context 信息可以參考官方文檔 Contexts and expression syntax for GitHub  Actions[4]

實(shí)踐一:博客自動(dòng)部署

我的博客目前托管在阿里云 OSS 上,以下 action.yaml 描述了自動(dòng)部署的流程??梢詤⒖嘉业呐渲? shfshanyue/blog[5]

「關(guān)于托管在阿里云 OSS 的細(xì)節(jié),可以參考 在阿里云 OSS 托管你的前端應(yīng)用[6]」

name: deploy to aliyun oss  on: [push]  jobs:   build:      runs-on: ubuntu-latest      steps:     # 切代碼到 runner     - uses: actions/checkout@v1       with:         submodules: true     # 下載 git submodule     - uses: srt32/git-actions@v0.0.3       with:         args: git submodule update --init --recursive     # 使用 node:10     - name: use Node.js 10.x       uses: actions/setup-node@v1       with:         node-version: 10.x     # npm install     - name: npm install and build       run: |         npm install         npm run build       env:         CI: true     # 設(shè)置阿里云OSS的 id/secret,存儲(chǔ)到 github 的 secrets 中     - name: setup aliyun oss       uses: manyuanrong/setup-ossutil@master       with:         endpoint: oss-cn-beijing.aliyuncs.com         access-key-id: ${{ secrets.OSS_KEY_ID }}         access-key-secret: ${{ secrets.OSS_KEY_SECRET }}     - name: cp files to aliyun       run: ossutil cp -rf .vuepress/dist oss://shanyue-blog/

部署成功

如何快速掌握Github Actions

部署成功

實(shí)踐二:Github Readme 自動(dòng)生成

2020 年 8 月份,就是我裸辭的那個(gè)月,Github 上線(xiàn)了個(gè)人主頁(yè)功能,即創(chuàng)建 Github  用戶(hù)名的同名 Repo,其中的 Readme.md 就是自己的個(gè)人主頁(yè)。例如我,創(chuàng)建一個(gè) shfshanyue/shfshanyue 的倉(cāng)庫(kù),既可以通過(guò)  Readme.md 來(lái)創(chuàng)建個(gè)人主頁(yè)

此時(shí)涌現(xiàn)了各種各樣的 Github Actions 來(lái)自定義個(gè)人主頁(yè),大致思路如下:

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)

  2. Github API 獲取自身 Github 動(dòng)態(tài),寫(xiě)入指定格式的 Readme

  3. Github Actions 自動(dòng)提交代碼

優(yōu)秀 Github 個(gè)人主頁(yè)的 Actions[7]

其中一個(gè) waka-readme-stats[8],可制作以下漂亮的個(gè)人主頁(yè)

? I'm Most Productive on Sundays  Monday       50 commits     ███??????????????????????   13.19% Tuesday      85 commits     █████????????????????????   22.43% Wednesday    56 commits     ███??????????????????????   14.78% Thursday     44 commits     ███??????????????????????   11.61% Friday       28 commits     █????????????????????????   7.39% Saturday     30 commits     ██???????????????????????   7.92% Sunday       86 commits     █████????????????????????   22.69%

實(shí)踐三:定時(shí)任務(wù)的腳本服務(wù)器

「這簡(jiǎn)直是在薅羊毛啊!」

先獻(xiàn)上一個(gè)使用了 Github Actions 的工具:B 站自動(dòng)簽到工具[9]。

?

通過(guò) GitHub Actions 實(shí)現(xiàn)每日線(xiàn)上自動(dòng)運(yùn)行任務(wù):每日自動(dòng)登錄、觀(guān)看、分享、投幣視頻,獲取每日任務(wù)的滿(mǎn)額經(jīng)驗(yàn),輕松升級(jí) Level  6,實(shí)現(xiàn)自動(dòng)領(lǐng)取大會(huì)員權(quán)益、月底自動(dòng)為自己充電等功能。

到此,關(guān)于“如何快速掌握Github Actions”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

分享名稱(chēng):如何快速掌握GithubActions
瀏覽路徑:http://m.newbst.com/article38/gdocpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)面包屑導(dǎo)航、App開(kāi)發(fā)、響應(yīng)式網(wǎng)站域名注冊(cè)、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司