連続配信の最後に手動ステップを実装する方法は?


13

「についての私の質問への受け入れ答えどのように継続的な統合は、連続配信/展開に関係していますか?」についても説明小さな違いの間に連続的送達連続展開を。「本番環境にどのようにデプロイしますか。これらは(排他的な)選択可能なオプションです。」のような質問への回答に関連しているようです。

  • 自動(マチック)。
  • マニュアル。

DevOpsの壁の向こう側に貧弱な「オペレーター」がいることを想像することはできません。

  • 「質問」では、「配布」対「インストール」という参照は、そのような「手動」のものの可能な実装に近いですか?関連する質問の関連する引用は次のとおりです。
  • FTPのようなものを使用してターゲット環境に配布します(標準のコピーがギャップを埋めることができない場合)が、ターゲットでまだアクティブにしないでください。それが連続配信に似ている/近いはずなのか、そうでないのか?
  • バインド、停止/開始操作などのようなものと組み合わせて、いくつかのターゲット環境にインストール(またはアクティブ化)します。それは、継続的デプロイメントに似ている/近いはずですか?
  • 他の可能な実装は何ですか?

AWSデプロイメントの場合、チームマネージャーのみがアクセスできるアップロード/デプロイスクリプトを作成しました。そのため、運用環境に展開するには、チームマネージャーがスクリプトを実行する必要があります。
カメ

夢を壊してすみませんが、私たちにはまだ「展開」チームがあります。OekはARCADを使用してDb2-iSeriesでDB更新を起動し、トムカートサーバーでシェフを務め、毎週木曜日の午後8時から深夜まで運用します。それで、悲しいことに、時々貧しいオペレーターがいます(それが彼らの唯一の仕事ではないことを願っています)
Tensibai

回答:


5

個人的には、distributionターゲットへのソフトウェアの配置は、展開の中間段階にすぎません。その展開を完了するには、ソフトウェアのインストール/アクティベーションが必要です。

私にdelivery(のようにcontinuos deliveryソフトウェアを展開するときに停止)を作成して作られて利用できる展開に(すなわち配布、インストールおよび活性化のために)

ですから、最初の質問に答えるために、いや、配布とインストールは、継続的な配信と継続的な展開を区別する手動の手順を反映しているとは考えません。

はい、いくつかの(願わくはまれ)場合、手動のステップは、プロセス自動化における文化的な不信感と、人間が二重にチェックしてデプロイメントの決定を承認するという精神的な安らぎを反映して、プロダクションにデプロイするための最終的な人間の決定にすぎません(したがって、その責任は、自動化できるアルゴリズムに基づいて純粋に決定された場合でも(合格/不合格のテスト結果をカウントするなど)。

ただし、一般に、運用環境で展開を実行する決定は、自動化されたアルゴリズムの結果ではないという事実を単に反映しています。そのような場合の例を次に示します。

  • 自動化された決定は上書きされます
    • すべての品質基準が満たされていない場合でも、展開をサインオフできます(これは単なる理論的なケースではないことは誰もが知っています)
    • すべての基準が満たされている場合でも、市場でのタイミングの影響などにより、何らかの理由で展開が保留されます
  • 自動化されたアルゴリズムは(まだ)実装/展開されていません
  • アルゴリズムには、人間の決定に応じたいくつかの基準のチェックが含まれます(手動テストの結果など)
  • 展開は、追加の顧客チェックに続いて、実際にはサードパーティの顧客環境で行われます

そのため、手動のステップを単に実装の問題とは見なしません。


Merci(oeps:ありがとう)これに関するあなたの見解を共有してくれました。私たちは「分布」について異なる認識を持っているように見えます。したがって、1つのシナリオを追加します。日曜日の早朝に、オンラインバンキングシステムで150.000の更新された実行可能ファイルを「アクティブ化」するための1時間のウィンドウがあります。そして、何らかの理由でロールバックが必要になる場合、そのウィンドウを拡張するためのネゴシエーションは不可能です。「ロールバックが必要な場合に備えて」に必要な時間を使用するのではなく、「配布」に時間を無駄にしたいですか?考えてみてください:1時間以上かかる場合... ???
Pierre.Vriens

それは、あなたの場合に適用可能な、デプロイメント自体の最適化または実装の詳細にすぎません(ただし、それはルールになりません)。古いswの実行を実際にシャットダウンする前にデプロイメントの一部を実行しているからといって、それぞれの作業が配信段階の一部であることを意味するわけではありません。また、実際に展開しなくても、展開を開始してから完了する必要があるというわけではありません。swは効果的に配信されます(つまり、展開の準備ができている/準備ができています)。
ダンコルニレスク

2

他のプロジェクトが消費することを期待しているものを公開している場合の追加の考慮事項の1つは、「他の人が使用するための公開」の意味も持ちます。

ライブラリを共通のアーティファクトリポジトリに展開するワークフローを検討します。プロセスのこの部分は、ビルド時にそのアーティファクトを必要とする別のコンポーネントをデプロイする一部である場合もあれば、単に共通ライブラリーの更新である場合もあります。ただし、そのアーティファクトについては、ライフサイクルは必ずしも他のユーザーが使用できるようになっているわけではありませんが、アーティファクトリポジトリへのそのアーティファクトの展開は、新しいリリースバージョンで、他のユーザーが新しいバージョンを安全に使用できるようになる前。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.