2017-03-15 19 views
1

とGitLab CIパイプラインが含まれる設定を、設定することができ、このです:マルチコンテナkubernetesポッド

  1. GitLabプロジェクト#1のjava-コンテナ
  2. GitLabプロジェクト#2のjava-コンテナ
  3. nginxの容器
  4. Redisの容器
  5. Cassandraの容器
  6. nginxの輸出(プロメテウス)
  7. Redisの輸出(プロメテウス)
  8. JMX輸出国(プロメテウス)×2

それはkubernetesに1マルチコンテナポッドにこのすべてを持っていることが重要です(GKE)と共有ボリュームとローカルホストを介して通信します。

私は初期コンテナ(コードを引っ張ってコンパイルする)ですでにすべてをkubernetesで行いましたが、今はCI/CDでこの作業を行う方法を探しています。

GitLab CIでこれを行うことができれば、私はGitLab CIやものの初心者であるため、適切なドキュメントやマニュアルページを教えてください。数十インターネットからの記事。

ありがとうございます。

+0

これを設定できましたか。はいの場合は、便利なドキュメント/メモを共有してください。 – Sharan

+0

@ Sharan私は今それを取り組んでいます。私は私の質問の隣に答えて、私がこれを進んでいる間に更新を加えるだろう。 –

+0

ヘルプをよろしくお願いします。あなたが共有した文書が役に立ちました。 – Sharan

答えて

1

最初に、GitLabの共通のプロジェクトにmavenと(または)ドッカーでビルドする必要があるすべてのプロジェクトに参加することです。

次に、dockerビルドに必要なdockerfilesとすべてのファイルをサブプロジェクトフォルダに追加します。

次に共通プロジェクトのルートで、.gitlab-ci.ymlとdeployment.ymlファイルを配置する必要があります。

deployment.ymlは共通であるか、すべてのサブプロジェクトである必要があります。

.gitlab-ci.ymlには、すべてのサブプロジェクトを構築するためのすべての段階が含まれている必要があります。 simeファイルを変更するたびにすべてのものをビルドする必要はないので、GitLab CIを理解させるためにgitのタグを使用する必要があります。その場合、GitLabは1つまたは別のステージを実行する必要があります。

docker-build-akka: 
    stage: package 
    only: 
    - /^akka-.*$/ 
    script: 
    - export DOCKER_HOST="tcp://localhost:2375" 
... 

などなどすべての段階で:これはonlyparameterによって実現することができます。したがって、必要なDockerfileまたはJavaコードを変更する場合は、akka-0.1.4のようなタグをコミットしてgitlabにプッシュし、GitLab CIランナーは適切なステージのみを実行します。

また、README.mdファイルやその他の変更を加えても、プロジェクトをビルドする必要はありません。そうしないと変更できません。

有用なものがたくさんあります。herehereです。

また、kubernetesで実行中のドッカービルドステージに直面したproblemを見てください。私は役に立つかもしれない。

関連する問題