WordPress.orgに登録したプラグインをGitHub Actionを使用しGitHub上で管理する

目次

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のプラグインリポジトリにデプロイする。

次に読むおすすめ記事

Githubでリポジトリ用のプルリクエストテンプレートを作成する

GithubActionを使用してエックスサーバーにデプロイする

WardPressの管理をGit Flowで管理していたが、VSCodeの拡張機能「WordPress Post」を使うことで世界が変わった。

git pullした時に、「error invalid path」というエラーが出たので解決する

今後のことを考え、WordPressの記事をGitで管理しGithubに一元管理することにした

この記事に対するコメント

お気軽にコメントを下さい

メールアドレスが公開されることはありません。 が付いている欄は必須項目です