2

私が働いているショップでは、継続的インテグレーションに jenkins を使用し、そのプロモートされたビルド プラグインを使用してビルド アーティファクトをデプロイしています。ただし、構成の数が増えるにつれて、このセットアップの管理に問題が生じています。だから私の質問は:

可能なすべての組み合わせを手動でスクリプト化することなく、さまざまな構成でさまざまな成果物を展開できる便利な CI システムをセットアップするにはどうすればよいですか?

詳細:

Aビルド構成 (つまり、ブランチ)とがあるBとしましょうC。3 つのデプロイメント ターゲットIとがJありKます (たとえば、さまざまなクライアントまたはコンシューマーの場合)。最後に、デプロイされた各インスタンスにはX、さまざまなサービス (Web サイト、バックグラウンド タスク、データ サービスなど) がありますYZ通常、さまざまなサービスが一緒に宣伝されます。しかし、特に修正プログラムを公開するために、そうでない場合もあります。

現在、これらの組み合わせごとにプロモーションを行っています。したがって、典型的なビルドをインストールするには、 Promotions を実行し、 config で実行する必要がJ/Xあります。サービスの数は残念ながら増加しており、これらすべての構成をジェンキンでエラーを発生させずに取得し、さらに展開時にコンポーネントを忘れたり混同したりしないようにすることは難しくなっています。そしてもちろん、3 つ以上のビルド構成と 3 つ以上のターゲットがあるため、すべて手に負えなくなります。J/YJ/ZC

うまくいかないいくつかのオプション:

  • さまざまなコンポーネントを無効にするためのパラメーター化されたプロモーション。Jenkins ではパラメーター化されたプロモーションが可能ですが、値は最初にプロモーションするときに固定されます。いくつかのパラメーターをプロモートして設定するだけで自由度を取り除くことができましたJが、新しいバージョンが壊れた場合、壊れたコンポーネントだけをロールバックすることはできず、デプロイ全体をロールバックする必要があります。

  • 依存するパラメータ化されたビルド。Jenkins は依存するビルドを選択するパラメーターをサポートしていないようです。オプションを手動でコーディングすると、もちろん「実行」選択パラメーターは機能しません。

私が本当に欲しいもの:

  • ビルドが展開の準備ができているとして手動で受け入れられた後、どのターゲットの引数とどのコンポーネントの引数を含めて、そのようにマークする必要があります。

  • インストール履歴は、ビルドごとではなく、コンポーネントごと、ターゲットごとに記録されます。

4

1 に答える 1

0

役立つプラグインがいくつかあるかもしれませんが、商用ツールを検討することが適切な段階に近づいている可能性もあります。私はビルド/デプロイ ベンダー ( Urbancode ) で働いているので、これは大雑把に考えてください。

一般的に、人々は 1 つのプロジェクトに対して異なるビルド タイプ (またはブランチ) を持っており、それらを複数の「ビルド ワークフロー」を持つ 1 つの「プロジェクト」としてグループ化し、ワークフローごとのパラメーター化を伴う同じ基本構成を使用しています。プロセスの本当に単純な再利用。

サービスの数は残念ながら増加しており、これらすべての構成をジェンキンでエラーを発生させずに取得し、さらに展開時にコンポーネントを忘れたり混同したりしないようにすることは難しくなっています。そしてもちろん、3 つ以上のビルド構成と 3 つ以上のターゲットがあるため、すべて手に負えなくなります。

ここでの課題が、複数の Web サービスとプロモーション (特に本番環境) があり、特定のバージョンで調整された方法で多くのものをプッシュする必要がある場合、アプリケーション リリース自動化ツールuDeploy の標準的な使用例に当てはまります。Jenkins と便利に統合されています。また、どのバージョンがどのデプロイ ターゲットに送られ、誰がそのプロセスを実行したかを追跡することもできます。

于 2012-12-19T05:40:00.600 に答える