加入收藏 | 设为首页 | 会员中心 | 我要投稿 吉安站长网 (https://www.0796zz.com.cn/)- 科技、图像处理、媒体智能、办公协同、操作系统!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

使用Jenkins + Git Submodule 实现自动化编译

发布时间:2021-03-25 12:40:15 所属栏目:传媒 来源:互联网
导读:的时代,我们项目组开发一款手机,软件开发成员大概有 20 人左右吧。结果在手机发布的一周后,另一家小厂就推出了软件界面、功能几乎完全一样的手机,除了开机界面。 因为那个时代,大家几乎都是使用 MTK、高通提供的解决方案,都是统一的菜单式功能,你没法

的时代,我们项目组开发一款手机,软件开发成员大概有 20 人左右吧。结果在手机发布的一周后,另一家小厂就推出了软件界面、功能几乎完全一样的手机,除了开机界面。

因为那个时代,大家几乎都是使用 MTK、高通提供的解决方案,都是统一的菜单式功能,你没法拿出有力的证据来说明别人偷窃了你的代码。

后来内部查明,的确是有开发人员把代码泄漏出去了,于是后来所有的电脑上 USB 口全部被禁掉了。

这是我亲身经历的真实故事,当时每个人负责一个模块,比如:A 负责通话管理和电话簿,B 负责系统设置,C 负责短信和彩信。。。在编译的时候,是需要所有的代码放在一起,统一编译的,这也就意味着所有的软件人员都可以拿到全部源代码,这也就为代码泄漏埋下了隐患,出现了这次严重的事件,毕竟人为财死、鸟为食亡!

那么,是否有一些代码管控方式,来解决这个权限问题呢?

现在项目中,都强调要分层、分模块,这是从软件工程的角度来考虑的。如果再进一步, 把这些模块都划分为一个小的子系统,每个开发人员只负责自己的模块,并且只能有权限拉取自己的代码,这样他就没法获取到一个项目中所有模块的代码了。

只有项目整合人员(管理员),才有全部权限来拉取所有源代码来构建整个系统,这样的话,就可以对代码的安全问题有更好的掌控了。

要实现这样的代码管控,使用 git 工具中的 submodule 就可以完成,这篇文章,我们就来详细的讲解一下 git submodule 的使用。

这篇文章是工具型的,可能比较长,为了提供一站式服务,我会把相关的资源、步骤、遇到的错误信息等细节都记录下来,方便以后查阅。

不论如何,经过这篇文章,你可以学习、了解下面这几个方面的知识点:

  1. Jenkins 的基本使用方法;
  2. git submodule 的基本指令用法;
  3. 通过三个 demo 项目,一步一步操作实现代码的安全管控;
  4. 利用 Jenkins + git submodule 来实现自动化编译;
  5. git subtree 与 submodule 的区别;

如果您需要文中提到的软件和代码资源,在文章末尾可以找到下载方式。

二、Jenkins 的基本使用

1. Jenkins 是什么?

Jenkins是一个开源、由 Java 编写的持续集成工具,也就是说它帮助我们自动构建各类项目。Jenkins 运行在 Servlet 容器中(例如 Apache Tomcat),在 Ubuntu 系统中使用 apt-get 就可以一键安装。

(编辑:吉安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读