Jenkins はマイクロサービス プロジェクトをデプロイします

初心者として、彼はビデオの前で古李のオンライン教育プロジェクトを作成しました。テストが完了した後、それを独自のクラウド サーバーに展開しようとしても、アイドル状態ではありません。家にもっと近い

  • はじめに
    マイクロサービス アーキテクチャでは、サービスが増えるにつれて、サービスのパッケージ化とデプロイメントがかなり面倒なものになります。たとえば、私の edu-online プロジェクトには現在、デプロイする必要があるサービスが 10 個あります。それを一度デプロイし、[実行] をクリックして自動的にデプロイする方法はありますか? もちろんありますよ!以下では、Jenkins を使用して、マイクロサービス アーキテクチャでの自動デプロイメント作業を完了します。

  • Jenkins の基本的な使用法 Jenkins の基本的な使用法については、 「Jenkins を使用してワンクリックで SpringBoot アプリケーションをパッケージ化およびデプロイする」
    を参照してください。

  • 事前準備
    ローカルプロジェクトをリモートウェアハウスにアップロードし、アイデアにgitプラグインをインストールし、gitを設定します gitの設定については、Gitのインストールと設定の全過程を参照してください ここではgiteeにアップロードしました。
    プロジェクトのフォアグラウンドを gitee にアップロードする

git pull origin master --allow-unrelated-histories
git add .
git commit -m '提交说明'
git push origin master 
  • サーバー環境の準備
    1 JDK のインストール
    この記事では jdk-8u181-linux-x64.tar.gz を使用します;
    2 maven のインストール
    この記事では apache-maven-3.6.1-bin.tar.gz を使用します
    3 nacos のインストール
    この記事ではサービス登録を使用し、リモート接続したくない場合は、すべてサーバー上に直接接続します。上記のように、nacos-server-1.4.2.tar.gz
    4 を使用して mysql をインストールします
    。これは、寿命に値しないサーバーと同様であり、とにかく期限切れが近づいています。Mysql-5.7.36-linux-glibc2.12-x86_64.tar を使用します
    5 ノードをインストールし
    、バックエンド コードをデプロイした後、ついでにフロント ページを配置します。node-v10.14.2-linux-x64.tar.gz の使用
    6 redis のインストール
    この記事では redis-5.0.5.tar.gz を使用します。非常に多くのものをインストールしてバックグラウンドで実行し、起動後にカードがインストールされていることがわかり、CPU 使用率が非常に高かったため、ジェンキンスをクリックしてデプロイするときに時間がかかりました。待つのに長い時間。
    7 httpd のインストール
    一部の Linux バージョンには Apache がすでにプリインストールされており、すでにサービスになっているため、まず httpd サービスがシステムにすでに存在するかどうかを確認します。とにかく、なぜ私のサーバーに存在しないのかわからないので、インストールしてください。詳細については、Linux での Apache (httpd) のインストール、設定、およびサービスを参照してください。
  • Jenkins のインストールと構成
    ここでは、直接面倒なので、war パッケージをダウンロードして直接実行します。war パッケージのダウンロード アドレス: war パッケージをダウンロードし、作業が完了したら実行します。warパッケージコマンドを開始する
nohup java -jar jenkins.war &

このとき、ブラウザのアクセスアドレス http://ip:8080 を開くと、jenkins にアクセスできます。初めてログインするときは、管理者パスワードを入力し、ユーザーの作成、プラグインのインストール、インスタンスの作成などを行う必要があります。ここではビデオ用に設定します。一連のJenkins のインストールと構成が
適切に完了した後、このページにアクセスしました。最初にアクセスしたときは何もありませんでした。既に構成済みです。
ここに画像の説明を挿入
ここで言及するのを忘れていた小さな問題があります。つまり、デプロイ中に、root ユーザーのデプロイは推奨されないというプロンプトが表示される可能性があり、これには権限の問題などが関係します。次に、jenkins ユーザーなどに権限操作を追加するように言いましたが、彼を無視して、
それらをすべてルートに直接アップロードしました。

  • デプロイメントを開始する
    まず、親プロジェクトのタスクを作成します。デフォルトでは Maven プロジェクトはありませんが、Maven を直接作成したい場合は、プラグインを用意してから作成することもできますが、コマンドを自分で記述するだけでフリースタイルで作成することもできます。
    到着後、
    ここに画像の説明を挿入
    Maven が調整されているため、倉庫のアドレスを設定します。ここでも直接行うほうが便利です。
    ここに画像の説明を挿入
clean package -Dmaven.test.skip=true

次に、長い間待った後、依存関係をダウンロードしてパッケージ化します。コンソール出力でエラーを確認し、変更を加えることができます。
ここに画像の説明を挿入ここに画像の説明を挿入
ここでは成功しました。
次に、モジュールを配置します。ここで使用する最も単純な方法は、ビデオ内の Docker デプロイメントを使用しません。

BUILD_ID=DONTKILLME
#!/bin/bash
#获取你想运行jar包的进程号
pid=`ps -ef | grep api_gateway-1.0-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
#如果存在则把该进程杀掉
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi
echo "复制jar包"
#把jenkins打的jar包复制到自己指定的目录下
cp  /root/.jenkins/workspace/edu_parent/infrastructure/api_gateway/target/api_gateway-1.0-SNAPSHOT.jar /usr/mydemo
echo "启动jar包"
#最后启动jar包并把日志输出到指定的文件中以便查看
nohup java -jar /usr/mydemo/api_gateway-1.0-SNAPSHOT.jar > /usr/mydemo/api_gateway.log 2>&1 & 

他のモジュールも同様であり、すべてのモジュールに対して新しいタスクを作成してビルドします。ログ ファイルを確認し
ここに画像の説明を挿入
、最後にフォアグラウンド プロジェクトをデプロイします。

#!/bin/bash
pwd
ls

node -v
npm -v
git --version
java -version

echo '构建的版本号:'${
    
    BUILD_NUMBER}
npm install
npm run build
pwd

echo '----- 以上的列出的文件是 jenkin 服务 workspace 中 vue-admin-template-master 目录下的文件-------'

echo "复制dist文件夹"
#把dist文件夹复制到httpd服务器指定的目录下
cd /var/www/html/
#mkdir vue-admin-template-master
cp -r /root/.jenkins/workspace/vue-admin-template-master/dist/* /var/www/html/vue-admin-template-master/
echo "构建完成"

サービスが起動したら、http://ip/プロジェクト名にアクセスしてアクセスできます。
ここに画像の説明を挿入
次に、サーバーにデプロイしたプロジェクトに問題なくアクセスできるようになります。

  • 最後に書きました
    卒業間近のシャオバイです、初めてプロジェクトをサーバーにデプロイします この記事は記録用です。記載漏れ等がありましたら、ご批判、修正をいただければと思います。
    春節が近づいており、安陽の感染状況も緊迫しています。私たちは4日間連続で毎日核酸検査を行っています。皆さんに良い新年を迎えられるようお祈りしています。皆さんが無事に帰国し、家族と再会できることを願っています」彼らの家族、賃金は上昇しています。

おすすめ

転載: blog.csdn.net/weixin_44834205/article/details/122458594