前言

什麽是 Actions?反正就是自動化工具,我說的也不準確
官網看最真實,而且有最豐富的資料,這次也是簡單講解一下。

如何使用

在 Project 的根目錄上建立.github\workflows 的目錄
在該目錄上建立一個或者多個以 yaml 結尾的設定檔即可

.github\workflows<any>.yaml

運行

當 GitHub 發現設定檔後,則會自動執行
所有行為均源自設定檔的配置,無需另外設定

範例

Actions 是由以下元素所組成的:
Workflow -> Job -> Step -> Action
每一個元素下都可以含有多數下級元素
由於所有東西都在設定檔內,直接給出 Example 比較好理解

#Workflow的名字
name: Deploy to gh-page
on:
  #什麽時候發動,下面就是push到main或手動執行
  push:
    branches:
      - main
  workflow_dispatch:
jobs:
  #Job的名字
  hugo_build:
    name: hugo build and deploy GitHub Pages
    #運行的環境
    runs-on: ubuntu-latest
    steps:
      #將你的Code checkout出來
      - uses: actions/checkout@v2
        with:
          submodules: true # Fetch Hugo themes (true OR recursive)
          fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
      #設定Hugo版本
      - name: Setup Hugo
        uses: peaceiris/actions-hugo@v2
        with:
          hugo-version: "0.82.0"
          # extended: true
      #Hugo Build
      - name: Build
        run: hugo --minify

      #東西都準備好了,就發怖到GitHub Pages
      - name: Deploy
        run: |
          cd ./public
          echo '${{secrets.DOMAIN_CNAME}}' >> CNAME
          git init
          git config --local user.name '${{user}}'
          git config --local user.email '${{email}}'

          git status
          git remote add origin https://${{secrets.DEPLOY_GITHUB_PAGE_SECRET}}@github.com/${{username}}/${{Repo}}.git
          git checkout -b gh-pages
          git add --all
          git commit -m "Deploy to GitHub Pages by GitHub Actions"
          git push origin gh-pages -f
          echo 🤘 Deploy to GitHub Pages completed.          

今天先這樣,之後再加強