# WordPress.orgに登録したプラグインをGitHub Actionを使用しGitHub上で管理する
Table of Contents
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-orgにSVNリポジトリの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.orgon: 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 capitalizationGithubのブランチがmainの場合はactions/checkout@masterをactions/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_USERNAMEとSVN_PASSWORDの登録をする。
それぞれWordPress.orgログイン情報と同じだった。
デプロイしてみる
開発環境で下記コマンドを実行する。
git tag 0.0.1git push origin 0.0.1タグが発行されるたびにGithub Actionsが発火し、WordPress.orgのプラグインリポジトリにデプロイしてくれる。
これでWordPressのプラグインを同一管理できるようになった。
● 参考
GitHub ActionsでWordPressのプラグインをGitHubのリポジトリからWordPress.orgのプラグインリポジトリにデプロイする。