1.安装jenkins

下载地址:https://www.jenkins.io/download/

2.需要配置java环境

配置教程:https://www.cnblogs.com/liuxiaoji/p/5729124.html

3.初始化jenkins配置目录 注:为什么要修改工作目录 因为默认工作目录在C盘 后续配置项目编译,发布可能会有权限问题

  1.打开jenkins安装目录

  2.新建文件夹 work

  3.打开jenkins.xml 配置文件

  4.将%LocalAppData%替换成你的 work文件夹目录

  5.重启jenkins服务

  6.http://localhost:8080 重新访问这个地址 这时候jenkins 会重新初始化工作目录

4.jenkins 插件安装

  1.先安装推荐插件

  2.Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab、Git Parameter

  3.添加完插件重启jenkins

5.新建项目

项目名称命名

  

  参数配置

git源代码管理配置

jenkins 是git账户 需要拥有维护者级别的项目权限

下面是代码发布部署脚本配置

echo "进入目录"
cd src\Benchint.PublicHealth.Manager.HttpApi.Host echo "还原项目包"
dotnet restore echo "编译代码"
dotnet build -c "%COMPILE_MODE%" echo "停止IIS站点"
C:\Windows\System32\inetsrv\appcmd.exe stop site "Benchint.PublicHealth.Manager.HttpApi.Host.Feature"
C:\Windows\System32\inetsrv\appcmd.exe stop appPool /appPool.name:"Benchint.PublicHealth.Manager.HttpApi.Host.Feature" echo "发布项目"
dotnet publish -c "%COMPILE_MODE%" -o "E:\Feature\Benchint.PublicHealth.Manager.HttpApi.Host\service" echo "新建版本号"
md "E:\Feature\Benchint.PublicHealth.Manager.HttpApi.Host\%MAJOR_NO%.%BUILD_NO%.%BUILD_ID%" echo "拷贝项目到当前版本"
xcopy E:\Feature\Benchint.PublicHealth.Manager.HttpApi.Host\service E:\Feature\Benchint.PublicHealth.Manager.HttpApi.Host\%MAJOR_NO%.%BUILD_NO%.%BUILD_ID% /s/e/y echo "拷贝配置文件"
xcopy E:\Feature\Benchint.PublicHealth.Manager.HttpApi.Host\config E:\Feature\Benchint.PublicHealth.Manager.HttpApi.Host\%MAJOR_NO%.%BUILD_NO%.%BUILD_ID% /s/e/y echo "删除站点"
C:\Windows\System32\inetsrv\appcmd.exe delete site "Benchint.PublicHealth.Manager.HttpApi.Host.Feature"
C:\Windows\System32\inetsrv\appcmd.exe delete apppool "Benchint.PublicHealth.Manager.HttpApi.Host.Feature" echo "新建站点"
C:\Windows\System32\inetsrv\appcmd.exe add site /name:"Benchint.PublicHealth.Manager.HttpApi.Host.Feature" /bindings:http://10.3.1.245:5038 /physicalpath:"E:\Feature\Benchint.PublicHealth.Manager.HttpApi.Host\%MAJOR_NO%.%BUILD_NO%.%BUILD_ID%"
C:\Windows\System32\inetsrv\appcmd.exe add AppPool /name:"Benchint.PublicHealth.Manager.HttpApi.Host.Feature"
C:\Windows\System32\inetsrv\appcmd.exe Set app "Benchint.PublicHealth.Manager.HttpApi.Host.Feature/" /applicationpool:"Benchint.PublicHealth.Manager.HttpApi.Host.Feature"
C:\Windows\System32\inetsrv\appcmd.exe set apppool /apppool.name:Benchint.PublicHealth.Manager.HttpApi.Host.Feature /managedRuntimeVersion:"" echo "启动项目"
C:\Windows\System32\inetsrv\appcmd.exe start site "Benchint.PublicHealth.Manager.HttpApi.Host.Feature"
C:\Windows\System32\inetsrv\appcmd.exe start appPool /appPool.name:"Benchint.PublicHealth.Manager.HttpApi.Host.Feature"
C:\Windows\System32\inetsrv\appcmd.exe recycle appPool /appPool.name:"Benchint.PublicHealth.Manager.HttpApi.Host.Feature"

编译如果提示nuget 不存在则在工作目录新建 nuget.config文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="bechint" value="http://10.3.1.240:8080/nuget" />
</packageSources>
</configuration>

配置gitlab push代码自动发布

#首先,你得有一个代码仓库,赶紧到gitlab上创建一个,然后创建个分支并创建一个文件。

#配置gitlab,当有代码提交时,触发jenkins的部署操作

进行GitLab + Jenkins 自动化部署时,在GitLab的 MyProject => Settings => Integrations中输入完 "URL" 和 “Secret Token”,点击按钮 “Add webhook”时,报错如下:

这时候需要对gitlab 设置白名单

进入 Admin area => Settings 直接就能看到如下

添加对应jenkisn服务的IP

提交代码测试

最新文章

  1. Linq学习笔记四之linq to sql 的基本操作
  2. window.event对象详尽解析
  3. word2007无法执行语言识别
  4. class_create(),device_create自动创建设备文件结点
  5. 如何解决在GDI画图中,多次修改画笔的颜色
  6. 关于a标签的链接的表现形式
  7. js正则表达式的使用
  8. 前端构建利器Grunt—Bower
  9. js 弹出 隐藏层和cookie
  10. loadrunner测试结果分析
  11. Jenkins+VS项目持续集成
  12. 响应式编程系列(一):什么是响应式编程?reactor入门
  13. 【Jest】笔记三:全局变量
  14. Springboot学习问题记录
  15. centos7.5上一步步部署jumpserver
  16. Intel Artificial Intelligence Conference(2018.11.14)
  17. Git入门——远程仓库及分支管理
  18. python 列表切片
  19. 微信-苹果机无法播放声音Audio
  20. linux 杂类

热门文章

  1. 手写@koa/router源码
  2. TIME_WAIT状态存在的原因
  3. tensorflow的tfrecord操作代码与数据协议规范
  4. xenserver中linux虚拟机修改启动顺序
  5. SQL Server 常用近百条SQL语句(收藏版)
  6. 在linux系统中通过fw_printenv查看和设置u-boot中的环境变量
  7. 记录一次tomcat问题排查记录:org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19
  8. 图像分割必备知识点 | Unet详解 理论+ 代码
  9. Sysbench对Mysql进行基准测试
  10. docker中启动容器提示端口被占用