一个c#的项目,由于项目经理总要新版本测试,以前每次都是手动出包,现在改成jenkins自动生成,节省时间。
一、下载Jenkins,
可以通过清华镜像下载Index of /jenkins/windows-stable/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorhttps://mirrors.tuna.tsinghua.edu.cn/jenkins/windows-stable/
我下载的是windows-stable的 Jenkins latest,Jenkins 是需要jdk 环境,在安装后会自动选择jdk.
另外会自动要打开一个本地文件读取密码进行激活。并设定端口8088,进行激活。
会自动安装插件,我们要增加一个msbuild
下图为程序会启动一个服务每次开机自动运行。
配置好后,用edge打开http://localhost:8088 .如下
然后就
写一个批处理自动生成一个打包文件,流程如下 :
1、git clone 代码工程,切换到指定分支
cd c:\test\
git clone xxx
git checkout you_branch
2、更新nutget包
"C:\Users\sunyuzhe\.nuget\packages\panuon.ui.core\2.2.5\nuget.exe" restore -MsbuildPath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\amd64" "C:\Test\compliance\Work\ForensicsWPF\ForensicsWPF.sln"
3、使用msbuild生成exe文件
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\amd64\MSBuild.exe" "C:\Test\compliance\Work\ForensicsWPF\ForensicsWPF.sln" /t:rebuild /p:Configuration=LAPTOP;Platform=x64
4、使用NSIS 官方网站(http://nsis.sourceforge.net/)下载并安装 NSIS.进行打包,以及脚本配置
最简单的方法就是将上面的步骤生成一个bat文件。然后在jenkins中执行
然后再将构建好的文档发布即可。PS实际上简单发布可以不用这个jenkins,直接本地安装个nsis就可以了,但是jenkins可以定时编译就方便了
另外
构建后操作增加一个
[ArtifactDeployer]如果没有这个插件可以去管理-》插件中去下载
配置如下,这样就在打包成功后自动生成一个http的下载链接
另外如果项目要从多个git服务拉取组件的话需要安装
Multiple SCMs
Jenkins实施:
(1) 安装好插件之后,选择Multiple SCMs,选择添加多个Git库
(2)每一个git库下载代码,指定下载到本地工作空间中指定的代码目录
另外如果git密钥有问题,报错
jinkens stderr: No ED25519 host key is known for [g om]:29418 and you have requeste
请检查一下jekins服务的启动权限是否是本地用户(管理员权限)
发现主要是生成.ssh文件后仅放在了C:\Users\xxxxxx\.ssh文件下,没有搬运到C:\Windows\System32\config\systemprofile\.ssh位置,导致Jenkins无法访问GitHub项目出错。
另外如果配置好工程,把C:\ProgramData\Jenkins\.jenkins\jobs中的文件夹拷贝到另外一台电脑的相同位置就会重检测一个相同的打包工程,另外一台电脑配置路径相同即可。
输入网址http://localhost:8088/restart进行重启动,之后项目就出现了