工作上一个代码同步需求求助
背景是这样的:工作上开发的代码需要放到一个linux环境上编译,这个环境很老,除了编译几乎啥也干不了。所以都是在windows本机上写代码,写完复制一份过去编译。但有时候有些错误要编译的时候才发现,每次修改又得再手动复制回来一遍,一来一去非常麻烦所以想找一个方法:能够在本机上对项目文件进行修改后,自动或者手动一键同步一下就能将修改过的文件同步到编译环境中。
其实这个需求用vscode的sftp插件应该就能实现了,但我平时写代码都是用source insight或者qt creator,没办法依赖vscode来做。有没有什么能够单纯检查一个文件下的文件有没有变化,有则将变化的文件通过sftp上传的工具?
所以你听说过 git 吗 中川夏纪 发表于 2021-12-8 01:21
所以你听说过 git 吗
编译环境装不了 ckl80 发表于 2021-12-8 01:23
编译环境装不了
rsync 之类的也不能用吗? 什么神奇的项目要用专门的老环境里编译?编译完了还在同一个老环境里运行吗?
在编译环境里用源码编译一个git不行吗? diff patch ? 中川夏纪 发表于 2021-12-8 01:27
rsync 之类的也不能用吗?
要用的话可能就得自己拉源码编译一份,比较折腾,目前主要就是想看能不能找个不用动linux端相对比较省事的方法 k12320593 发表于 2021-12-8 01:29
什么神奇的项目要用专门的老环境里编译?编译完了还在同一个老环境里运行吗?
在编译环境里用源码编 ...
可能是为了兼容性啥的?我也没问过,编译了跑是能跑,但也很少客户会用那么低的版本了(2.6的内核) 既然是公司项目,那可以用这个思路:
无法稳定地配置好的编译环境是项目的隐患
想象一下:这个古老的 Linux 机器有没有可能因为突发事件,变得不可用,导致开发停滞
根据墨菲定律,肯定会有可能
于是现在就需要设法能从头(指从干净的 Linux 系统开始)重新配置好开发环境才行
最终能落实到文档也好,shell 脚本也好,能用上配置管理(Ansible 之类的)就更好,总之得有办法
做到这个程度就可以拿新机器来做编译环境了,然后 NFS / SMB 之类的办法就都能用了
不过话说回来,那是多老的机器,连安装 rsync 都要从头编译?不能用包管理器安装么? 跑个题,总觉得这可以成为某种电影里的经典桥段…… https://www.cis.upenn.edu/~bcpierce/unison/ 装不了git 装svn cvs哈哈哈哈 什么需求?这么搞下去 永远不要用新东西了 累不累 直接搞个wsl,用sshfs? 本帖最后由 Xusser 于 2021-12-8 10:29 编辑
github/gitlab的webhook功能
不能用git啊那没事了
有vscode能用还不想用,这很难办啊。 在老环境编译的需求当然是有的,为了兼容性
最简单的,大部分 Linux 原生就有 NFS,不过看你是多老的 Linux 了
不过我作为有过类似经验的人,建议你整一个 arch/dist 完全一致的 Docker 直接在高端 PC 上编译,或者麻烦一点难以解决的依赖很多就做 rootfs 交叉编译。这样一般会快很多,因为这种老环境一般性能都不咋地。当然你要是想趁编译摸鱼当我没说。 用beyond compare 新建sftp链接,然后对比更新 本帖最后由 r_ex 于 2021-12-8 11:10 编辑
用rsync可以同步
另外交叉编译也可以,用最新的clang和自己编译的libc++,配上一个比较老的CentOS的sysroot,不过如果有Qt啥的依赖于C++的可能需要自己编译
如果项目不涉及到动态库的导入导出,还可以考虑musl全静态编译,有musl-cross-make和musl libc toolchain,是gcc的,后者还能配合clang和自己编译的libc++,充当交叉编译的sysroot
—— 来自 BlackBerry BBF100-4, Android 8.1.0上的 S1Next-鹅版 v2.1.2 rsync支持sftp的,不需要动远程Linux
—— 来自 BlackBerry BBF100-4, Android 8.1.0上的 S1Next-鹅版 v2.1.2 你的需求qt creator自身就能实现
centos 6?为了兼容老版本的glibc?这个需求可以docker搞定的 gitlab + jenkins,可以装在别的机器上
代码推送gitlab,配置钩子触发jenkins,jenkins上写脚本把代码打包发到编译环境执行编译 qratosone 发表于 2021-12-8 01:37
JetBrains家的IDE都有远程开发组件,可以试试看
都是scp和ssh做的,有着需求不如自己rsync讲真 自己撸一个py,估计20多行就能搞定了 找找看有没有能用的 docker 呀。要是这台机器挂了,你们还干不干活了。 我平时用mobaxterm的sftp,这个就是自动判断文件改变了就会传上去 试试freefilesync git可以创建本地远程仓库,只有你自己电脑装了git就可以 在编译脚本前面触发一个ssh的 rsync? 这种需求自己做一个轮子就行了
页:
[1]