ビッグバトラーのジェンキンス(2人)に会い、SpringBootプロジェクトを展開する

プログラミングが好きなあなたのように!
SpringBoot実用的なコースは学習https://edu.csdn.net/course/detail/31433
SpringCloud入門コースを学びhttps://edu.csdn.net/course/detail/31451を


概要概要

この記事では、Jenkinsを使用してSpringBootプロジェクトをデプロイするプロセスを紹介します。プロジェクトはGithubに保存されます。コードが送信されると、プロジェクトはコードを自動的にプルしてビルドし、Jenkinsを介して自動的にデプロイできます。

Jenkinsの構成

Jenkinsの構成ファイルは/ etc / sysconfig / jenkinsにあり
ます。個人的なニーズによっては、次の構成は必要ありません。
Jenkinsのユーザーをrootに変更すると、アクセス権が強化され、使い
ここに写真の説明を挿入
やすくなります。ポートを変更しました。デフォルトのポート8080は競合する傾向があります。
ここに写真の説明を挿入

Jenkinsカタログ

Jenkinsディレクトリを導入します。ビルドスクリプトで使用される
Jenkinsのメインディレクトリ/ var / lib / jenkins
です。


  • ジョブディレクトリが作成したジョブ
  • ログはログを
    保存します
  • ノード
    展開ノード
  • プラグイン
    ディレクトリ
  • シークレット
    キーディレクトリ
  • ワークスペース
    プロジェクトによって構築されたワークスペース

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

[Jenkinsの管理]> [プラグインの管理]をクリック
ここに写真の説明を挿入
して、オプションのプラグインでプラグインを検索し、
ここに写真の説明を挿入
インストール後にJenkinsを再起動します。GitおよびMaven統合プラグインプラグインをインストールする必要があります。
ここに写真の説明を挿入
ここに写真の説明を挿入

Webhook構成

1)Githubプロジェクトウェアハウスに移動し、設定でWebhookをWebhookに追加します
ここに写真の説明を挿入

2)
ペイロードURLで次のIPとポートをJenkinsのアドレスになるように構成しますここに写真の説明を挿入
。3)資格情報を追加します
。Gibhubの個人構成で、[開発者構成]をクリックします。
ここに写真の説明を挿入

トークンを追加し、
ここに写真の説明を挿入
以下の権限確認して
ここに写真の説明を挿入
、生成された秘密鍵コピーします。後で必要になります
ここに写真の説明を挿入

展開タスクを作成する

1)新しいMavenプロジェクトを作成します
ここに写真の説明を挿入
2)プロジェクトの説明を追加します。古いビルドを破棄してディスクスペースを節約することを選択できます
ここに写真の説明を挿入
3)ソースコード管理にGitリポジトリアドレスを追加します
プロジェクトがデプロイされると、最新のコードがgitからプルされます
ここに写真の説明を挿入
4)次に資格情報追加資格情報、これがGithubアカウントとパスワードです
ここに写真の説明を挿入
5)ビルドトリガー、最初のトリガーはスナップショットバージョンのビルド後にトリガーされ、2番目のトリガーはコードの送信後にWe​​bhookによってトリガーされます
ここに写真の説明を挿入
6)選択ビルド環境で秘密のテキストを使用して、秘密のテキストをクリックして、秘密のテキストの資格情報と追加
ここに写真の説明を挿入
ここに写真の説明を挿入
のGitHubで生成された秘密鍵で塗りつぶしを
ここに写真の説明を挿入
7)前の手順は、
コマンドの行を追加し、テストスキップ
ここに写真の説明を挿入
8)後のステップ
入力シェルスクリプト
ここに写真の説明を挿入
このシェルスクリプトは、デプロイメントの焦点
注:この場合、Jenkinsとデプロイメントプロジェクトの両方が同じサーバー上にあります。
まず、サーバーの/ usr / localの下にデプロイメントプロジェクトのディレクトリとしてjenkins / oaディレクトリを作成します

#!/bin/bash
# 切换到部署目录
cd /usr/local/jenkins/oa
echo "Stopping SpringBoot Application"
# 查找到之前jar文件运行的pid,干掉之前的进程
pid=`ps -ef | grep oa-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi
# 从jenkins的workspace中把刚生成的jar文件覆盖oa目录下原来的jar文件
mv /var/lib/jenkins/workspace/DeployOA/target/oa-0.0.1-SNAPSHOT.jar /usr/local/jenkins/oa/oa-0.0.1-SNAPSHOT.jar
# 重新运行新的jar文件
BUILD_ID=dontKillMe nohup java -jar /usr/local/jenkins/oa/oa-0.0.1-SNAPSHOT.jar &

9)ビルド設定でメールボックスを設定でき、ビルド後にメール通知が送信されます。
ここに写真の説明を挿入
最後にタスクを保存して設定を完了します

展開プロジェクトのテスト

元のプロジェクトに簡単なテストコードを追加します

@RestController
public class HelloController
{
    @GetMapping("/hello")
    public String hello(){
        return "Hello Jenkins!!";
    }
}

コードをGithubに送信
ここに写真の説明を挿入
し、新しく作成されたビルドタスククリックします。左下のビルド履歴で、最新のビルドステータスを確認できます。コンソール出力をクリックします。
ここに写真の説明を挿入
コンソール出力で、シェルスクリプトの実行と最終ステータス
ここに写真の説明を挿入
。効果は、送信された最新のコードです。
ここに写真の説明を挿入

終わり

上記は、Jenkinsを使用してSpringBootプロジェクトを自動的にデプロイするプロセスを記録しています。将来的には、新たなメリットがあり、ブログ投稿に記録され、全員と学びます。
役に立つと思ったら、それと同じように。質問があれば、一緒に話すことができます。


他のJavaの知識を学ぶ必要がある場合は、ここでJavaの概要に関する非常に詳細な知識を調べてください。

おすすめ

転載: blog.csdn.net/u013343114/article/details/111868141