明らかなメリットがあるすべてのサイトをGitHubに移動したいと思っています。私はコマンドラインの大ファンではないので、私はGitHubが好きです。それは私がそれに触れることを避けることができるからです。 GitHubでリポジトリを設定し、それを自分のコンピュータと同期させるのは簡単です。 GitHubからWebサーバーに自動的にプッシュできるようにする必要がありますが、メインブランチに対してローカルに何かを更新してGitHubと同期させると、サイトにライブされます。主題をグーグルで見ると、ほとんどのテクニックのようにコマンドラインを必要とするか、かなり複雑に思えるようです。私は約15-20のサイトでこれをしたいと思っています(その多くは異なるクライアントからの異なるサーバーでホストされています)。私は自分のスキルの範囲内で、サイトごとに2〜3時間かかることのないオプションを探したい。誰でも最高の、これを設定する最も簡単な方法を知っていますか?複雑でGitHubからWebサーバーへのプッシュ
答えて
部分は、すべてのGitHubリポジトリはリポジトリがにプッシュされるたびに、ウェブサーバと通信するオプションを有するwebhook on GitHub
あります。
つまり、あなたのWebサイトにはコミットの受信時にGitHubから送信されたJSONメッセージを受信するプロセスが必要です。 GitHubのプロジェクトは、私は同意していないパスフレーズでSSHキーを、お勧めします
<?php
// Prevent accidental XSS
header("Content-type: text/plain");
// Run the script
if ($_POST['payload']) {
shell_exec("./pull.sh");
}
こと:
あなたは(PHPサーバー用)auto.phpで、このwebhook-deployerのように、これらのリスナーの複数の例を見ることができます最初に(テストするため)
しかし、特にプライベートプロジェクトの場合は、ssh-agentを実行し、ssh鍵のパスフレーズを保護することをお勧めします。ヤーノシュcommentsとして
:
- GitHubのリポジトリが公開されている場合、彼は一つも必要ありません。
- リポジトリがプライベートである場合、彼はそれを必要としますが、これは軽く取られるべきではありません。可能であれば、彼は主要なエージェントを使用すべきである。
これはあまりに複雑すぎると、パスフレーズなしで専用のSSH鍵を使用することができ、その鍵はデプロイメントPCから離れるべきではありません。
私はこのチケットは古いですが、この何とか、チェックアウトdploy.ioを見つける人のために知っています。 GitHub/Bitbucketからあなたのサーバーにあなたのレポを配備する目的で作られたホスト型サービスです。 SFTP/FTP/S3/Heroku/SSHコマンドなどをサポートしています。
免責事項:私はあなたがこのPHPスクリプトを見てみることをお勧めしますdploy.io
に取り組む:
https://github.com/JohannesHoppe/easy-git-deploy
数年以来、私はそのスクリプトを使ってすべてのWordPressのインストールを管理しています。
ヒント:共有ホスティング環境を使用している場合、スクリプト制限よりも最初の実行が中断される可能性があります。その場合には、SSH経由でログインし、手動で最初のクローンの操作を行います。
ここgit clone 'https://user:[email protected]//github.com/user/repo.git'
また、手動でSSHキーのフィンガープリントを確認することができます。
第2のヒント:ディレクトリを.htaccess/.htpasswdファイルで保護する必要があります。
- 1. GitHubからサーバーへの自動プッシュ配信
- 2. サーバーからブラックベリープレイプッシュへのプッシュ
- 3. RStudioからGithubにプッシュ
- 4. サーバーからGitを使ってgithubにプッシュ
- 5. GITHUB別のディレクトリからファイルをプッシュ
- 6. クライアントからサーバーへのデータのプッシュ/同期
- 7. MysqlサーバーからJavaアプリケーションへの通知プッシュの追加
- 8. RStudioからGithubへのRepo
- 9. GithubからAzureへのデプロイ
- 10. GitHubからWikiへのリンク
- 11. git/githubとWebサーバーのデプロイメント設定
- 12. githubへのコミット/プッシュを自動化できますか?
- 13. ローカルブランチをGitHubにプッシュ
- 14. サーバーからのAppleプッシュ通知
- 15. githubのWebサイトにプッシュできません
- 16. github repoへの変更をプッシュしよう
- 17. gitサーバからGithubへの移行
- 18. JenkinsからGitHubプロジェクトへのタグ付け
- 19. vb.netからWebサーバーへの日付の解析(java)
- 20. Webサーバー上のReporting Services 2005から.NET 4フレームワークへの問題
- 21. サーバからクライアントへのJAXのプッシュ
- 22. Webサーバーからブラウザにデータをプッシュする方法はありますか?
- 23. svnリポジトリからgithubに特定のフォルダをプッシュ
- 24. バックエンドシステムからAzureプッシュ通知ハブへのプッシュ通知の送信
- 25. PHP 4からPHP 5へのWebサーバーのアップグレード。既存のWebサイトのリスク?
- 26. 自分のサーバーからGithubにコードをプッシュすることはできますか?
- 27. サーバーからサーバーへの転送
- 28. ローカルリポジトリからGitHubに1ファイルだけをプッシュ
- 29. cloud9からgithubにプッシュする方法は?
- 30. DjangoアプリからAndroidアプリへデータをプッシュ
最初の手順は、コマンドラインの使用方法を学習することです。あなたは非常に精巧なスキーマに向かい、コマンドラインを使わないと遠くに行かないでしょう。また、注意すべき点は、githubに入れないファイル(画像や文書にはソース管理が必要ないかもしれない)とデータベースを展開することです。魔法のようにはできません。探しているのは展開ツールです –
OSXを使用するかどうかにかかわらず、このGUIベースの非常に便利なワークフローを考えることができます(これはWordPressのものにも使用します):http://eppz.eu/blog/push-git-to-ftp/ – Geri
https://www.heroku.com/のようなPAASを使うと、簡単なプッシュで展開することができます。つまり、 'git push heroku master' –