web-dev-qa-db-ja.com

ハウツー:GitHubリポジトリをワードプレスプラグインサーバーにプッシュする

私はgithub上で自分のプラグインを開発していますが、展開になると、どういうわけか私の変更を Wordpress SVN にコピーしなければなりません。現在、私はこれを手動で行い、各ディレクトリの各ファイルを個別にコピーしますが、これは時間がかかり、エラーが発生しやすいものです。

いくつかのスクリプトを見てみましたが、エラーが発生したかファイルを正しくコピーしなかったため、正しく実行していないといけません。

だから私の質問は誰もが自動的にこれを達成しているということですそしてもしそうならどのようにあなたはそれをやったのですか?

ありがとうございます。

21
studioromeo

詳細な説明は WordPressプラグインを公開する方法 - Git from @EAMann を参照してください。

1
fuxia

これらの回答を読んだ後、私は自分のプラグインの1つをGitHubにプッシュし、 release.sh スクリプトを書きました。このスクリプトは、plugins.svn.wordpress.orgから --depth immediates を使用してプラグインの部分的なチェックアウトを取得し、trunk/assets/内のファイルを更新します。これにより、開発履歴を維持するのではなく、wordpress.orgリポジトリを使用してリリースにタグを付けることで、定期的にsvnにプッシュすることが簡単になります。

./release.sh
svn cp trunk tags/0.6
svn ci "Sending 0.6 from https://github.com/foo/bar to wordpress.org"

より一般的なバージョンでは、さまざまなプラグインと連携したり、削除されたファイルを処理したり、gitタグに基づいて自動的にsvnタグを更新したりできます。

1

私のチームの同僚からこのチュートリアルを見てください: http://www.farbeyondprogramming.com/2011/09/81-how-to-deploy-a-wordpress-plugin-with-git-svn

しかし、彼はそのソリューションを使わないでください。

1
bueltge

自動的には行いませんが、とても簡単です。

SVN truckとGit masterを同じディレクトリにチェックアウトします。 Gitのみのプロジェクトと同じように、Gitをほぼすべてのものに使用します。

stable tagtrunkに設定してから、リリースの準備ができたら、それをGitでタグ付けしてからすぐにトランクにプッシュします。あなたのリリース履歴はGit(とGithub)で安全なので、SVN /tagsにプッシュすることを心配しないでください。

それはそれについてです。

それを片付けるために、私は.svn.gitignoreを追加し、そしてSVNによって無視される.git(そしてtests/phpunit.xmlなど)を追加しました。

Release.shスクリプトは、実際には次のようなものにすぎません(コード内のバージョン番号が更新され、すべてGitにコミットされた場合)。

git tag $1
svn ci -m"Release: $1"
0
Sam Wilson