楼主: pengzhao0524
跳转到指定楼层
上一主题 下一主题
收起左侧

请教:嵌入式系统上的git 使用与deployment

🔗
suiyu0823 2019-9-11 11:12:40 | 只看该作者
全局:
想follow up一下,假如有很多个target。有没有自动化的方法把image load上去。

假如是farm systems,手动一个个load感觉不是很现实
回复

使用道具 举报

🔗
xiaobeixin 2019-9-11 14:54:05 | 只看该作者
全局:
不用Jenkins 做CI 然后deploy么? 用git太野路子了吧,每次都重新build不能保证consistent吧
建议学习下Jenkins,如果没有专门的工具/infra组做deployment都话

评分

参与人数 1大米 +10 收起 理由
admin + 10 很有用的信息!

查看全部评分

回复

使用道具 举报

🔗
albertguosgp 2019-9-12 00:09:50 | 只看该作者
全局:
pengzhao0524 发表于 2019-9-8 07:53
太感谢了!!!请问我想看看这方面的资料,有什么推荐吗?或者关键字也行。另外image加密这块,有什么资 ...

其实我觉得DOCKER IMAGE不一定适合你们。DOCKER是PER APP的,中间有很多隔离,你们的APP估计是在本地相互作用了之后才会出现一些BUG。我觉得你还不如用VAGRANT,写脚本来控制VAGRANT中运行APP来进行测试, 最后在PUSH到工业机上做最后的测试。

评分

参与人数 1大米 +10 收起 理由
admin + 10 很有用的信息!

查看全部评分

回复

使用道具 举报

🔗
lpx1233 2019-9-12 00:54:45 | 只看该作者
全局:
之前做过一些嵌入式方面的开发,感觉一般来说不同target硬件的性能和环境不同,导致不同硬件workflow都不太一样,还是需要楼主自行寻找合适自己的。比方说硬件性能强弱,能跑Linux/其他OS还是只能bare-metal,build output需要烧写还是直接通过ssh/nfs等方式copy,能在target上build还是需要cross-build之类的条件,都会影响你最终使用的workflow,所以需要楼主自己具体情况具体分析,决定CI在host上还是target上、是否能/需要docker进行环境隔离等。如果需要cross-build并且远程跑test case的话,还需要写相关的工具来copy/burn binary及parse output等。

建议楼主如果有条件的话,弄个CI/CD系统配合相关测试和部署脚本,减轻自己的负担。另外如果是多人共用一个target设备(机器),也需要考虑环境隔离的问题,能上docker等进行环境隔离最好,不能的话也最好得保持自己的测试环境不会被别人影响(比如每个人存一份自己的环境副本,自己测试的时候就把别人的运行的instance全部kill掉,这个可以写脚本来做)。

另外我觉得最好不要直接把target上的git repo当中央repo,最好是有个公司内部的git平台(没有的话可以用gitlab自己搭),这样提PR/MR,做CR,合分支啥的也方便,也不用冒target crash导致git repo数据损失的风险。然后target设备只当做运行环境,用来跑测试(本地/远程,自动/手动等等),如果不能分隔测试环境最好还得让每个人都有自己的测试设备以免互相干扰。。。

评分

参与人数 1大米 +30 收起 理由
admin + 30 很有用的信息!

查看全部评分

回复

使用道具 举报

🔗
 楼主| pengzhao0524 2019-9-12 06:45:47 | 只看该作者
全局:
lpx1233 发表于 2019-9-12 00:54
之前做过一些嵌入式方面的开发,感觉一般来说不同target硬件的性能和环境不同,导致不同硬件workflow都不太 ...

特别感谢!!!很多东西我是第一次听说。我回去查查。
回复

使用道具 举报

🔗
 楼主| pengzhao0524 2019-9-12 06:46:26 | 只看该作者
全局:
albertguosgp 发表于 2019-9-12 00:09
其实我觉得DOCKER IMAGE不一定适合你们。DOCKER是PER APP的,中间有很多隔离,你们的APP估计是在本地相互 ...

这个vagrant我以前没用过,我去查查。很感谢!
回复

使用道具 举报

🔗
Mojicha 2019-9-12 12:18:57 | 只看该作者
全局:
可以尝试下gitlab+pipeline,跑runner
不过讲真开发流程主要还是取决于team,如果大家都不想折腾自己干是很累的。。。
回复

使用道具 举报

🔗
cs900601 2019-9-12 16:19:02 | 只看该作者
全局:
本帖最后由 cs900601 于 2019-9-12 02:22 编辑

我知道有一个达成差不多目的的东西叫【Yocto Project】
此物的功能用一句话就是【一键完成交叉编译的Linux from Scratch】(包括编译全套工具链)
此物解决的一个问题就是不同的包之间的依赖关系,也就是说如果一个人的git更新了之后,它就会把所有依赖这个包的都重新编过
除了Yocto之外,还有一个地位相同但设计思路不同的Buildroot

Yocto派生出来的一个叫OpenBMC的项目也有通过Docker的形式在主机上进行单元测试的用法,似乎Docker在这里的用途就是包括进来全部的依赖项(比如各种比桌面系统还新的、支持C++17的库)

回复

使用道具 举报

🔗
 楼主| pengzhao0524 2019-9-12 18:15:17 | 只看该作者
全局:
Mojicha 发表于 2019-9-12 12:18
可以尝试下gitlab+pipeline,跑runner
不过讲真开发流程主要还是取决于team,如果大家都不想折腾自己干是 ...

特别感谢!!!很多提到的东西我都是第一次听说。我去查查。
回复

使用道具 举报

🔗
 楼主| pengzhao0524 2019-9-12 18:15:29 | 只看该作者
全局:
cs900601 发表于 2019-9-12 16:19
我知道有一个达成差不多目的的东西叫【Yocto Project】
此物的功能用一句话就是【一键完成交叉编译的Linux ...

特别感谢!!!很多提到的东西我都是第一次听说。我去查查。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表