0

Yii 1.1 で書かれたアプリケーションがあり、アプリケーションとサーバーのすべての側面を維持および管理しています。さまざまなサーバーに存在します。git を介してローカルでコード ベースを維持し、GitHub リポジトリに公開します。更新やバグ修正を展開するときは、各ボックスにアクセスして、一度に 1 つずつ更新する必要があります。これは、展開するアプリケーションとサーバーが増えるほど、ますます時間がかかります。

git pull管理セクションを介してリモートで実行することにより、プロセスを合理化したいと考えています。GitHub の WebHooks 機能を利用することを考えましたが、自動化は望んでいません。どのアプリケーションが更新を取得するかを制御したいと考えています。yiic次に、コード ベースに存在し、シェルgit pullスクリプトを実行できるコマンドを使用することを考えました。セキュリティは、このすべてにおいて最優先事項です。

gitコントローラからコマンドへの認証を行うセキュリティ トークンのレイヤーを使用して、定義されたコマンドを処理する yiic クラスを作成した場合、セキュリティの問題が発生することを予見できyiicますか? 誰かが似たようなことをしたことがあり、彼らのアプローチと問題について洞察を得ることができるでしょうか?

4

1 に答える 1

1

すべてのユーザーが個人開発環境のブランチから (サーバーにアクセスせずに) 簡単に切り替えることができる管理画面を作成しました。PHP で使用execし、git クライアント フック (マージ後) https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooksを使用して、すべてのフォルダーとファイルの権限を更新することでこれを行いました (それらがプルの直後にあることを確認することはできません)。マージなどには bitbucket API を使用します。

ライブ環境とライブ前の環境では、deploybot.com を使用します。これにより、特定のブランチが更新された場合にファイルがアップロードされます。プレライブ環境は自動的に更新されます。ライブ環境では、ボタンを押す必要があります (これを自動化するので、月曜の朝、仕事に着く前に API を使用して実行されます)。引っ張るだけなら、このようなサービスを使用します。プルはしませんが、新しいファイル、変更されたファイル、または削除されたファイルをアップロード/削除します。次に、管理パネルで、API 呼び出しを行うボタンを追加して、deploybot がコードをデプロイできるようにします。簡単で無料または非常に安価です(ニーズに応じて)

セキュリティについて。管理画面とgithubアカウントのセキュリティ次第だと思います。人々があなたの github コードにアクセスできる場合、彼らはあなたのライブ コードを変更することができますが、これは常に「問題」です。彼らがあなたの管理画面にアクセスできる場合、コードをプルする能力よりも大きな問題があると思います。

于 2015-10-23T07:08:03.680 に答える