我遇到了一个场景,我想在自定义 Azure VM 中停止当前正在执行的 java 进程。VM 是由我们的 Infra 配置的 ubuntu 机器。
我正在构建一个 Azure - 持续部署管道,我想在其中部署 VM 中的最新版本。但在我可以部署最新的构建之前,我需要关闭之前构建的当前正在执行的 Java 进程。
我使用“SSH 上的命令”来触发带有 java 进程的进程 ID 的“kill”信号,但 Azure 禁止在管道中使用“kill”命令。
日志
==============================================================================
Task : SSH
Description : Run shell commands or a script on a remote machine using SSH
Version : 0.165.1
Author : Microsoft Corporation
Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/ssh
==============================================================================
Trying to establish an SSH connection to ***@<HOST>:22
Successfully connected.
chmod +x "./sshscript_158452036****"
"./sshscript_158452036****"
========** Stop currently executing process: 4381
##[error]./sshscript_158452036****: line 5: kill: (4381) - Operation not permitted
有没有其他方法可以优雅地关闭 Java 进程。或使用其他解决方案实现 CD。我不打算对部署进行 Dockerize 化。
谢谢 !