我想通过一下命令实现在目标机器上打包,代码成功拷贝过去了,但是执行打包的时候不是目标主机在打包,而是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打包! 请问这个该如何实现呢?文档找不着,请大佬指点指点,谢谢!!!
弄到半夜,我突然想到一个办法,把私有库直接拷贝过来,然后打包就没有问题了!但感觉并非明智之举! 😛
scp -r root@@192.168.0.1:/usr/bin/maven/repository/* /root/.m2/repository/ mvn clean install
Open
Closed
OneDev的build运行在docker容器内。如果需要到其他机器打包的话,需要从docker容器ssh到其他机器,然后执行相关操作。
现在我执行了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:找不到命令”的错误!
这跟OneDev没关系,你自己先在本机启动一个容器,然后在里面测试ssh命令研究下怎么才能正确的在远程执行命令。
非常感谢!!!是我理解shell不够深,今天改成如下命令就可以使用目标机器打包部署了:
ssh root@@192.168.0.1 << remotessh cd ~/server/hundun-parent git pull mvn clean install
👍
我想通过一下命令实现在目标机器上打包,代码成功拷贝过去了,但是执行打包的时候不是目标主机在打包,而是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打包! 请问这个该如何实现呢?文档找不着,请大佬指点指点,谢谢!!!