オフライン環境での軽量な自動展開

フローチャート:

 

  • 定期的なシステムリリースの問題点
  1. サーバーが頻繁に再起動するため、それに応じてデプロイされたアプリケーション サービスを再起動できず、サービスのダウンタイムが頻繁に発生します。
  2. アプリケーションの手動デプロイメントは比較的面倒で、手順も煩雑です
  3. アプリケーションのリリース環境が発行者のローカル環境に依存するため、発行者ごとにリリース環境が毎回ばらつき、アプリケーションに異常が発生する
  4. サービス例外やサーバーダウンは自動対応できず、人的対応では応答時間が長すぎる問題がある
  5. 各サーバーのメモリ消費量が大きく負荷が高いため、一元管理には不便です
  • Dockerコンテナ化の概念
  1. Dockerは、開発環境を同時にミラーにパッケージ化できる軽量の仮想化テクノロジです。仮想マシンと同様に環境を仮想化できますが、仮想マシンはオペレーティング システム全体を仮想化する仮想ハードウェアであるのに対し、docker はマシンのハードウェアを使用し、プロセス レベルの仮想環境を使用します。したがって、相対的に言えば、docker はより軽量で高速になります。
  2. Dockerコンテナ化とは、アプリケーションをコンテナに統合し、それらを実行するプロセスを指します。Dockerの中心的な考え方は、アプリケーションをコンテナに統合し、実際にコンテナ内で実行する方法です。アプリケーションのコンテナ化が完了すると、アプリケーションのコンテナ化をミラーリングして配信できますコンテナを作成し、コンテナとして実行します。
  • Docker コンテナ化の利点
  1. より迅速な配信と展開
  2. より効率的な仮想化
  3. より簡単な移行とスケーリング
  4. 管理が容易になる
  • 自動展開 (CI/CD) の概念
  1. 導入プロセス中のすべての操作は、手動介入なしで完全に自動化されています。
  2. アプリケーション開発フェーズで自動化を導入し、アプリケーションを頻繁に顧客に提供するアプローチ

  • 導入を自動化する
  1. 複数のLinuxサーバーを申請し、システム構成を統一する
  2. 外部ネットワークを使用せずに、同じオフライン バージョンの Docker を Linux サーバーにインストールし、Docker 環境をセットアップします。
  3. 統合オーケストレーションのために docker-compose をインストールし、次に swarm をインストールしてクラスターを構築します
  4. 各開発環境でLinuxサーバーを構築
  5. 外部ネットワーク サーバー (Windows も可能) を申請し、エージェントをインストールし、コードのコンパイル時にエージェントを直接指定して、対応するパッケージをダウンロードします。
  6. Docker環境にJenkins(自動ビルドツール)、コンテナ管理ツールPorttainer等をインストールする
  7. 現在の期間のすべてのシステムを swarm クラスターに移行します

おすすめ

転載: blog.csdn.net/yiye2017zhangmu/article/details/129078016