Docker+Jenkinsによる自動デプロイの実現方法

Docker+Jenkinsによる自動デプロイの実現方法

Code Cloud を使用して Git コード ストレージ ウェアハウスを構築する

https://gitee.com/ログイン

  • Code Cloudを使用してプライベートGitリポジトリを作成する
  • ローカルの Springboot プロジェクトを Git リポジトリにアップロードします。

DockerベースのJenkins環境をインストールする

1. Dockerを使用してJenkinsをインストールする

docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

2. Jenkinsアドレス8080にアクセスする

注意: 初めて起動する場合、Jenkins が読み込まれるまでに約 3 ~ 10 分かかります。

3. Jenkinsのロックを解除する

docker exec -it 7f485bd95c3b /bin/bash jenkinsコンテナに入る cat /var/jenkins_home/secrets/initialAdminPassword 

待つのに約3〜10分かかります

新しいユーザーを作成する

Jenkins グローバルツール構成

Jenkinsコンテナに入り、$JAVA_HOMEをエコーし​​てJava環境のインストールアドレスを取得します。

JDK環境のインストール

Maven環境のインストール

Jenkinsに対応するMavenプラグインをインストールする

「システム管理」-「プラグインのインストール」を見つけ、「オプションのプラグイン」をクリックして、次のMavenプラグインバージョンを見つけます。

プラグイン名Maven 統合

JenkinsはSpringbootプロジェクトの自動デプロイメントを実装し、新しいリリースタスクを作成します

タスクのgitアカウントとパスワードを設定する

3. プロジェクトのパッケージ化

クリーンインストール

今すぐビルドをクリック

最初のビルドは、関連する依存jarパッケージをダウンロードする必要があるため、時間がかかる場合があります。

Jenkinsが正常に起動したらshllスクリプトを実行します。

#!/bin/bash
#サービス名 SERVER_NAME = springboot
# ソース jar パス。mvn パッケージ化が完了したら、ターゲット ディレクトリ内の jar パッケージ名を war パッケージとして選択することもできます。war パッケージは、Tomcat の webapps ディレクトリに移動して操作できます。ここでは、jar パッケージを使用し、java -jar コマンドを使用して JAR_NAME=springboot-0.0.1-SNAPSHOT を実行します。
# ソース jar パス #/usr/local/jenkins_home/workspace--->jenkins 作業ディレクトリ #デモ プロジェクト ディレクトリ #ターゲット パッケージで生成された jar パッケージ ディレクトリ JAR_PATH=/var/jenkins_home/workspace/springboot/target
# パッケージ化が完了したら、jar パッケージを jar パッケージが実行されるディレクトリ -->work_daemon に移動します。work_daemon ディレクトリは事前に作成しておく必要があります。JAR_WORK_PATH=/var/jenkins_home/workspace/springboot/target
 
echo "クエリプロセスID-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
echo "プロセス ID を取得: $PID"
echo "プロセスを終了"
$PIDのID
する
-9 $id を殺す 
echo "$id を強制終了しました" 
終わり
echo "終了プロセスが完了しました"
 
#jar パッケージを実行ディレクトリにコピーします echo "jar パッケージを実行ディレクトリにコピーします: cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "完全なjarパッケージのコピー"
$JAR_WORK_PATH をコピーする
#ファイルの権限を変更する chmod 755 $JAR_NAME.jar
Nohub java -jar $JAR_NAME.jar

nohubを追加すると、バックグラウンドで実行されるか、nohubと

コンテナマップポート8081

1. コンテナを再起動する

systemctl dockerを再起動します

2. 実行されていないコンテナをクリアする

docker rm $(sudo docker ps -a -q)
docker run -p 8080:8080 -p 8081:8081 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

Docker+Jenkins による自動デプロイメントに関する記事はこれで終了です。Docker+Jenkins による自動デプロイメントの詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Jenkins+Docker+Gitee+SpringBoot 自動デプロイメント
  • Docker、Nginx、Jenkins をベースにした自動フロントエンド デプロイメント
  • Docker+gitlab+jenkins は、ゼロから自動デプロイメントを構築します
  • docker+jenkins+node.js の自動デプロイメント環境をゼロから構築する方法
  • DockerはJenkinsを構築し、プロジェクトのパッケージ化とデプロイの手順を自動化します

<<:  JavaScriptは入力ボックスコンポーネントを実装します

>>:  MySQL マルチテーブルクエリの詳細な説明

推薦する

入力が完了したことを検出し、次のコンテンツを自動的に入力する HTML を実装する方法

前回の記事では、入力完了の簡単な検出を実現しましたが、今回はさらに一歩進んで、入力が完了した後に次の...

要素ツリーコントロールは、ドロップダウンメニューとアイコンを統合します(ツリー+ドロップダウン+入力)

目次要件:実装手順:この記事では主に以下について説明します: カスタムツリーコントロール<el...

Dockerコンテナ相互接続の予備的な実践についての簡単な説明

1. Dockerコンテナ間の相互接続Docker は現在、軽量の仮想化ソリューションとなっています...

Node.jsをゼロから学ぶ

目次URL モジュール1. 解析メソッド2. フォーマット方法3. 解決方法イベントモジュール(イベ...

Node+Express テストサーバーのパフォーマンス

目次1 テスト環境1.1 サーバーハードウェア1.1.1 t2.マイクロ1.1.2 c5.large...

ウェブページのテーブルの境界線を設定する方法

<br />前回は、Web テーブルにセルの線を設定する方法を学びました。今日は、Web...

DockerコンテナでPythonを実行するディープラーニング環境を構築する方法

タスク マネージャーで仮想化を確認し、有効になっている場合は仮想化を、無効になっている場合はコンピュ...

Node.js はクライアントリクエストデータ内の中国語文字化けの問題を解決します

Node.js はクライアントリクエストデータ内の中国語文字化けの問題を解決しますコード例: var...

Vueを使用してタイマー機能を実装する

この記事の例では、タイマー機能を実装するためのVueの具体的なコードを参考までに共有しています。具体...

Vueプロジェクトのパッケージ化の詳細な説明

目次1. 関連構成ケース1(使用ツールはvue-cil)ケース2(使用するツールはwebpack) ...

CentOS7環境でDockerを使ってPHP動作環境を構築する手順を詳しく解説

関連記事: CentOS7でyumを使用してDockerをインストールするDockerを使ってWin...

Dockerはターミナルで中国語を入力できない問題を解決します

序文:ある日、DockerでMySQLサービスを構築したところ、MySQLのコマンドラインで中国語の...

select count() と select count(1) の違いと実行方法

Count(*) または Count(1) または Count([column]) は、おそらく S...

Linux または Windows 環境での pytorch のインストールと検証 (runtimeerror 問題の解決)

1. pytorch公式サイトから対応するインストールファイルをダウンロードします。 https:...