4、环境搭建:Vector工具链安装配置、Jenkins环境搭建、Python虚拟环境与依赖管理
好,咱们进入实战环节的第一步——环境搭建。
说实话,很多工程师在工具安装这一步就卡住了。我见过太多人,代码写得漂亮,结果环境配了一周还没跑通。所以这一章,我会把踩过的坑、绕过的路,一次性给你讲清楚。
4.1 Vector工具链安装与配置
Vector的工具链,说白了就是一套给汽车电子做开发、测试、诊断的软件集合。最常用的包括CANoe、vTESTstudio、CANape这些。
安装前的准备
我个人习惯,在装任何Vector软件之前,先做两件事:
- 关闭杀毒软件——Vector的驱动和许可证服务经常被误杀,我遇到过好几次装完打不开,查了半天发现是防火墙在捣乱。
- 确认操作系统版本——Vector对Windows 10/11的支持最好,Win7的话有些新版本已经不兼容了。
安装步骤(以CANoe 15.0为例)
- 双击安装包,选择「完整安装」。别选自定义,除非你很清楚自己要什么。
- 安装过程中会提示安装硬件驱动,全部勾选。这里要注意,如果你用的是USB接口的VN系列设备,驱动装不上基本就没法用。
- 安装完成后,打开Vector License Client,导入你的许可证文件(.vlf)。
- 重启电脑,让环境变量生效。
我曾经遇到过CANoe启动后报错“License not found”,折腾了半天才发现是许可证服务没启动。去服务管理器里找到“Vector License Server”,手动启动并设为自动即可。
环境变量配置
有些工具链需要手动添加环境变量,比如vTESTstudio的Python接口。我建议统一加到系统变量里:
VECTOR_TOOLS_PATH = C:\Program Files\Vector CANoe 15.0
VECTOR_LICENSE_PATH = C:\VectorLicense
4.2 Jenkins环境搭建
Jenkins,CI/CD的核心。说白了,它就是那个帮你自动编译、自动测试、自动部署的“机器人”。
安装方式选择
我推荐用Docker安装,干净、好管理。但如果你在公司的内网环境,可能只能用WAR包或者安装包。
Docker方式(推荐)
docker run -d -p 8080:8080 -p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
--name jenkins \
jenkins/jenkins:lts
启动后,访问 http://localhost:8080,初始密码在容器日志里可以找到。
WAR包方式
如果你像我一样,有时候需要在没有Docker的服务器上部署,那就用WAR包:
java -jar jenkins.war --httpPort=8080
嗯,就这么简单。但要注意,这种方式默认是前台运行,关掉终端Jenkins就停了。可以用nohup或者注册成服务来解决。
插件安装
Jenkins的强大在于插件。我建议至少装这几个:
- Git Plugin——拉代码用的
- Pipeline Plugin——流水线必备
- Blue Ocean——界面好看,调试方便
- Vector CANoe Plugin——如果你要在Jenkins里跑CANoe测试,这个必须装
插件装多了Jenkins会变慢。我一般只装必要的,其他的等用到再装。别一上来就全选,那是给自己找麻烦。
4.3 Python虚拟环境与依赖管理
Python在Vector工具链里用得越来越多,尤其是vTESTstudio的测试脚本。但Python的依赖管理,说实话,挺乱的。所以虚拟环境是必须的。
为什么用虚拟环境?
你想想看,项目A需要pySerial 3.4,项目B需要pySerial 2.7。如果装在一起,肯定打架。虚拟环境就是给每个项目一个独立的Python“小房间”。
创建虚拟环境
# 安装virtualenv(如果还没装)
pip install virtualenv
# 创建虚拟环境
python -m venv venv
# 激活(Windows)
venv\Scripts\activate
# 激活(Linux/Mac)
source venv/bin/activate
激活后,命令行前面会出现 (venv) 字样,说明你已经在虚拟环境里了。
依赖管理
我习惯用 requirements.txt 来管理依赖。这样别人拿到项目,直接一条命令就能装好所有依赖:
pip install -r requirements.txt
requirements.txt 的内容大概长这样:
pySerial==3.4
python-can==4.0.0
vteststudio-python-api==1.2.0
记得把
venv 文件夹加到 .gitignore 里。不然提交代码时把整个虚拟环境传上去,会被同事骂的。
与Vector工具链的集成
vTESTstudio 调用Python脚本时,默认用的是系统Python。如果你想用虚拟环境里的Python,需要手动指定路径。我一般在脚本开头加这么一段:
import sys
sys.path.insert(0, r'C:\my_project\venv\Lib\site-packages')
这样就能确保vTESTstudio找到正确的依赖了。
4.4 环境验证
装完别急着走,先验证一下环境是不是通的。我一般跑一个简单的“Hello World”测试:
验证Vector工具链
# 打开CANoe,新建一个空的配置
# 在Simulation Setup里添加一个Network Node
# 双击Node,写入以下代码:
on start
{
write("Hello from CANoe!");
}
如果能弹出消息窗口,说明CANoe安装成功。
验证Jenkins
# 在Jenkins里新建一个Freestyle项目
# Build步骤选择"Execute Windows batch command"
# 输入:echo "Hello from Jenkins!"
# 点击构建,查看控制台输出
验证Python虚拟环境
# 激活虚拟环境后,运行:
python -c "import serial; print('pySerial version:', serial.__version__)"
不报错,就说明环境没问题。
我会把这三个验证步骤写成一个批处理脚本,每次换电脑或者重装系统后,跑一遍就知道环境是不是好的。省心。
好了,环境搭建这部分就到这里。下一章我们开始讲如何用Jenkins自动拉取代码、触发Vector工具链执行测试。那才是真正好戏开始的地方。