docker+jenkins で自動デプロイを実現

初期準備作業

作業者が良い仕事をしたいなら、まず道具を研ぐ必要があるため、準備作業をしっかりと行う必要があります。では、自動展開を実現するには事前に何を準備する必要がありますか? 「ははは、友人の中には、独自のサーバーが必要であることをすでに推測しているかもしれません。ここのブロガーは、Tencent Cloud から軽量サーバーを購入するのに十分です。割引が終わったら、たったの 100 元しかかかりません。Alibaba の購入を検討することもできます」クラウドまたは仮想マシンを使用して自動デプロイメントの環境を構築します。

Tencent クラウドサーバー:購入

インストール

1. 最初に Docker 環境をインストールします

サーバーの購入時に Docker 環境を選択した場合、最初にサーバーに Docker 環境をインストールする必要はありません。最初に Docker 環境をインストールしていない場合は、ブロガーの記事を参照してください。 docker. この記事では、最初に docker 環境をインストールします。

2. docker-compose 配置方法を使用して、ゲートウェイ、docker のグラフィカル管理インターフェイス porttainer、jenkins、java、mysql、および nginx を順番にインストールします。

例: 以下の図に示すように
ここに画像の説明を挿入

ここに画像の説明を挿入
ここに画像の説明を挿入

ここに画像の説明を挿入
ここに画像の説明を挿入

3. Dockerイメージ管理ツールporttainerの初期化

Porttainer グラフィカル管理ツールをインストールすると、次の図に示すように、Docker にデプロイされたコンテナーを管理し、パブリック ネットワーク IP を介して公開ポートにアクセスし、ホスト マシンをバインドできるようになります。
ここに画像の説明を挿入

4.ジェンキンスの初期化

portainerなどのjenkinsをインストールした後は、公開されたポート経由でアクセスすることもできますが、最初にjenkinsを入力するときに、jenkinsのロックを解除するためにサーバーからjenkinsの初期パスワードを取得する必要があります

ここに画像の説明を挿入
Web ページでパスワードを入力して続行します。次に必要なプラグインを選択していきますが、初回は推奨プラグインをインストールするだけです。
ここに画像の説明を挿入

ここに画像の説明を挿入

ネットワーク上の理由でインストールが失敗した場合は、「再試行」ボタンをクリックして再試行できます。

次に、新しいユーザーを作成します。または、新しいユーザーを作成せずに admin を直接使用することもできます。

ここに画像の説明を挿入
Jenkins のアクセス アドレスを設定します。

ここに画像の説明を挿入

設定が完了したら、「保存して終了」ボタンをクリックします。その後、Jenkins に入ることができます。

一部のプラグインを有効にするには再起動が必要になるため、プロセス全体が完了したら、グラフィカル管理ツールを使用して Jenkins を再起動することをお勧めします。

4.1 プラグインをインストールする

Jenkins が正常に起動したら、必要なプラグインをインストールしましょう。

  • Maven 統合: Maven ビルド ツール
  • SSH 経由で公開: 将来的には、ツール全体が Jenkins によってパッケージ化された jar をアプリケーション サーバーにアップロードします。
  • Gitee: Gitee リポジトリの使用に関するサポート。
  • 地元
  • バックアップ
  • ビルドプラグインの失敗

インストール手順は次のとおりです。

ここに画像の説明を挿入
次に、オプションのプラグインで、Maven Integration や Publish Over SSH and Gitee などのプラグインを検索します。

ここに画像の説明を挿入
検索が完了したら、「再起動せずにインストール」をクリックします。

インストールが成功したら、Jenkins を再起動します。

ここに画像の説明を挿入
再起動するには docker restart jenkins を実行することをお勧めします。Web ページで [再起動] をクリックします。長時間スタックするため、docker restart コマンドを実行する方が確実です。

4.2 ジェンキンスの設定

プラグインが正常にインストールされたら、Jenkins の構成を開始しますが、正式に構成を開始する前に、少し準備作業を行う必要があります。

そのためには事前にMavenを用意する必要がありますが、サーバーにはすでにjdkを用意しているので、事前にMavenを用意するだけで済みます。権限の問題を回避するために、Maven を jenkins コンテナーに直接アップロードして、構成することができます。

次のように、ホスト マシンの Maven を Jenkins コンテナにコピーします。

次に、構成を開始できます。構成の場所は次のとおりです。

ここに画像の説明を挿入
名前は任意で、MAVEN_HOME はサーバー コンテナーにアップロードされたばかりの MAVEN ディレクトリです。

4.3 git の設定

Git を構成します。git はすでに Jenkins コンテナーに存在するため、ここに git をインストールする必要はありません。デフォルトで十分です。

ここに画像の説明を挿入
すべて設定したら、「保存」ボタンをクリックします。

4.4 リモート認証情報の構成

4.4.1 アプリケーションサーバー情報

アプリケーション サーバーは、将来 Jenkins がコードを jar パッケージにビルドした後にアップロードされるサーバーの情報 (アドレス、ユーザー名、パスワード) です。

構成手順は次のとおりです。まず、構成の場所を見つけます。

ここに画像の説明を挿入
下にスクロールして「SSH 経由で公開」を見つけ、「追加」をクリックして構成を開始し、「ホスト名」の位置にサーバーのドメイン名または IP を入力します。構成が成功したら、「接続のテスト」をクリックして接続が成功することをテストします
ここに画像の説明を挿入

一部の小規模パートナーは、ここでのユーザー名とパスワードにより、jar パッケージのアップロードに失敗すると報告しています。アプリケーション サーバーで ssh キー ペアを生成し、Jenkins に秘密キーを設定する必要があります。ここに戻って変更できます。 )。

4.4.2 資格情報の構成

これらの認証情報に基づいて、Gitee、gitlab、コード クラウドなどからコードを取得し、[追加] -> [Jenkins] をクリックして認証情報を追加できます。

ここに画像の説明を挿入

5. プロジェクトのビルドを開始する

まず新しいタスクを作成します
ここに画像の説明を挿入

次に、Maven プロジェクトをビルドすることを選択し
ここに画像の説明を挿入
、「OK」をクリックした後、それをソース コード管理の場所にプルし、構成を開始します。

まず Git を選択し、gitee/gitlab/code cloud 上のウェアハウスのアドレスを入力し、資格情報として gitee/gitlab/code cloud のユーザー名とパスワードを書き込みます。

ここに画像の説明を挿入

以前に構成したグローバル認証情報を選択します

ここに画像の説明を挿入
次に、プロジェクトのビルド コマンドを入力します。Jenkins が今後 Gitee からコードをプルした後、このコマンドを実行してプロジェクトをパッケージ化します。最後に、
ここに画像の説明を挿入
ビルドされたファイルを構成してアップロードし、次のように開始コマンドを実行します。
ここに画像の説明を挿入
ここに画像の説明を挿入

上図の構成に従って、root ユーザーを使用してログインします。root ログインが成功すると、デフォルトで /root ディレクトリに入り、その後自動的にデータ ディレクトリに入り、jar パッケージが作成されます。この場所にアップロードされました。

次に、/root/docker-develop/project/test ディレクトリに、restun-consumer-admin.yml という整然としたファイルをアプリケーション サーバー上に事前に用意します。このファイルの内容は次のとおりです。

ここに画像の説明を挿入
この時点で、このプロジェクトの構成は完了です。

保存後、「Build Now」ボタンをクリックしてビルドを開始します。
ここに画像の説明を挿入

ビルドを開始した後、ビルド ボタンをクリックしてビルド プロセスを表示できます。

ここに画像の説明を挿入
コンソール出力をクリックすると、ビルド プロセス全体が表示されます。ここに画像の説明を挿入
ビルドが完了すると、Docker グラフィカル管理ツールを通じて、アプリケーションが実行されたことがわかります。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_16467435/article/details/129526515