当前位置: 首页 > 知识库问答 >
问题:

SSH并执行CI命令

吕翰飞
2023-03-14

我有一个CircleCI配置,它的末尾有一个部署脚本。该命令应该SSH到服务器中,移动到目录并执行NPM脚本。看起来是这样的:

ssh -o StrictHostKeyChecking=no ubuntu@xx.xx.xx.xx "cd /var/www/example.com && npm run restart_qa"

这将引发以下错误:

bash: npm: command not found

这表示服务器上没有安装NPM,但它安装了。为了测试这一点,如果我单独运行这些命令,它们就可以工作。

ssh -o StrictHostKeyChecking=no ubuntu@xx.xx.xx.xx
cd /var/www/example.com
npm run restart_qa

那么这里有什么问题?

共有1个答案

邢雨华
2023-03-14

原来这与npm和节点的安装路径有关。我使用NVM安装了这两个,所以它们不在外壳脚本预期的位置。为了解决这个问题,我做了以下工作:

sudo ln -s /home/ubuntu/.nvm/versions/node/v10.13.0/bin/npm /usr/local/bin/npm
sudo ln -s /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node /usr/local/bin/node
 类似资料:
  • 本文向大家介绍Python实现ssh批量登录并执行命令,包括了Python实现ssh批量登录并执行命令的使用技巧和注意事项,需要的朋友参考一下 局域网内有一百多台电脑,全部都是linux操作系统,所有电脑配置相同,系统完全相同(包括用户名和密码),ip地址是自动分配的。现在有个任务是在这些电脑上执行某些命令,者说进行某些操作,比如安装某些软件,拷贝某些文件,批量关机等。如果一台一台得手工去操作,费

  • 问题内容: 我正在编写一个脚本来自动化Python中的某些命令行命令。目前,我正在打电话: 但是我需要在远程计算机上运行一些命令。手动地,我将使用ssh登录,然后运行命令。我将如何在Python中自动执行此操作?我需要使用(已知)密码登录到远程计算机,所以我不能只使用,我想知道是否应该使用一个模块? 问题答案:

  • 我试图在unix中使用JSCHSSH类(com.jcraft.jsch)执行一些工具。我的工具有一个选择菜单。我需要转到工具所在的文件夹,执行它并选择请求的选项。在每个命令之后,(cd,execute,…)我希望检查输出并检查状态代码(0/1)。我有下面的代码按预期执行它,但在这段代码中,我找不到一种方法来检查每个命令后的输出。 我无法找到一种方法,但我怎么能分开的命令,并打印他们一个接一个(在同

  • 但当我从詹金斯的工作中运行它时,它不在那里 path=/usr/local/sbin://usr/local/bin://usr/sbin://usr/bin://sbin://usr/games://usr/local/games_=/usr/bin/

  • 问题内容: 我有两个问题: 有多台远程linux机器,我需要编写一个shell脚本,它将在每台机器上执行相同的命令集。(包括一些sudo操作)。如何使用Shell脚本来完成? 切换到远程计算机时,提示输入RSA指纹认证时如何处理。 远程机器是在运行中创建的VM,我只有它们的IP。因此,我无法事先在这些计算机中放置脚本文件并从我的计算机中执行它们。 问题答案: 有多台远程linux机器,我需要编写一

  • 问题内容: 我使用的朋友服务器仅允许一个用户从SSH登录,因此通常我只是以该用户身份登录,然后执行更改帐户的操作。我想使用Python自动执行一些无聊的工作,但是我遇到了问题。显然,我首先尝试过的Paramiko模块为每个命令调用了一个shell,所以这是不可能的。后来我尝试使用克服它,但是仍然失败了(我想是因为更改用户也会更改shell)。 之后,我发现了有关Fabric模块的信息,但最好的办法