Jenkins はプロジェクトをリモート Docker コンテナにデプロイします

  1. Publish Over SSH プラグインをインストールします。オンライン インストールが遅い場合は、オフライン インストールを使用できます。
    ここに画像の説明を挿入

  2. SSH を構成するには、図に示すように、システム管理 - システム構成でリモート サーバー ssh を構成します:
    サーバー パスワードの構成ここに画像の説明を挿入
    [追加] をクリックして ssh 接続アドレスを構成します。プロキシ アクセスが必要な場合は、[詳細] をクリックします。
    ここに画像の説明を挿入テストサーバー構成
    ここに画像の説明を挿入

  3. プロジェクト ssh を構成し
    ここに画像の説明を挿入
    、「Send build artifacts over SSH」を選択してリモートサーバーと、ビルド操作後にアップロードされるファイルを構成します。
    ここに画像の説明を挿入
    たとえば、サーバーにアップロードした後のファイルディレクトリは /root/source/hzdsn-hyt-0.0 です。 1-SNAPSHOT.jar および /root/source/classes/Dockerfile

  4. リモート サーバー上で実行されるシェル スクリプトを作成する

#!/bin/bash
echo "上传远程服务器成功"
#定义项目名和端口,我这里项目名即为容器名和镜像名,可按需定制
PROJECTNAME="hzdsn-hyt"
#该端口为Docker宿主机端口
PORT=8131
pwd
ls -l
#切换到/root/source目录,此目录结构为
#--hzdsn-hyt-0.0.1-SNAPSHOT.jar
#--classes/Dockerfile
#因此需要复制Dockerfile到source目录下
cd /root/source
ls -l
#重命名jar文件(强迫症选项)
cp "$PROJECTNAME"-0.0.1-SNAPSHOT.jar app.jar
echo "重命名文件app.jar"
#复制Dockerfile到source目录下
cp ./classes/Dockerfile ./Dockerfile
echo "复制Dockerfile成功"
ls -l
#构建镜像
echo "开始构建镜像文件"
docker build -t $PROJECTNAME . 
echo "构筑镜像结束"
{
    
     # try
#删除已有容器
  docker rm  -f  $PROJECTNAME
} || {
    
     # catch
  echo "容器不存在"
}
#创建并运行容器
docker run --name "$PROJECTNAME" --restart=always -d -p ${
    
    PORT}:8080 $PROJECTNAME
echo "创建容器成功"
  1. プロジェクト構成を確認し、「今すぐビルド」をクリックすると、コンソール出力は次のようになります。
    ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/wyanyi/article/details/117079722