1、安装jdk,jdk用8即可,安装完成之后配置环境变量.

2、安装jenkins

(1)、安装完毕之后,修改jenkins的默认工作空间到除系统盘以外的其他盘.

进入安装目录 C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins,打开config.xml文件,找到${JENKINS_HOME}变量,修改为指定盘符,重启jenkins即可.

3、进入插件管理->高级选项 替换最后一栏Update Site值修改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,因为默认采用国外的站点的更新配置.重启jenkins

4、安装git,重启jenkins

 

5、安装git for windows,安装完毕,输入以下命令

 git config --global user.name "用户名" git config --global user.email "邮箱" 设置当前pc的全部用户名和邮箱

 

6、进入jenkins->插件管理,安装git插件,接着进入jenkins->全部工具配置 找到刚刚下载好的git插件,找到git本地安装路径(例如:C:\Program Files\Git\bin\git.exe),填入到Path to Git executable这一栏中.并保存.

jenkins with gitblit and .net framework and windows

 

 

 

7、git插件配置成功后,新建Item(项目),进入项目配置->源代码管理

选中git,输入仓储地址,和新增仓储的认证方式,这里选用户名密码(点击下面的添加完成相关配置即可)

jenkins with gitblit and .net framework and windows

 注:如果项目仓储过大,则第一次初始化需要手动拉仓储到工作空间下.否则会报错.

到这一步,可以测试源码是否能下载成功.

 

8、源码下载成功之后,接着需要编写源码处理脚本,大致的流程是调用源码生成工具,发布源码到指定目录,接着打包发布文件.

例如使用.net framework,需要使用nuget.exe(需先下载好,点击下载),使用nuget.exe还原整个解决方案的包(注意包生成路径需要和本地环境一致),接着调用MsBuild.exe编译发布源码,注意如果Jenkins部署的环境安装了VS,则找到MsBuild.exe的存放路径即可,如果没有安装VS,则要去安装团队开发用的指定版本的build tools.

官网->所有下载->Visual Studio 2019 工具-> Visual Studio 2019 生成工具 ok,选择相应的环境,即可完成下载.

 

9、git和msbuild安装和配置完成之后,回到jenkins项目配置页面

(1)、添加构建过程

jenkins with gitblit and .net framework and windows

 批处理命令如下:

@echo off ::开始执行还原包命令
D:
cd D:\Jenkins\workspace\BaseAsset\代码\BaseAsset.root\BaseAsset\
D:\Nuget\nuget.exe restore -PackagesDirectory D:\Jenkins\workspace\BaseAsset\代码\BaseAsset.root\BaseAsset\packages -source "https://api.nuget.org/v3/index.json"
@echo off ::执行还原包命令结束
@echo off ::开始生成项目
C:
cd C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\
MSBuild.exe D:\jenkins\workspace\BaseAsset\代码\BaseAsset.root\BaseAsset\BaseAsset.Api\BaseAsset.Api.csproj -t:Rebuild /p:Configuration=Release /p:Configuration=Release /p:DeployOnBuild=True;PublishProfile=D:\jenkins\workspace\BaseAsset\代码\BaseAsset.root\BaseAsset\BaseAsset.Api\Properties\PublishProfiles\公司230Jenkins发布文件.pubxml 
cd D:\jenkins\workspace\BaseAsset\publishfiles\
del web.config
C:
cd C:\Program Files\WinRAR 
Rar.exe a -ep1 -r -s -m5 D:\jenkins\workspace\BaseAsset\publishfiles\publish.rar D:\jenkins\workspace\BaseAsset\publishfiles\*

从git服务器拉取源码,调用MsBuild.exe发布源码,删除web.config,打包成发布包的过程到这里完成.

 

(2)、为了合理配置Jenkins占用空间,删除Jenkins的构建日志,进入项目配置界面.

jenkins with gitblit and .net framework and windows

 

 

10、有了发布包,接着需要去服务器安装OpenSSH 

(1)、关于如何在windows server2012 R2上安装OPEN SSH 请参考百度经验(内含安装包),安装完成之后,使用本地pc进行连接测试.

输入的cmd命令如下:

powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
net start sshd

jenkins with gitblit and .net framework and windows

 ok,安装成功,22防火墙开启,且服务启动成功.

 

(2)、测试ssh服务是否可以正常使用

win10安装本地客户端,打开设置->应用->管理应用和功能->OpenSSH客户端 安装即可.

安装成功输入一下cmd命令进行测试:

ssh 用户名@远程服务器ip

输入密码,ok,连接成功.说明远程服务器openssh服务搭建成功.

 

11、通过SSH连接远程服务器,上传发布包.

(1)、进入Jenkins插件管理,搜索Publish Over SSH组件,安装

(2)、安装完成之后进入系统配置,找到Publish Over SSH配置模块,进行相关配置.具体配置参数如下:
因为不打算用SSH所以直接添加Server,上面的可以不用填写.

jenkins with gitblit and .net framework and windows

 

 jenkins with gitblit and .net framework and windows

 

测试连接->success 

(3)、SSH远程服务器配置添加完毕,接下去进入项目配置

添加

jenkins with gitblit and .net framework and windows

 

 的构建过程

jenkins with gitblit and .net framework and windows

 注意:

i、远程根路径最好填\,对应远程服务器的C盘,仔细观察ssh执行过程,发现ssh会根据Source files创建路径.而且无法强行指向别的盘.

ii、Source files中指定的路径为相对于workspace的相对路径 !!!

查看ssh执行过程,只需要配置ssh输出执行明细即可.

jenkins with gitblit and .net framework and windows

 点击保存.

 

12、项目发布结束,邮件通知

(1)、配置Jenkins Location

jenkins with gitblit and .net framework and windows

 

 

 (2)、配置邮箱通知设置,如果用的QQ,确保邮箱开启了相关服务jenkins with gitblit and .net framework and windows

 

 

 (3)、配置邮箱扩展功能

jenkins with gitblit and .net framework and windows

 

 

 jenkins with gitblit and .net framework and windows

 

 

 构建通知如下:

构建通知:${BUILD_STATUS} - ${PROJECT_NAME} - Build # ${BUILD_NUMBER} !

邮箱内容如下:

<!DOCTYPE html>    
<html>    
<head>    
<meta charset="UTF-8">    
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>    
</head>    
    
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"    
    offset="0">    
    <table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">    
        <tr>    
            本邮件由系统自动发出,无需回复!<br/>            
            各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br> 
            <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>   
        </tr>    
        <tr>    
            <td><br />    
            <b><font color="#0B610B">构建信息</font></b>    
            <hr size="2" width="100%" align="center" /></td>    
        </tr>    
        <tr>    
            <td>    
                <ul>    
                    <li>项目名称 : ${PROJECT_NAME}</li>    
                    <li>构建编号 : 第${BUILD_NUMBER}次构建</li>    
                    <li>触发原因: ${CAUSE}</li>    
                    <li>构建状态: ${BUILD_STATUS}</li>    
                    <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>    
                    <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>    
                    <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>    
                    <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>    
                </ul>    

<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>

<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>

            </td>    
        </tr>    
    </table>    
</body>    
</html>

jenkins with gitblit and .net framework and windows

 

 

 这个需要勾上,否则没有注册jenkins用的git开发者,无法收到邮件.

 

(4)、配置项目邮箱

添加构建后操作

jenkins with gitblit and .net framework and windows

 

 

 jenkins with gitblit and .net framework and windows

 

 结束

 

注意点

(1)、如果批处理命令中包含中文,需要检查bat文件的编码是否为Ascii

(2)、ssh服务,不同ssh的文件传输路劲不同,ssh服务一定要确保是openssh.

相关文章: