0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub Actions を使って Git サブモジュールを自動更新する方法

Last updated at Posted at 2024-05-13

はじめに

この記事では、GitHub Actionsを利用してGitサブモジュールを自動的に更新するワークフローの設定方法を説明します。

GitHub Actionsを使ったサブモジュールの自動更新設定

GitHubリポジトリで .github/workflows ディレクトリに以下の内容でワークフローファイルを作成します。

name: Update Submodules

on:
  schedule:
    - cron: '0 0 * * *' # 毎日 UTC 0時に実行されます。
  workflow_dispatch: # このワークフローを手動で起動できるように設定します。

jobs:
  update-submodules:
    runs-on: ubuntu-latest
    
    steps:
    - name: Checkout the repository
      uses: actions/checkout@v3
      with:
        fetch-depth: 0 # 全ての履歴とサブモジュールをフェッチします。
        
    - name: Update submodules
      run: |
        git submodule update --init --recursive
        git submodule update --remote
        
    - name: Commit and push changes
      run: |
        git config --global user.name 'Your Name'
        git config --global user.email ${{ secrets.USER_EMAIL }}
        git commit -am "Automatically update submodules"
        git push

GitHub Secretsの使用

'Your Name'はご自身のGiHubの名前に変更してください。
GitHubのSecretsを活用することで、メールアドレスなどの機密情報をセキュアに管理できます。
リポジトリの SettingsSecretsActionsUSER_EMAIL としてメールアドレスを設定します。

Github Actionsの権限付与

以下記事を参考にGithub Actionsでリポジトリ更新ができるように権限付与が必要です。
https://zenn.dev/osawa_koki/articles/a63b96a2707a8f

設定例

まとめ

この設定を行うことで、サブモジュールを自動的に最新の状態に保つことができます。

参考資料

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?