springBootはJenkinsを統合して、自動展開を実現します(centos7&windows、jenkinsの強制終了を防止するスクリプトをカバー)
1つは、Jenkinsをインストールする
//下载安装
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
2つ目は、構成を変更する
//修改配置1 找到 JENKINS_USER 和JENKINS_PORT ,修改为root和你需要的端口
vi /etc/sysconfig/jenkins
JENKINS_USER="root"
JENKINS_PORT="8001"
// 修改配置2 找到candidates后面改为你的jdk路径
vi /etc/rc.d/init.d/jenkins
3、開始
service jenkins start
service jenkins stop
service jenkins restart
4.ブラウザに「ip + port」と入力して、jenkinsを設定します
- ホーム
- プロンプトパスをコピーして、初期パスワードを見つけます
//复制密码输入
cat /var/lib/jenkins/secrets/initialAdminPassword
3.インストールを直接お勧めします。お待ちください...
4。ユーザーを作成します
- 正常にインストールされました
5、Jenkins maven、jdk環境構成
- ManageJenkinsでjdkとmavenを構成します
- JDK(自動インストールをキャンセルして独自のパスを入力してください)
- MAVEN(自動インストールをキャンセルして独自のパスを入力してください)
- mavenプラグインをインストールし、インストール後に再起動します
6.新しい春のブートプロジェクト
- 新しい春のブートデモを作成します。
- 任意のコントローラー
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@RequestMapping("/")
@ResponseBody
public String hello() {
return "Hello, SpringBoot 2";
}
}
3.gitリポジトリにアップロードします。ここでアップロードするのはgiteeです。
7、タスクを作成して実行します
- 新しい仕事
- プロジェクト名を入力し、mavenプロジェクトを選択します
- 一般
- ソースコード管理、gitの構成、およびgitアカウントのパスワードの入力。
- ビルドトリガー
- BuildAdvancedでmaven構成ファイルを変更できます
clean install -Dmaven.test.skip -U
//如需要选择分支打包详情参照:https://blog.csdn.net/qq_39231769/article/details/109311606
clean package -P dev
7.ステップを投稿する
- 実行シェルを追加し、jarパッケージ名を変更するように注意し、パスが存在することを確認します
#!/bin/bash
#export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。
export BUILD_ID=dontKillMe
#指定最后编译好的jar存放的位置
www_path=/out
#Jenkins中编译好的jar位置
jar_path=/var/lib/jenkins/workspace/demo/target
#Jenkins中编译好的jar名称
jar_name=demo-0.0.1.jar
#获取运行编译好的进程ID,便于我们在重新部署项目的时候先杀掉以前的进程
pid=$(cat /out/demo.pid)
#进入指定的编译好的jar的位置
cd ${jar_path}
#将编译好的jar复制到最后指定的位置
cp ${jar_path}/${jar_name} ${www_path}
#进入最后指定存放jar的位置
cd ${www_path}
#杀掉以前可能启动的项目进程
kill -9 ${pid}
#启动jar,指定SpringBoot后台启动
nohup java -jar ${jar_name} &
#将进程ID存入到shaw-web.pid文件中
echo $! > /out/demo.pid
8.プロジェクトを保存してビルドします
- プロジェクトをビルドする
- ビルド履歴をクリックして、コンソール出力を確認します
- プロジェクトにアクセスして、正常にデプロイします
- 追加コンテンツ:
Windowsバージョンのインストール
- 手順は基本的にセントスに似ていますが、いくつかの注意事項があります。
- ダウンロードリンク
- インストール、起動、およびパスワード変更のプロセスは省略されています。セントスに似ています。
- 注1:サーバーのgitディレクトリにあるsh.exeファイルパスへのシェルパスを構成します。
- 注2:新しいプロジェクトを追加するときは、投稿ステップをウィンドウのバッチに設定する必要があります
- 注3:実行スクリプトの違い
@echo off
setlocal enabledelayedexpansion
::设置端口
set PORT=8082
:: 设置生成路径
set OLD_PATH=C:\Windows\system32\config\systemprofile\AppData\Local\Jenkins\.jenkins\workspace\gtoa\target
:: 设置新的存放路径
set NEW_PATH=C:\out
:: 设置jar包名
set JAR_NAME=gtoa-0.0.1-SNAPSHOT.jar
::set /p port=Please enter the port :
for /f "tokens=1-5" %%a in ('netstat -ano ^| find ":%PORT%"') do (
if "%%e%" == "" (
set pid=%%d
) else (
set pid=%%e
)
echo !pid!
taskkill /f /pid !pid!
)
::复制文件
XCOPY %OLD_PATH%\%JAR_NAME% "%NEW_PATH%" /y
::防止启动后被杀死进程
set BUILD_ID=dontKillMe
::启动jar包
start javaw -jar %NEW_PATH%\%JAR_NAME%