代码发送到其他机器打包问题 (OD-269)
兰建青 opened 5 years ago

我想通过一下命令实现在目标机器上打包,代码成功拷贝过去了,但是执行打包的时候不是目标主机在打包,而是onedev镜像在打包,我想实现代码拷贝到目标机器上后让目标机器自行打包,如下: ssh root@@192.168.0.1 rm -rf ~/java/hundun-admin ssh root@@192.168.0.1 mkdir -p ~/java/hundun-admin scp -r ./* root@@192.168.0.1:~/java/hundun-admin ssh root@@192.168.0.1 cd ~/java/hundun-admin && mvn clean install 执行到mvn clean install的时候发现,并不是使用192.168.0.1机器的maven打包! 请问这个该如何实现呢?文档找不着,请大佬指点指点,谢谢!!!

  • 兰建青 commented 5 years ago

    弄到半夜,我突然想到一个办法,把私有库直接拷贝过来,然后打包就没有问题了!但感觉并非明智之举! 😛

    scp -r root@@192.168.0.1:/usr/bin/maven/repository/* /root/.m2/repository/
    mvn clean install

  • Robin Shen changed state to 'Closed' 5 years ago
    Previous Value Current Value
    Open
    Closed
  • Robin Shen commented 5 years ago

    OneDev的build运行在docker容器内。如果需要到其他机器打包的话,需要从docker容器ssh到其他机器,然后执行相关操作。

  • 兰建青 commented 5 years ago

    现在我执行了ssh root@@192.168.0.1 "cd ~/server/hundun-parent ; ls ; git pull && sudo mvn clean install" ,发现sudo mvn clean install并不是发送到我的192.168.0.1上自行的,而是在OneDev的容器里面执行!该怎么做好呢?
    我的192.168.0.1上是可以成功执行sudo mvn clean install命令的; 但是在OneDev上build时会报“sudo: mvn:找不到命令”的错误!

  • Robin Shen commented 5 years ago

    这跟OneDev没关系,你自己先在本机启动一个容器,然后在里面测试ssh命令研究下怎么才能正确的在远程执行命令。

  • 兰建青 commented 5 years ago

    非常感谢!!!是我理解shell不够深,今天改成如下命令就可以使用目标机器打包部署了:

    ssh root@@192.168.0.1   << remotessh  
    cd ~/server/hundun-parent
    git pull
    mvn clean install
    
  • Robin Shen commented 5 years ago

    👍

issue 1/1
Priority
Normal
Assignee
Issue Votes (1)
Watchers (3)
Reference
OD-269
Please wait...
Connection lost or session expired, reload to recover
Page is in error, reload to recover