4、环境搭建:Vector工具链安装配置、Jenkins环境搭建、Python虚拟环境与依赖管理

好,咱们进入实战环节的第一步——环境搭建。

说实话,很多工程师在工具安装这一步就卡住了。我见过太多人,代码写得漂亮,结果环境配了一周还没跑通。所以这一章,我会把踩过的坑、绕过的路,一次性给你讲清楚。

4.1 Vector工具链安装与配置

Vector的工具链,说白了就是一套给汽车电子做开发、测试、诊断的软件集合。最常用的包括CANoe、vTESTstudio、CANape这些。

安装前的准备

我个人习惯,在装任何Vector软件之前,先做两件事:

  • 关闭杀毒软件——Vector的驱动和许可证服务经常被误杀,我遇到过好几次装完打不开,查了半天发现是防火墙在捣乱。
  • 确认操作系统版本——Vector对Windows 10/11的支持最好,Win7的话有些新版本已经不兼容了。

安装步骤(以CANoe 15.0为例)

  1. 双击安装包,选择「完整安装」。别选自定义,除非你很清楚自己要什么。
  2. 安装过程中会提示安装硬件驱动,全部勾选。这里要注意,如果你用的是USB接口的VN系列设备,驱动装不上基本就没法用。
  3. 安装完成后,打开Vector License Client,导入你的许可证文件(.vlf)。
  4. 重启电脑,让环境变量生效。
⚠️ 避坑指南
我曾经遇到过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工具链执行测试。那才是真正好戏开始的地方。