Jenkins执行 bat 时, bat 中的命令putty.exe未执行

e37o9pze  于 2023-03-17  发布在  Jenkins
关注(0)|答案(1)|浏览(233)

我使用putty创建了一个通过ssh连接到remove服务器的bat文件。
我有以下管道

"pipeline"{
   "agent any
triggers"{
      "pollSCM(""* * * * *"")"
   }"stages"{
      "stage(""Checkout"")"{
         "steps"{
            "git url":"https://github.com/example.git",
            "branch":"main"
         }
      }"stage(""Push image"")"{
         "steps"{
            "Dockerfile.bat"
         }
      }
   }"post"{
      "always"{
         "mail to":"example@gmail.com",
         "subject":"Completed Pipeline: ${currentBuild.fullDisplayName}",
         "body":"Your build completed, please check: ${env.BUILD_URL}"
      }

当我通过双击我的系统来执行dockeridobat时。所有的命令都在远程服务器上成功执行,它连接并做所有的事情。
当我运行我的管道时,putty命令没有被执行,所有其他命令都被执行。
我的 bat 文件是这样的

docker login -u dockeruser -p somepassword
docker rmi frombat
docker build -t frombat --file Dockerfile .
docker tag frombat mydockrep/myimage
docker push mydockrep/myimage
start C:\\putty\\putty.exe -ssh 100.200.300.400 -l root -pw somepassword -m substituir_imagem.txt

替换图像是这样的。

docker rmi mydockrep/myimage --force
mkdir /var/jenkins
docker run -d -p 80:3000 mydockrep/myimage
kyks70gy

kyks70gy1#

你有任何日志错误吗?
您是否尝试过使用bat步骤而不是调用bat文件来粘贴管道中的命令?
您是否尝试过在没有“start”命令的情况下调用“putty”?如果它启动了一个新线程,则可能是它导致了问题

相关问题