まずはCIとGitLabを初めて使うので、実際には意味をなさないものを言うかもしれません。それが起こった場合私は謝罪し、詳細/情報を求めてください。GitLabでパイプラインを実行しているときに外部データベースを使用
私はGitLabでホストされているプロジェクト(Laravel)を持っており、そのCIを使ってテストを実行しています。現時点では、私のテストではデータベースを使用せず、すべて正常に動作します。
私は今、データを含むいくつかのテストを行う必要がある状況にあります。私が直面している問題は、3つのデータベースがあります.1つはアプリケーションで管理し、もう1つはレガシーデータベースです。
パイプラインが実行されるたびに、アプリケーションによって管理されるものが再作成されます。テスト用には使い捨てであり、データ用のファクトリを使用します。だからここに問題はない。
しかし、他の2つは、私が言ったように、遺産であり、データを読み取ることを離れて、私はそれらを支配しません。
私のテストでは、それらのデータベースのデータが必要ですが、別のサーバー(UATサーバー)でホストされているデータベースを使用するためにgitlab-ci YAMLファイルを書き込む方法がわかりません。
誰かが助けてくれることを願っています。
しかし、問題は何ですか?あなたはあなたのテストをデータベースに向けるだけで、それを使用します。セキュリティで保護された接続を設定する方法についてもっと詳しく知りたいですか?おそらく、ローカルネットワークの構内で実行されているデータベースに接続する方法はありますか?レガシーデータベースからデータをダンプし、CIで再作成する方法は? –
データベースを指し示すには、YAMLファイルにユーザー名とパスワードが必要です。セキュリティ上の理由から、私は好きではありません。私は何とか(私はすでに私のウェブサイトのIPアドレスに基づいています)何らかの形でアクセスを制限することができればそれを検討しますが、CIのためにそれを達成する方法を考えることはできません。 データベースを再作成するたびに高価になり、ダンプをどこかに保存する必要があります。これはセキュリティの理由から好きではありません。 – giuliot
最初のものはhttps://docs.gitlab.com/ee/ci/variables/#secret-variablesで解決できます。多分安全な接続を設定するためのVPNです。あるいは、レガシーデータベースと同じLAN上に専用のランナーを設定することもできます。しかし、あなたの問題は、CIの設定ではなく、セキュリティに関するあなたの懸念の詳細です。 –