デプロイまでを自動化

makefileとか色々と古風な方法を思いついたのだが、検索すると circle ci/cd とか github actions 等がよくヒットした。勉強のため色々読んでみると、github-actionsでできそうな気配…基本以下のyamlファイルを.github/workflow/<job名>.yml(job名は下の例でgh-pages-deployのこと)で記述して、このリポジトリにgit pushするだけで済むらしい。

以下のyamlはこの記事から拝借した。

on:
  push:
    branches:
      - master
jobs:
  gh-pages-deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Set up Ruby
      uses: actions/setup-ruby@v1
      with:
        ruby-version: 2.7
    - name: bundle install
      run: |
        bundle config set path 'vendor/bundle'
        bundle install
    - name: Jekyll Build
      run: bundle exec jekyll build
    - name: Deploy
      uses: peaceiris/actions-gh-pages@v3
      with:
        personal_token: $
        publish_dir: ./_site

不明点は

  • このスクリプトのデバッグの仕方
  • 「gh-pagesブランチにデプロイ」とあるが、別のgithub pagesリポジトリにデプロイできないのか?
  • github pagesリポジトリでサブディレクトリで階層が別れていることに対応

これらが明確になれば、導入だな