検索

ホームページ  >  に質問  >  本文

项目在 git 里怎样合理的保存配置文件(服务器密码等敏感内容)

服务器配置文件,会保存诸如数据库用户名、密码等敏感信息。
在多人开发过程中,这些敏感文件如果提交在版本控制系统里,会造成隐患。
有没有好的处理方法呢?

高洛峰高洛峰2807日前716

全員に返信(2)返信します

  • 某草草

    某草草2017-04-28 09:06:22

    実際には多くの方法がありますが、そのうちの 2 つがより一般的に使用されます。

    1 つ目は、設定ファイルは実際のコンテンツを送信せず、テンプレート ファイルのみを送信することです。クローン作成後、各開発者が自分の環境に合わせて設定ファイルを完成させると、自然に独立したものになります(ファイル名は変更する必要があり、有効な設定ファイルは無視する必要があります)。

    設定ファイルが大きく、設定項目が多い場合、この方法は誰もが面倒に感じるでしょう。独立して構成する必要があるオプションを別のファイルにさらに分割し、共有構成ファイルを送信して、独立させる必要がある構成ファイルをテンプレート化することで、トラブルを軽減できます。ただし、構成を使用する場合は、2 種類のファイルをマージする必要があります。これはスクリプトを作成することで実行できます。さらに、独立した構成ファイルで同じ名前の構成項目を上書きできるため、構成をカスタマイズできます。

    2 番目の方法は、考え方を変えて、設定ファイルを分割または変更せずに通常どおりに送信することです。機密情報に遭遇した場合は、平文を書き込まないでください。代わりにシステム環境変数を使用できます。各開発者はコードを複製した後に必要な環境変数を設定する必要があります(このこと自体は個別に管理でき、特定のプロジェクトとは関係ありません)。プロジェクト自体の動作は、これらの環境変数の存在とその検証の妥当性によって決まります。 、など待ってください。

    最初の方法はさまざまなオープンソース プロジェクトでよく使用されますが、2 番目の方法には一定のしきい値があるため、主に固定チーム プロジェクトで使用されます。個人的には、2 番目の方法を好みます。スクリプトを使用してすべてを簡単に制御でき、機密情報がプロジェクトから独立しているため、セキュリティがより高くなります (1 番目の方法では、残念なことに、常に悪者に遭遇します...) , 再利用性も高くなります(たとえば、複数のプロジェクトがデータベースを使用する場合、関連する環境変数をローカルで一度設定するだけで、これらすべてのプロジェクトで使用できるようになります)。

    返事
    0
  • 黄舟

    黄舟2017-04-28 09:06:22

    これは無視されるファイルリストに追加されます ---

    返事
    0
  • キャンセル返事