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

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

为了满足日益增长的数据处理需求,铁威马NAS推出了全新的性能巅峰2024年旗舰之作F4-424 Pro,并搭载了最新的操作系统--TOS 6。这款高效办公神器的问世,无疑将为企业和专业人士带来前所未有的便捷与效率。

关键字: 存储 Linux 服务器

Apr. 23, 2024 ---- 随着节能成为AI推理服务器(AI Inference Server)优先考量,北美客户扩大存储产品订单,带动QLC Enterprise SSD需求开始攀升。然而,目前仅Solidi...

关键字: SSD AI 服务器

在AI需求暴增、5G升级周期和汽车智能电动化等因素的推动下,全球电子市场进入新一轮的增长期,尤其是在通信电子、消费电子和汽车电子等领域。需求增长促使上游产能升级的同时,也带来了制造和设计上更严格的标准,各种电子零部件可以...

关键字: AI 服务器 5G

北京——2024年4月9日 越来越多的企业将关键性的工作负载放到云上,如何确保云上业务的连续性即云的韧性对企业来说就越来越重要。在亚马逊云科技,我们从一开始就在基础设施、服务设计与部署、运营模式和机制中将韧性考虑其中。例...

关键字: 服务器 存储 数据中心

目标应用包括电信设备、服务器和智能表计的电源,以及LED车灯或汽车低压DC/DC转换器

关键字: 二极管 服务器 智能表计

结合ST第三代碳化硅金属氧化物半导体场效晶体管、STGAP隔离驱动器和STM32微控制器技术,此图腾柱无桥式功率因数修正器(PFC)解决方案为一个即插即用的解决方案,满足数据中心之高阶服务器和电信通讯电源设计的需求...

关键字: 数据中心 服务器 碳化硅

康佳特扩展边缘服务器生态系统, 推出 µATX 服务器载板和基于最新英特尔至强处理器的 COMHPC Server模块

关键字: 处理器 服务器 AI

美国加利福尼亚州圣何塞 —— GTC —— 太平洋时间 2024 年 3 月 18 日 —— NVIDIA 于今日推出数十项企业级生成式 AI 微服务,企业可以利用这些微服务在自己的平台上创建和部署定制应用,同时保留对知...

关键字: AI 模型 生成式 AI 服务器

Mar. 7, 2024 ---- 2023年第三季供应商大幅减少产出,使得Enterprise SSD价格有撑,第四季合约价的反弹吸引买家积极购货,加上服务器品牌商需求也随着2024年企业资本支出展望优于去年,进而扩大...

关键字: NAND Flash 服务器 SSD

随着通用人工智能的发展,数据中心的计算需求逐步提高。针对多模态数据、大模型的推理和训练需要更高的算力支持,而随着算力提升与之而来的还需更关注在功耗方面的优化。对于头部云计算和服务厂商而言,针对专门用例提高每瓦性能变得至关...

关键字: ARM 服务器 AI Neoverse CSS
关闭