准备工作
Jenkins下载(LTS):Download and deploy (jenkins.io)
JDK下载:Java Downloads | Oracle 中国
SSH Key:Ssh · User · Help · GitLab (lenovo.com.cn)
安装
先下载exe或msi的JDK安装包,然后安装JDK。JDK安装完成之后,再安装Jenkins。
这里选择第二项。
再填写完Account和Password之后,一定要点击Test Credentials,测试通过之后才能往下进行。
端口测试,测试通过再往下。
这里选择前面的JDK安装路径。
出现这种错误,需要到服务中找到Jenkins,然后再通过刚输入的账号和密码在这里输入一遍,然后在这里启动服务,再转到安装界面就可以看到正常安装了。
运行Jenkins
全局配置
工作目录
到Jenkins的安装目录下,找到jenkins.xml文件,然后用文件编辑器打开并修改里面的配置项。
上一行是安装Jenkins之后默认的,下一行是修改的。修改Jenkins的workspace之后,一定要删除第一行。
修改完成之后,就可以在Dashboard->Manage Jenkins->System中看到修改的内容。
git仓库SSH key配置
private key,复制时要把------BEGIN** END*** 都复制进去。
按如下方式配置。配置git时,需要选择ssh key的方式来拉取代码。
代码拉取失败,是由于代码仓库太大,下载超时引起的,选择新增,修改clone行为,把超时时间修改为60分钟。
插件
Multiple SCMs
多git仓库代码获取,例如:项目有C++代码和Web代码,就需要拉取这两种类型的代码,并分别进行打包,然后再进行合并。
Build Name and Description Setter
构建任务的名称定义,如果不修改构建名,则只会显示一个序号。
配置Job
构建前
重命名构建任务名称
安装uild Name and Description Setterr插件,就可以自定义构建任务名称,一般是序号-代码分支-版本号。
构建C#项目
Nuget拉取资源包失败
- 需要MSBuild命令中添加/restore、;RestorePackagesConfig=true命令
命令示例:“%MSBUILD_EXE%” “%UNINSTALLER_DIR%\Legion.UnInstall.sln” /t:Rebuild /restore /p:Configuration=%CONFIGURATION%;Platform=%PLATFORM64%;RestorePackagesConfig=true /m - TargetFramework版本与VS中已安装版本不一致
- EXEC : error : Could not read the Windows SDK’s Platform.xml at C:\Program Files (x86)\Windows Kits\10\Platforms\UAP\10.0.19041.0\Platform.xml
需要通过vs installer 安装对应的Windows sdk版本
一些基础点
配置环境变量之后一定要重启Jenkins服务,连接的节点,也要重新连接一下。
- 调用npm指令之后,批处理之后的命令不执行问题,需要使用call调用npm命令。
- bat脚本,在echo写数据到临时文件时,由于编码不对,导致写 特殊符号(例如:‘#’ ‘@’) 乱码。可以在命令之前加chcp 65001,但这样修改之后,jenkins打包输出中文乱码。真正的解决方法,需要通过修改Jenkins的配置。
- -Difile.encoding=utf-8,在Jenkins的安装目录下找到jenkins.xml,然后修改
-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar “C:\Program Files\Jenkins\jenkins.war” -Difile.encoding=utf-8 --httpPort=8080 --webroot=“%LocalAppData%\Jenkins\war” - Jenkins→系统管理→系统设置→全局属性→(勾选)环境变量→新增→键:LANG;值:zh.CH.UTF-8
构建后
-
构建完成之后,需要把构建结果归档到Jenkins服务器。点击 “增加构建后操作步骤” 选择 Archive the artifacts
-
同时也可以添加发送Email的设置,这样就可以在构建完成之后自动通知到相关人员。