Jenkins + Docker + Maven + Windows のリモート Linux サーバーへの Spring Boot プログラムのワンクリック デプロイメント
記事ディレクトリ
1. 準備
1. 環境
- ネイティブ: Windows 10;
- ローカル: Jenkins + Publish Over SSH プラグイン。
- ローカル: Maven;
- リモート: Linux;
- リモート: ドッカー;
2. 基本的なプロセス
準備手順
- Dockerfile を使用してイメージをビルドします。
基本的な考え方
-
最初のステップ:
mvn clean package -DskipTests
Spring Boot プログラムを jar パッケージとしてパッケージ化するために使用します。 -
ステップ 2: Windows コマンドを使用して、jar パッケージを jenkins プロジェクトの作業ディレクトリにコピーします。
-
ステップ 3: Publish Over SSH プラグインを使用して、jar パッケージをリモート Linux
/home/zibo/docker/video/app
ディレクトリに送信します。 -
ステップ 4: Publish Over SSH プラグインを使用して
docker restart video-app
ビデオアプリコンテナを実行し、再起動します。イメージをビルドする必要があります。初めてコンテナを起動する場合は、最初にコンテナを起動する必要があります。以下の関連コマンドを参照してください。
3. 関連コマンド
### 镜像方式启动
# 构建镜像
docker build -t video-app-image .
# 删除镜像
docker rmi video-app-image
# 启动容器
docker run -itd -p 8081:8080 -v /home/zibo/docker/video/app:/app --name video-app video-app-image
# 重启容器
docker restart video-app
# 删除容器
docker rm video-app
# 查看实时日志
docker logs -f video-app
# 进入容器内部
docker exec -it video-app /bin/bash
# 离开容器
exit
4.ドッカーファイル
# 该镜像需要依赖的基础镜像
FROM openjdk:17-jdk
# 创建挂载点
VOLUME /app
# 定义工作目录为/app,命令在此目录下执行
WORKDIR /app
# 指定docker容器启动时运行jar包,并将端口设置为8080
ENTRYPOINT ["java", "-jar", "-Dserver.port=8080", "app.jar"]
# 指定端口 8080
EXPOSE 8080
# 指定维护者的名字为zibo
LABEL maintainer="zibo"
5. リモートサーバーを設定し、Publish Over SSH プラグインをインストールして使用します。
前の記事を参照
Jenkins がリモート サーバーにファイルを送信する: SSH 経由で公開プラグイン
https://blog.csdn.net/qq_29689343/article/details/131349578
2.ジェンキンスプロジェクト
1.Freestyle project
プロジェクトを作成する
2. 施工手順
ステップ 1: 梱包
D:
cd D:\MyFile\GitHub\perfect-video
mvn clean package -DskipTests
アイコン
ステップ 2: ファイルをコピーする
xcopy /y D:\MyFile\GitHub\perfect-video\target\app.jar C:\ProgramData\Jenkins\.jenkins\workspace\perfect-video
アイコン