最近公司需求要将产品编译自动化,干了那么多年客户端开发一直都是小作坊作业最近换了一个比较正规的互联网公司一切都需要标准化流程化了,自动化也必不可少!然后我就了解到了Jenkins这玩意,找了两天资料感觉还挺简单的写篇文章收录下。
因为签名UKey只要windows驱动 ,所以我只能将环境配置到windows系统当中。
一、准备工作:
1、https://www.jenkins.io/download/ 下载最新版本的Jenkins
2、下载jdk 11 或者 17 最好是17 我也是用的JDK17环境 https://www.oracle.com/java/technologies/downloads/
二、安装部署Jenkins
1、安装Jenkins 没啥好说的 下一步跟着走就行 进入页面后点击安装插件选择 MSBuild 如果你选择了推荐安装 请到 Mange Jenkins -> Manage Plugins 中搜索并安装,安装好后需要重启服务。可以直接输入http://localhost:808/restart重启服务
2、设置MSBuild 环境也就是 vs的编译工具环境地址 Manage Jenkins -> Global Tool Configuration 找到MSBuild添加环境
三、创建自动化项目:
1、新建Item 点击配置 在Build Steps 中增加构建步骤选择 Build a Visual Studio project or solution using MSBuild
2、MSBuild Version 选择你刚刚创建的配置项,MSBuild Build File 选择你要编译的项目*.csproj 也可以是 *.sln文件最好是csproj 明确给出编译哪一个项目
Command Line Arguments 添加MsBuild的参数配置
/t:Rebuild /restore 每次都重新生成文件 检测nuget依赖并自动下载 /p:Configuration=Beta 编译配置 /p:Platform="x86" 编译架构 /p:VisualStudioVersion=17.4.1 vs版本 /p:DeployOnBuild=True DeployOnBuild屬性會指示 MSBuild 在專案設定中執行每個專案的建置完成時的任何部署指示 /p:PublishProfile=D:\..\Properties\PublishProfiles\BetaFolderProfile.pubxml 发布配置根据自己实际情况修改 /p:OutputPath=D:\git\..\bin\beta 输出目录
3、点击Build Now 即可等待编译结果
四、注意事项:
1、如果你有 Execute Windows batch command 命令要执行牵扯到路径指向操作或者剪切拷贝操作如果遇到如下报错:
unable to produce a script file
Jenkins java.nio.charset.UnmappableCharacterException: Input length = 1
该错误是因为编码导致的需要将C:\Program Files\Jenkins 目录下的jenkins.xm 文件中的<arguments>-Dfile.encoding=UTF-8</arguments> 添加-Dfile.encoding=UTF-8参数就可以解决该报错