WordPressのバージョン管理はSubversion で行われるのだが、なかなか慣れずに更新が億劫になってきたので、Githubで更新できるようにしてみた。

過去関連記事

Subversion (SVN) を使用し承認されたWordPressプラグインをリリースしてみる

Github Actionを使用する

10up.comがWordPress.orgのプラグインリポジトリにデプロイするGitHub Actionsを公開してくれているので、それを活用させていただく。

Github リポジトリを作成する

ディレクトリ構成

まずはいつも通りGithubのリポジトリを作成する。

本当にいつも通りで問題ないけれど、WordPressのスラッグのとリポジトリ名を揃えた方が後々ほんの少しだけ楽になる。

ディレクトリ構成は下記のようにする。

.
├── .wordpress-org
│   ├── banner-772x250.png
│   ├── icon-128x128.png
│   └── screenshot-1.png
├── README.md
├── plugin-sample.php
└── readme.txt

.wordpress-orgSVNリポジトリassetsフォルダの中身をコピーする。

Github Action を作成する

リポジトリのActionsへ行き、New workflow → set up a workflow yourself でYAMLファイルの作成画面に行く。

ファイル名はわかりやすい名前(ex:wordpress-plugin-deploy)を指定する。

次にaction-wordpress-plugin-deployページにあるExample Workflow Filesの内容をコピペする。

name: Deploy to WordPress.org
on:
  push:
    tags:
    , "*"
jobs:
  tag:
    name: New tag
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: Build # Remove or modify this step as needed
      run: |
        npm install
        npm run build
    - name: WordPress Plugin Deploy
      uses: 10up/action-wordpress-plugin-deploy@stable
      env:
        SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
        SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
        SLUG: my-super-cool-plugin # optional, remove if GitHub repo name matches SVN slug, including capitalization
  • Githubのブランチがmainの場合はactions/checkout@masteractions/checkout@mainにする(曖昧)
  • 特にnpmを使用していない場合は、下記記述を削除する。
    - name: Build # Remove or modify this step as needed
     run: |
       npm install
       npm run build
  • スラッグとリポジトリ名と同一であればSLUG: my-super-cool-plugin # optional, remove if GitHub repo name matches SVN slug, including capitalizationは不要なので削除する。

完了後、Commitする。

リポジトリ名/.github/workflows/ 配下に先程のファイルが作成されていれば、問題なくこの手順は完了。

SVNのログイン情報を登録

下記の手順で該当ページまで遷移する。

Settings → Secrets and variables → Actions

遷移後、New repository secretをクリックし、SVN_USERNAMESVN_PASSWORDの登録をする。

それぞれWordPress.orgログイン情報と同じだった。

デプロイしてみる

開発環境で下記コマンドを実行する。

git tag 0.0.1
git push origin 0.0.1

タグが発行されるたびにGithub Actionsが発火し、WordPress.orgのプラグインリポジトリにデプロイしてくれる。

これでWordPressのプラグインを同一管理できるようになった。

● 参考

GitHub ActionsでWordPressのプラグインをGitHubのリポジトリからWordPress.orgのプラグインリポジトリにデプロイする。