基于MBD开发模式的matlab持续集成
引言
或许是感受到行业内卷的愈加激烈,在传统制造和高新技术相结合的新能源领域对软件工程开发的要求也愈加提高,尤其在互联网已经大行 其道的敏捷开发,便顺其自然的被新能源的老板们所看重。
概述
本文包含两块内容,第一是使用jenkins+git打造一个可自动构建的持续集成环境,这个是互联网的基本操作。另一个是在jenkins上打造对simulink模型的自动仿真测试并编译后进行代码端的白盒测试。
环境
Windows10 (如果matlab在windows对脚本调用不够友好,可能需要换到Linux)
GitLab 社区版 15.8.1
Jenkins Version 2.414.1
JDK jdk-17
搭建步骤
Jenkins安装
参考本站其他文章,各个版本基本一致。软件安装后,再安装插件。插件有网络条件直接新手一键安装方便。
如果是公司权限申请繁琐,可以直接本地系统安装。目前来看,不影响内网访问jenkins服务。
jdk-17
更简单了~
配置(重点踩坑位置)
很多互联网项目,因为java8的收费问题,java版本一直停留在比较低的版本,所以jenkins版本要去找低版本适配,然后网上找的教程都是老版本的jenkins构建配置。
-
坑一
Gitlab的webhooks无配置权限,如果你也遇到
“ Urlis blocked: Requests to the local network are not allowed”
一定是用root账号,安装gitlab的那个账号,而不是项目的owner,只有root账号才能进入–管理员中心-设置-网络-外发请求中勾选
“允许Webhook和服务对本地网络的请求”
-
坑二
Gitlab的webhooks的请求地址
Jenkins的默认项目地址是ip:port/job/projectname
,而gitlab的集成配置中对Jenkins默认请求接口是http://user:password@ip:port/project/。。。
,这里就有一个job和project导致路径对应不上,请求失败
解决方案:
简单点就是在Jenkins中配置默认项目地址变成ip:port/project/job/projectname
,然后在git这边在请求地址中补上一个job
a、--prefix=$PREFIX
访问Jenkins的url前缀,如果设置--prefix=jenkins
,那么访问路径http://myServer:8080/jenkins
,参数可以放在启动命令中,也可以放在jenkins的配置文件的启动参数中
b、修改下gitlab的weihooks
当然你也可以在Nginx中进行请求转发等。 -
坑三
配置push事件自动触发打包,很多文档都是勾选Build when a change is pushed to gitlab
,但是新版本的jenkins上已经移除了这个选项。可以勾选触发远程构建 (例如,使用脚本)
来完成。
相信这三个坑避过去,push自动触发应该就没什么问题了,下篇文章介绍信下如果使用脚本调用matlab