明らかなメリットがあるすべてのサイトを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. Webサーバー(php&mysql)からiOSアプリケーションへのプッシュ通知
- 4. GCMからFCM Webへのプッシュ
- 5. Ionic 2 - サーバーからアプリケーションへデータをプッシュ
- 6. Github:1つのリポジトリから別のリポジトリへの変更をプッシュ
- 7. プッシュのgithubからJenkinsへのパラメータの受け渡し
- 8. RStudioからGithubにプッシュ
- 9. .NETアプリケーションからGithubにプッシュ
- 10. XcodeからGitHubにプッシュ
- 11. サーバーからGitを使ってgithubにプッシュ
- 12. 複数のgithubアカウントへのプッシュ
- 13. WebサーバーからAndroidへJSON解析データ
- 14. GITHUB別のディレクトリからファイルをプッシュ
- 15. クライアントからサーバーへのデータのプッシュ/同期
- 16. MysqlサーバーからJavaアプリケーションへの通知プッシュの追加
- 17. GithubからAzureへのデプロイ
- 18. GitHubからWikiへのリンク
- 19. jupyterからgithubへのアップロード
- 20. RStudioからGithubへのRepo
- 21. AndroidライブラリをGitHubからAndroidアーセナルにプッシュ
- 22. Webサーバーからブラウザにデータをプッシュする方法
- 23. git/githubとWebサーバーのデプロイメント設定
- 24. githubへのコミット/プッシュを自動化できますか?
- 25. SignalR - サーバーへの通知のプッシュ
- 26. JARのWebサーバーへのアップロード
- 27. サーバーからのAppleプッシュ通知
- 28. vb.netからWebサーバーへの日付の解析(java)
- 29. 角度アプリケーションからExpress Webサーバーへのファイルの提出
最初の手順は、コマンドラインの使用方法を学習することです。あなたは非常に精巧なスキーマに向かい、コマンドラインを使わないと遠くに行かないでしょう。また、注意すべき点は、githubに入れないファイル(画像や文書にはソース管理が必要ないかもしれない)とデータベースを展開することです。魔法のようにはできません。探しているのは展開ツールです –
OSXを使用するかどうかにかかわらず、このGUIベースの非常に便利なワークフローを考えることができます(これはWordPressのものにも使用します):http://eppz.eu/blog/push-git-to-ftp/ – Geri
https://www.heroku.com/のようなPAASを使うと、簡単なプッシュで展開することができます。つまり、 'git push heroku master' –