最近はパソコンが無いのでブログの更新が非常に面倒で寝室のパソコンにssh接続してリモートデスクトップかvimで編集してhugo deploy
する必要があります。そこで、より良い解決策を考え出すことにしました。
コードサーバーを使用するだけで、マークダウンを編集するには Android タブレットで十分です。したがって、問題はhugo --minify && hugo deploy
をどのように実行するかです。
このコマンドを実行するには、Linux 環境と最新バージョンの Hugo および google-cloud-cli がインストールされている必要があります。私はGithub Actionsに注目しました。
Github Actions の作成 #
このプロジェクトのコード ウェアハウス Web ページに入り、Actions
を選択して、新しい workflow を作成します。
name: hugo auto deploy
# when action
on:
push:
branches: [ main ]
# env prepare
jobs:
setup-deploy:
name: Setup and Deploy
runs-on: ubuntu-latest
permissions:
contents: 'read'
id-token: 'write'
steps:
# checkout
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: "google-cloud-login"
uses: 'google-github-actions/auth@v2'
with:
credentials_json: '${{ secrets.GOOGLE_CREDENTIALS }}'
- name: "setup cloud sdk"
uses: 'google-github-actions/setup-gcloud@v2'
# hugo env
# hugo ready & build
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
# hugo deploy
- run: hugo --minify
- run: hugo deploy
その後、一部のコンテンツを変更してgit push
を実行し、GitHub Repository のActions
ページでログを確認します。
Google Cloud を構成 #
Actions を直接トリガーした場合は、予想どおりエラーがログに報告されます。それでは、エラーを段階的に修正してみましょう。
Google Cloud サービスキーを生成 #
Google Cloud コンソールを開き、IAMと管理
に移動し、サービス アカウント
を選択して、サービス アカウントを作成
。
サービス アカウント名を入力し、github-actions
を入力すると、サービス アカウント ID が自動的に生成されます。作成して続行
をクリックします。作成後、作成したばかりのアカウントを選択し、鍵を管理
を選択します。
鍵を追加
を選択し、新しい鍵を作成し、JSON 形式を選択します。その後、JSON ファイルが取得されますので、必ず保存してください。
アクセス許可 #
権限
ページでアクセス権を付与
をクリックし、サービス アカウントを作成
に作成したばかりのアカウントを入力し、「ストレージオブジェクト管理者」権限を付与します。
Github Actions Secrets を構成 #
Github に戻り、このRepositoryのSettings
ページに、Secrets and variables
を選択し,Actions
を選択し、New repository secrets
をクリック、Name
にGOOGLE_CREDENTIALS
を入力します、Secret
はGoogle Cloudに取得したJSONの全てのコンテンツ。
Actions を再試行 #
成功しました。