#269  代码发送到其他机器打包问题
Closed
Reopen
兰建青 opened 3 months 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 3 months ago

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

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

Robin Shen changed state to 'Closed' 3 months ago
Previous Value Current Value
Open Closed

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

兰建青 commented 3 months 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 3 months ago

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

兰建青 commented 3 months ago

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

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

emoji +1

issue 1 of 1
Type
Build Failure
Priority
Normal
Assignee
Failed Build
No build specified
Milestone
No milestone
Issue Votes (1)
Watchers (3)
Reference
issue onedev-server#269
Please wait...
Page is in error, reload to recover