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.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@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.1
git push origin 0.0.1
タグが発行されるたびにGithub Actions
が発火し、WordPress.orgのプラグインリポジトリにデプロイしてくれる。
これでWordPressのプラグインを同一管理できるようになった。
● 参考
GitHub ActionsでWordPressのプラグインをGitHubのリポジトリからWordPress.orgのプラグインリポジトリにデプロイする。