docker では、ci は継続的インテグレーション (Continuous Integration)、cd は継続的デプロイメント (Continuous Deployment) を指し、「CI/CD」はアプリケーション開発フェーズで頻繁に自動化を導入する手法です。顧客がアプリケーションを提供する方法の概念は、継続的インテグレーション、継続的デリバリー、継続的デプロイメントです。
このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。
CI 継続的インテグレーション (継続的インテグレーション)
#CD 継続的デプロイメント
CI/CD は、アプリケーション開発フェーズ中に自動化を導入することで、アプリケーションを顧客に頻繁に配信する方法です。 CI/CD の中核となる概念は、継続的インテグレーション、継続的デリバリー、継続的デプロイメントです。開発チームと運用チームのためのソリューションとして、CI/CD は新しいコードを統合するときに発生する問題を対象としています。具体的には、CI/CD により、アプリケーションのライフサイクル全体 (統合とテストの段階から配信と展開まで) を通じて継続的な自動化と継続的な監視が可能になります。これらの関連する取り組みは、総称して「CI/CD パイプライン」と呼ばれることが多く、開発チームと運用チームによってアジャイルな方法で協力してサポートされます。
継続的インテグレーションとは何ですか?
私たちが使用する開発ツールは一般に IDE と呼ばれ、文字通り統合開発環境と訳されます。人間の言葉で言えば、継続的インテグレーションとは、コードを送信した後に再コンパイルしてパッケージ化する必要がないことを意味しますあなた自身。
Gitlab には WebHook という機能があり、コードをアップロードすると、WebHook で指定した URL にコードの更新を通知してくれる機能です。実はこの機能は自分で書くのも簡単です新しいコードがプッシュされると、更新が通知されます。新しいコードをプルし、コンパイルしてパッケージ化するのは難しくありません。
WEBHOOK を使用する以外に、Gitlab に付属の CI/CD も非常に便利ですが、GitRunner をインストールする必要があります。
ポーリング スキャン方法も実装できます。
継続的デプロイメントとは何ですか?
複数のサーバーがある場合、パッケージ化されたコードを 1 つずつサーバーにアップロードし、サービスを再実行する必要があります。これは人的資源と時間の無駄です。継続的デプロイメントの目的手を自由にすることです。
知識の拡大
Jenkins は、オープンソース CI&CD ソフトウェアのリーダーであり、要件を満たすビルド、デプロイメント、自動化をサポートする 1,000 以上のプラグインを提供しています。あらゆるプロジェクトのニーズに対応します。
これは、CICD の実行を支援するために使用されます。使用できるプラグインは多数あります。Tomcat を介してデプロイする場合でも、ssh を介して jar パッケージを実行する場合でも、php プロジェクトを実行する場合でも、実装できます。実際、自分で書くことも可能ですが、役立つものがあるので、自分で書かないでください。
docker
Docker は、開発者がアプリケーションと依存関係をポータブル コンテナにパッケージ化し、仮想化を実装できるオープン ソース アプリケーション コンテナ エンジンです。一般的な Linux マシンまたは Windows マシン上でコンテナは完全にサンドボックス メカニズムを使用しており、相互にインターフェイスを持ちません。
私の個人的な意見は、docker 自体がコンテナーをベースにしているため、仮想マシンのような不要なリソースを消費せず、複数のプラットフォームでの移行が容易で、異なるオペレーティング環境を必要としないためです。コンテナという概念の登場。
docker compose
php には php コンポーザーがあります。php に精通していれば、docker compose が何をするのか簡単に理解できるはずです。実行するイメージが複数あり、複数の dockerfile を作成した場合は、docker build でイメージを 1 つずつ作成し、docker run で 1 つずつ実行する必要があります。
docker compose の機能は、dockerfile を記述してから、compose yml を記述するだけでよいということです。1 つのコマンドで、イメージを直接作成して実行できるため、多くの作業が節約され、次のことが可能になります。サービスの概念を構成によりよく反映します。
docker swarm
Docker クラスター。複数のサーバーがあり、同時に docker がインストールされている場合、docker swarm を使用します。その機能は Docker を統合することです。これらのサーバーを管理する は、実際に swarm クラスターを使用した後、サービスの概念を支持し始めています。
推奨される学習: 「docker ビデオ チュートリアル 」
以上がdocker における ci と cd は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。