当前位置:首页 > > 汽车嵌入式
[导读]德国的疫情越来越严重,周末闲来没事,在家想着,好久没有更新公众号了,为了一直默默关注欢乐马的小伙伴和不断增加的读者,这周加个班,把最新的想法写出来,希望可以帮助到有需要的朋友。这周的主题是 jenkins 服务器的配置。

德国的疫情越来越严重,周末闲来没事,在家想着,好久没有更新公众号了,为了一直默默关注欢乐马的小伙伴和不断增加的读者,这周加个班,把最新的想法写出来,希望可以帮助到有需要的朋友。


这周的主题是 jenkins 服务器的配置。


前言

汽车嵌入式由于其特殊的流程规范,比如 ASPICE 审核等,开发工作一般是常用的V模型。V模型也是功能安全的需要,感兴趣的朋友可以看看我的另外一个系列。到底啥是功能安全 - 5


V模型带来的缺点也显而易见,周期长不灵活,对顾客需求的响应慢等, 相比汽车软件开发,在新兴的IT行业,大部分公司已经都转型到了敏捷化开发,就是所谓的Agile。Agile的主旨是最大限度的满足顾客的需求。与之应运而生的是一系列的工具,这些工具可以帮助加速软件开发,使软件又快又高质量的送到客户手里。其中不得不提的就是我们今天的主角,Jenkins


正文

提起Jenkins,他的图标是一个管家的模样。寓意明确,就是一个自动化的管家,


帮你做一切可以自动化的事情。概括起来有两个,第一个是CI (Continues integration), 另一个是CD(continues delivery),此处划重点,面试中必问问题:CI和CD有什么区别。知道的小伙伴请留言,有彩蛋。


好了,言归正传,本文的目标是一步一步带读者了解,如何配置一台远程服务器,并且部署jenkins, 让它帮我们自动编译我们编写的代码。达到 continues intgration。


下面是步骤:


1. 在云服务器上下载,安装并配置Jenkins

我用的是Linux Centos7,根据目标系统的不一样使用的命令有区别,读者可以自行参考Jenkins安装手册。

    1. yum install jenkins

安装完之后,服务器8080端口为 jenkins 默认端口,如果将来如果有需要https 加密传输的话,应该设置成 443 端口并且配置 ssl 证书。


2. 下载Git 作为版本管理工具,将来jenkins会链接git,实现代码管理。

此处注意,请下载最新版的Git,在yum 库里还是1.x 版本的git,如果想要git 2.xx 版本的话,需要做一个更新,或者直接从git官网通过url链链接下载并解压安装。


git 和Jenkins 都安装完成以后,让我们来开始配置吧。


首先用浏览器登录 域名:8080, 此处是我的

http://kfz.plus:8080

注意第一次登录有一个起始密码,这个密码在linux系统的

/var/lib/jenkins/secrets/initialAdminPassword的这个位置,并且只有第一次会有,如果已经登录了,这个password就删除了。读者可以参考下图路径找到initialAdminPassword 这个文件。

注册并登录账户之后 jenkins的首页面:


设置第一个任务给它吧:

我没有选择常用的 Pipeline, 而是选择了freesytle 项目。、

drop job 之后在configuration里配置git 路径:


请注意,习惯用Github的用户千万不要配置自己的Github,因为国内的云服务自动封锁了Github的访问,每次都会返回Timeout 报错。


不信的话你看:

祖国的长城真是太坑了,我一直以为是我自己配置的问题,从头到尾查了一个多小时,经历了整整十次 build,才发现人家压根就不让你访问。


无奈只能拥抱祖国,注册了国行版github:Gitee, 不熟悉git命令的小伙伴可以参考下面:

git initgit commit -m "xxx"git pushgit fetch git pullgit clone ......


搞定了Git 配置,Jenkins就可以管理和下载你的代码了,但是为了实现编译,我们还需要在云服务器上下载编译器。为了简单演示,此处用免费开源的gcc 编译。触发编译的话选择用shell 执行git source 里的makefile


配置完成,开发编译吧


Jenkins有build的历史记录,前十次是因为github没法访问,换了gitee之后,就可以编译成功了。

现在我设置成每一个小时编译一次,我们的TC264项目状态 W 栏就变成了大太阳



后言:

jenkins作为一个管家可以帮助用户做的工作有很多,从CI的角度有很多人性化的功能,比如如何触发编译或者编译完之后做什么的配置,我目前的配置是,每一个小时或者每次在git 里有新的commit 的话,jenkins 会自动编译新的代码,确保每一次改动都没有影响软件的编译。如果编译有错误,会邮件提醒我错误的地方。还有很多有意思的配置,感兴趣的小伙伴可以去详细了解,。

当CI 做完之后,另一个功能CD,我们下回再见吧。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭