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