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


21

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

いくつかのスクリプトを見て試しましたが、エラーが発生したか、ファイルを正しくコピーしないため、スクリプトを間違って実行する必要があると思います。

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

ありがとう!


これは興味深い有用な質問だと思いますが、GitとSubversionの相互作用に関するものであり、WordPress固有のものではないため、範囲外になります。ここで何が最善の行動になるかを考える必要があります
...-ラースト

このケースを議論するために、メタに関する質問を始めました。
ラースト

@Rarstのおかげで、質問を置き忘れて申し訳ありません
studioromeo

回答:


1

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

しかし、彼はそのソリューションを使用していません。


ありがとう@bueltge。それで、私は彼が手動の方法に戻ったと思うのは正しいですか?
studioromeo

4
聖なるものすべての愛のために、そのサイトの指示に従わないでください。あなたが突然私たちのSVNに何百ものコミットをした場合、私は個人的にあなたを見つけて棒であなたを打ち負かすことを私の人生の目標にします。または、WordPress.orgから禁止することもできます。;)最終バージョンのみをコミットしてください。gitにコミットしたすべての変更をコミットしないでください。私たちはあなたの歴史を大切にしますが、意味のある歴史だけを大切にします。gitの問題は、人々が無用のがらくたを大量にコミットすることであり、一般的に言えば、そのすべてを知る必要はありません。
オットー

@Otto Lol!いいえ、変更をSVNリポジトリに展開できるようにしたいだけです。現在、これは私のチェックアウトされたsvnリポジトリのファイルを手動で上書きしますが、それは退屈でエラーが発生しやすいです。何か提案はありますか?
studioromeo

3
Gitの変更をインタラクティブにリベースすると、それらを1つのSVNコミットに結合できます。これを行う方法の詳細はこちら:stackoverflow.com/questions/158514/…–
オットー

1
@Otto「私は知らないだろうが、正直、私は。私が迷惑それを見つける。Gitリポジトリを使用していない」」(ストレートあなたから)別の引用に答えることができるあなたを見つけて、あなたを倒すために、私は個人的にそれを私の人生の目標を行いますスティックで ":)
kaiser

1

これらの応答を読んだ後、プラグインの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

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


このようなことをするつもりなら、インタラクティブなリベースを行ってから、すべてのコミットをスカッシュに変更してください。そうすれば、SVNサーバーに対して何十もの小さなコミットを行わないようにできます。これを行う方法の詳細はこちら:stackoverflow.com/questions/158514/…–
オットー

5
@Ottoサーバーの負荷を減らしたいというあなたの願いは完全に理解していますが、他の人のコードをデバッグする必要がある場合、アトミックコミットが本当に大好きです。うーん...完全なコミット履歴を持つパブリックGitリポジトリへの自動リンクは、プラグインディレクトリの便利な機能強化になります。
FUXIA

3
これについては@Ottoに同意する必要があります。WordPress.orgのSVNは、開発リポジトリではなく、リリースリポジトリである必要があります。
MikeSchinkel

1

質問は古いものでしたが、今ではGitHubアクションでソリューションを利用できるようになりました。最近、GitHubはGitHubリポジトリの自動ワークフローであるGithub Actionsを追加しました。

そして、有名な会社10upは「Action WordPress Plugin Deploy」を作成しました。

設定はとても簡単です。また、@ ottoによれば、各変更をsvnにプッシュする必要がないため、githubで新しいタグを作成しながら自動化を設定できます。

そのため、新しいリリースタグを作成すると、githubプラグインが自動的にコードをWordPressリポジトリにプッシュします。

便利なリンク:


0

自動的には行いませんが、非常に簡単です。

SVNトラックとGitマスターを同じディレクトリでチェックアウトしてください。Gitのみのプロジェクトの場合と同様に、ほとんどすべてにGitを使用します。

設定するstable tagようにtrunk準備ができてGitの中で、それをタグのリリースを行い、その後すぐにトランクにプッシュするときに、と。/tagsリリース履歴はGit(およびGithub)で安全であるため、SVN にプッシュすることを心配しないでください。

それについてです。

それをクリーンアップするために、私は追加する.svnには.gitignore、および.git(及びtests/phpunit.xmlSVNによって無視されるなど、)。

release.shスクリプトは、実際には次のものにすぎません(コードのバージョン番号が更新され、すべてがGitにコミットされると)。

git tag $1
svn ci -m"Release: $1"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.