【基于MBD开发模式的matlab持续集成(一)】

基于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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/141788.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

java面试题-设计模式基础

面试专题-设计模式 前言 在平时的开发中,涉及到设计模式的有两块内容,第一个是我们平时使用的框架(比如spring、mybatis等),第二个是我们自己开发业务使用的设计模式。 面试官一般比较关心的是你在开发过程中&#…

Vue 学习笔记 错误ResizeObserver loop completed with undelivered notifications

环境Vue3 Ts 使用了el-table 后,容易出现如下错误 ERROR ResizeObserver loop completed with undelivered notifications. at handleError (webpack-internal:///./node_modules/webpack-dev-server/client/overlay.js:299:58) at eval (webpack-internal:///./nod…

基于FFmpeg+SDL的视频播放器的制作

基于FFmpegSDL的视频播放器的制作 基于FFmpegSDL的视频播放器的制作实验1实验2实验3实验4基本练习进阶练习 实验5 基于FFmpegSDL的视频播放器的制作 雷霄骅博士的课程。 课程链接:https://blog.csdn.net/leixiaohua1020/article/details/47068015 初学 FFmpeg&am…

PTE 口语练习准备(二)

目录 Day 1单词咬字专项 ChapterI 咬字练习之音书与辅音 Chapter 2咬字练习之“字典音 Chapter 3元“漏,加,换”语速练习 Day 1单词咬字专项 考量项目 单词 单词咬字也决定了句子呈现的位置 重音位置 电脑是有固有的模型的,给你的模型…

Python爬虫在Web应用自动化测试中的应用

在Web应用开发过程中,自动化测试是确保应用质量和稳定性的重要环节。本文将介绍如何使用Python爬虫与自动化测试技术相结合,实现对Web应用进行自动化测试的方法和步骤。通过这种结合,我们可以提高测试效率、减少人力成本,并确保应…

探索入行嵌入式应该要学会哪些知识?

入行嵌入式领域,需掌握嵌入式系统基础、C语言、C编程,了解微控制器、微处理器,学习电子电路基础,正好看我这一套保姆式嵌入式休息资料,里面包含了编程教学、数据处理、毕设800套和语言类教学,非常的全面、放…

自注意力机制

回顾以下注意力机制: 自注意力机制 Self-Attention的关键点 在于 K ≈ \approx ≈V ≈ \approx ≈Q 来源于同一个X,三者是同源的,通过 W Q W_Q WQ​, W K W_K WK​, W V W_V WV​做了一层线性变换。 接下来步骤和注意力机制一模一样。 …

开发者必备!如何将闲置iPad Pro打造为编程工具,使用VS Code编写代码

文章目录 前言1. 本地环境配置2. 内网穿透2.1 安装cpolar内网穿透(支持一键自动安装脚本)2.2 创建HTTP隧道 3. 测试远程访问4. 配置固定二级子域名4.1 保留二级子域名4.2 配置二级子域名 5. 测试使用固定二级子域名远程访问6. ipad pro通过软件远程vscode6.1 创建TCP隧道 7. ip…

Vue3最佳实践 第五章 Vue 组件应用 3( Slots )

5.4 Slots 我们已经了解到组件能够接收任意类型的 JavaScript 值作为 props,但组件要如何接收模板内容呢?在某些场景中,我们可能想要为子组件传递一些模板片段,让子组件在它们的组件中渲染这些片段。Slots 可用于将Html内容从父组…

一文了解什么SEO

搜索引擎优化 (SEO) 是一门让页面在 Google 等搜索引擎中排名更高的艺术和科学。 一、搜索引擎优化的好处 搜索引擎优化是在线营销的关键部分,因为搜索是用户浏览网络的主要方式之一。 搜索结果以有序列表的形式呈现,网站在该列表中的排名越高&#x…

指针笔试题讲解(让指针变得简单易懂)

数组名的理解 : 数组名就是首元素地址 但是有两个例外: 1. sizeof(数组名)这里的数组名表示整个数组的大小,sizeof(数组名)计算的是整个数组的大小,单位是字节 2. &数组名 这里的数组…

彩色文本进度条

动态加色打印,\033控制,显示进行到的百分比,实时更新总共用时。 (本笔记适合能熟练应用字符串和循环技能的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程…

CH2--x86系统架构概览

2.1 OVERVIEW OF THE SYSTEM-LEVEL ARCHITECTURE 图中的实线箭头表示线性地址,虚线表示段选择器,虚线箭头表示物理地址 2.1.1 Global and Local Descriptor Tables 全局描述符表 (GDT) GDT是一个全局的段描述符表,它存储在系统内存中的一个固…

Aztec交易架构解析

1. 引言 前序博客有: Aztec的隐私抽象:在尊重EVM合约开发习惯的情况下实现智能合约隐私完全保密的以太坊交易:Aztec网络的隐私架构Aztec.nr:Aztec的隐私智能合约框架——用Noir扩展智能合约功能Account Abstraction账号抽象——…

力扣:102. 二叉树的层序遍历(Python3)

题目: 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网…

Linux文件内容显示练习

1.新建2个文件b1.txt b2.txt ,使用vim打开b1.txt 输入“Hello World”字符串,将b1.txt硬链接到b2.txt 查看2个文件的硬连接数 [rootserver ~]# vim b1.txt [rootserver ~]# ln b1.txt b2.txt #建立硬链接 [rootserver ~]# stat b2.txt [rootserver ~]# stat b1.txt [r…

Android开发MVP架构记录

Android开发MVP架构记录 安卓的MVP(Model-View-Presenter)架构是一种常见的软件设计模式,用于帮助开发者组织和分离应用程序的不同组成部分。MVP架构的目标是将应用程序的业务逻辑(Presenter)、用户界面(V…

CockroachDB集群部署

CockroachDB集群部署 1、CockroachDB简介 CockroachDB(有时简称为CRDB)是一个免费的、开源的分布式 SQL 数据库,它建立在一个事务性和强一致性的键 值存储之上。它由 PebbleDB(一个受 RocksDB/leveldb 启发的 K/B 存储库)支持,并使用 Raft 分布式共识…

2023-Chrome插件推荐

Chrome插件推荐 一键管理扩展 链接 https://chromewebstore.google.com/detail/lboblnfejcmcaplhnbkkfcienhlhpnni 介绍 一键开启、禁用Chrome插件。 Checker Plus for Gmail™ 链接 https://jasonsavard.com/zh-CN/Checker-Plus-for-Gmail https://chromewebstore.goo…

VS2019创建GIt仓库时剔除文件或目录

假设本地有解决方案“SomeSolution” 1、首先”团队资源管理器“-“创建Git存储库”,选择“仅限本地”、“创建” VS会在解决方案目录下自动生成.gitattributes、.gitignore 2、编辑gitignore,直接拖到VS里或者用记事本打开。添加要剔除的文件或文件夹…