Emacs Netlify Github
DeployをGithub Actionsに変えた以前述べたように, Netlifyのdocker imageはEmacsを含んでおり, org文書をhtmlに変換して公開するためにNetlifyから直接Emacsを起動するようにしていましたが, Emacsのバージョンが今となっては古く, さすがに追従できなくなるのは嫌だなぁと思っていた処, Github ActionsにはSet up Emacsという便利なActionがあるという事を知ったので, Github Actionsでorg文書をHTMLに変換してからNetlifyにデプロイするようにしました.
まず, NetlifyのBuild settingsでBuildsの項目がActivate buildsになっている場合はStop buildsに変更します. もう使う事はないでしょう.
次にSettings -> Site details -> Site informationにあるAPI IDをNETLIFY_SITE_IDとしてGithub リポジトリのSettingsのSecretsに設定します. また, Personal Access tokensからアクセストークンを生成し, NETLIFY_AUTH_TOKENとして, 同様にGithub リポジトリのSettingsのSecretsに設定します.
リポジトリのルートで, .github/workflows/main.ymlを作成し, 以下のように記述します.
name: Deploy website on: push: branches: [ master ] # pull_request: # branches: [ master ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup emacs uses: purcell/[email protected] with: version: 27.1 - name: build run: make rebuild - name: Netlify Actions uses: nwtgck/[email protected] with: publish-dir: './publish' production-branch: master env: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
この変更をmasterブランチに対して commit & push すると, Github Actionsが走りNetlifyに展開されます. ちゃんとフッターに表示しているEmacsのバージョンが指定してものになっているのが確認できます.
気が向いたらstagingとproductionでわけるかもしれませんが, 今はmasterにpushされたらGithub Actionsが走るようにしています.
この時点でNetlifyである利点がもはやなくなってきたので, 別のホスティング環境なりサービスなりに移るかもしれませんが, しばらくはこの形でやっていこうと思います.