jenkins with gitblit and .net framework and windows

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这一栏中.并保存.

 

 

 

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

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

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

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

 

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)、添加构建过程

 批处理命令如下:

@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的构建日志,进入项目配置界面.

 

 

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

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

 

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

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

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

ssh 用户名@远程服务器ip

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

 

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

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

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

 

 

 

测试连接->success 

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

添加

 

 的构建过程

 注意:

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

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

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

 点击保存.

 

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

(1)、配置Jenkins Location

 

 

 (2)、配置邮箱通知设置,如果用的QQ,确保邮箱开启了相关服务

 

 

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

 

 

 

 

 

 构建通知如下:

构建通知:${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用的git开发者,无法收到邮件.

 

(4)、配置项目邮箱

添加构建后操作

 

 

 

 

 结束

 

注意点

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

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

posted @ 2021-01-18 18:24  郑小超  阅读(256)  评论(0)    收藏  举报