Spring プロジェクトの迅速な実装 Docker に基づく Gitlab 自動デプロイメント

序文

デプロイは反復的で退屈なものですが、CI/CD の継続的インテグレーションと継続的デリバリーについては誰もが聞いたことがあると思います。この記事は、プロジェクトの自動デプロイを迅速に実現するために、Gitlab CI/CD と Docker に基づいています。このソリューションは Git と緊密に統合でき、追加のツールを使用せずにコードの送信後に自動構築とデプロイメントを実現できます。

準備

まずは以下の 3 つのソフトウェアをインストールしてください。ソフトウェアのインストールについては、以下の参考リンクを参照して、順番にインストールすることをお勧めします。

  1. Docker:インストールのチュートリアル;
  2. Gitlab:インストールチュートリアル;
  3. GitlabRunner:インストール チュートリアル;

メインプロセス

私たちの主なプロセスは、Gitlab を通じてコードを管理し、Gitlab に付属する Gitlab CI/CD 関数を使用して GitlabRunner に登録してバインドすることです。バインドが成功した後は、コードが送信されるたびに、GitlabRunner がトリガーされて対応するスクリプト プログラムが実行され、自動デプロイメントが実現されます。
ここに画像の説明を挿入

GitlabRunner の登録

  1. 自動的にデプロイする必要がある Gitlab ウェアハウスを開き、[設定] - [CI/CD] - [ランナー] を選択します。
    ここに画像の説明を挿入
  2. 以下の図に示すように、後で GitlabRunner を登録するときに使用される 2 つの最も重要な情報が表示されます。覚えておいてください。
    ここに画像の説明を挿入
  3. GitlabRunner 登録
    コマンド ガイド:gitlab-runner register登録、gitlab-runner list登録済みランナーの表示、gitlab-runner unregister --all-runnersすべての登録のキャンセル。
    まず、最初にランナーを登録し、ランナーに (何でも) 名前を付けます。ここでは「こんにちは、スプリング ブーツ!」と名前を付けます。次に、ランナーのタグを入力します。タグを使用して、ランナーごとにプロジェクトのさまざまな段階を区別できます。実行するには、ここに入力します: maven; 最後に、実行するスクリプトを入力します。ここではシェルを使用します。
    ここに画像の説明を挿入
    登録が成功したら、Gitlab ページを更新してみましょう。登録が成功したことがわかります。
    ここに画像の説明を挿入

制作脚本

コードを送信した後、シェル スクリプトを使用してビルドとデプロイメントを制御するにはどうすればよいですか? Gitlab から提供されたテンプレートでは、.gitlab-ci.ymlウェアハウスのルート ディレクトリに次の名前のファイルを作成します。ここで SpringBoot プロジェクトを実行するので、内容は次のとおりです。

stages:
  - build
  - deploy_test
#  - clean
# 打包镜像
build:
  stage: build
  only:
    - master
  script:
    - $MAVEN_HOME/bin/mvn clean package -U '-Dmaven.test.skip=true'
    - cp target/GitlabRunnerTest-0.0.1-SNAPSHOT.jar docker/
    - cd docker
    - docker build -t test/gitlabrunner:v1.0.0 .
  tags:
    - maven
# 部署测试服务器
deploy_test:
  stage: deploy_test
  only:
    - master
  script:
    - cd docker
    - docker-compose down
    - docker-compose up -d
  tags:
    - maven
#清理虚悬镜像
#clean:
#  stage: clean
#  only:
#    - master
#  script:
#    - docker rmi $(docker images -q -f dangling=true)
#  tags:
#    - maven

次に、ルート ディレクトリに Docker フォルダーを作成し、Dockerfile を作成します。

FROM openjdk:11
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp

docker-compose.yml を作成する

version: '3.1'
services:
  education-course:
    container_name: test-gitlabrunner
    restart: always
    image: test/gitlabrunner:v1.0.0
    network_mode: "host"
    command: java -jar -Xms1024m -Xmx1024m -Duser.timezone=GMT+08 GitlabRunnerTest-0.0.1-SNAPSHOT.jar --spring.profiles.active=test

全体的なプロジェクトのディレクトリ構造は次のとおりです。
ここに画像の説明を挿入

確認

完了したら、コードをアップロードし、CI/CD パイプラインで実行が成功したかどうかを確認できます。
ここに画像の説明を挿入
ご覧のとおり、ビルドは成功しました。アクセスしてみましょう。
ここに画像の説明を挿入
おめでとうございます。正常にデプロイされました。コード内の GIt 送信を変更して、自動デプロイメントの効果を確認してみることができます。

おすすめ

転載: blog.csdn.net/u012558210/article/details/117955770