Jenkins是一个开源软件,可以通过一定的配置进行自动构建,测试,部署等功能。

首先,服务器应安装好 .NET Core环境和JDK,

下载Jenkins安装包 https://www.jenkins.io/download/thank-you-downloading-windows-installer-stable/

1.打开安装包,选择安装位置

2.因为jenkins需要安装到windows服务,所以使用本地账户或有权限的账户安装

3.jenkins默认端口为8080,如果该端口已占用,可改为其他端口,这里使用默认端口

4.选择jdk安装路径,如未安装jdk,请先安装 https://www.oracle.com/java/technologies/downloads/#jdk17-windows

5.是否设置防火墙例外,点击下一步

6.开始安装

7.安装完成

8.打开浏览器,输入http://localhost:8080/ 显示如下界面

9.找到C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\secrets\initialAdminPassword 文件,将密码复制进去,点击继续

10.选择安装推荐的插件,也可以手动选择插件来安装

11.安装成功后,设置一个管理员用户

12.实例配置先保存默认值即可

13.点击开始使用Jenkins

14.进入主界面,点击中间Create a new job,或左侧新建Item

15,输入名称,选择 Freestyle project

16,填写描述

17.源码管理选择Git,填写git地址,在Credentials里设置git账户

18.如需要自动轮询git提交,可在构建触发器中选中Poll SCM,填写相应Cron表达式,*/1 * * * * 代表每分钟轮询一次,可根据需求设置

19.在构建选项中增加构建步骤,选择 Execute Windows batch command

20.填入以下命令

假设IIS中已有一个名为Publish的网站,文件路径为D:\www\Publish

其中Publish.csproj为要发布的项目文件 -o 后面为自动发布的目录

第五行删除掉appsetting.json以避免覆盖正式配置文件

后三行为停止对应应用程序池

将文件从自动发布目录拷贝到网站目录

启动应用程序池

dotnet clean
dotnet restore
dotnet build
dotnet publish Publish.csproj -o D:\www\PublishAuto
del /f /s /q D:\www\PublishAuto\appsettings.json
C:\Windows\System32\inetsrv\appcmd.exe stop apppool "Publish"
ROBOCOPY D:\www\PublishAuto D:\www\Publish /e /MT:30
C:\Windows\System32\inetsrv\appcmd.exe start apppool "Publish"

21.最后点击保存即可,回到项目主页面,点击左侧Build Now,或在主页面点击项目后面发布按钮,即可自动发布

22.如果设置了自动轮询,则Jenkins会每隔1分钟pull一下git仓库,如果有新提交则会自动发布。

来源:http://www.changtanit.com/contents/2/85.html

windows server 服务器安装jenkins 并通过git拉取代码实现自动发布到IIS的更多相关文章

  1. git 拉取代码指定分支

    问题背景: 新项目还在开发阶段,没有正式对外发布,所以开发同事合并代码到develop上(或者其他名称分支上),而不是到master分支上 通过git拉取代码的时候,默认拉取的是master分支,如下 ...

  2. jenkins 从git拉取代码

    步骤 jenkins已集成git插件(如无,请自行下载) 1. 去到源码管理栏,选中Git: 使用http协议去获取代码 Repository URL填写http的git地址,此时未选择相应的Cred ...

  3. windows环境下利用Gitblit搭建Git服务器并实现自动部署Web站点目录

    Git服务搭建多见于linux环境,但windows主机也不少,目前网上文章诸多不全,且以讹传讹,不甚清楚.下面介绍windows环境下的自动部署和发布. 所需环境及资源:Java环境.Gitblit ...

  4. 自动发布-asp.net自动发布、IIS站点自动发布(集成SLB、配置管理、Jenkins)

    PS:概要.背景.结语都是日常“装X”,可以跳过直接看自动发布 环境:阿里云SLB.阿里云ECS.IIS7.0.Jenkins.Spring.Net 概要 公司一个项目从无到有,不仅仅是系统从无到有的 ...

  5. Windows Server配置Jenkins,实现监测SVN提交自动构建.net4.5的项目

    1,持续集成 概念:http://baike.baidu.com/view/5253255.htm,对于大多数人而言,自动构建/自动测试/自动部署,已经很发挥它的价值了.选择上: 推荐jenkins, ...

  6. 阿里云云效平台使用——Windows上使用阿里云云效(RDC)Git拉取代码

    转载:https://blog.csdn.net/for_my_life/article/details/88700696 SSH key配置 1.首先从开始菜单里面打开刚刚安装完成的Git目录下Gi ...

  7. 如何使用git拉取代码及提交代码(详细)

    分享给刚进入公司的小伙伴们鸭! 第一步:首先在本地安装git和TorToiseGit小乌龟,svn同理,也可以安装下TorToiseGit中文语言包,前期可减少出错,后期熟悉了可直接用命令行pull代 ...

  8. SpringBoot项目从Git拉取代码并完成编译打包启动的sh自动脚本

    操作步骤: 1.进入/home/servers/codes/xxxx-dev/目录,从git上将项目clone下来: 2.确保/usr/local/xxx/xxxx-dev目录存在: 3.确保sh脚本 ...

  9. git拉取代码

    1,用sourcetree拉取的时候 遇到  fatal: repository 'http://gitlab.xxx.com/XXX/XXX.git/' not found 2,可以直接在要存放代码 ...

随机推荐

  1. LuoguB2013 温度表达转化 题解

    Content 输入华氏温度 \(F\),请将其转化为摄氏温度 \(C\),精确到小数点后 \(5\) 位. 数据范围:\(F\geqslant -459.67\). Solution 简单的输入输出 ...

  2. Struts拦截器设置完的值为什么在页面取不到

    Struts拦截器设置完的值为什么在页面取不到. ActionContext ac = (ActionContext) invocation.getInvocationContext(); ac.pu ...

  3. SQL:大表多表更新的两种方法

    #标记不参与计算的明细(跨平台的或is_end=2)#跨平台订单:暂不处理 说明:大表即order_list_wx,几十万,需要根据小表(order_list_zfb ,几万)来做更新,查出两个平台都 ...

  4. Linux启动、停止宝塔

    启动 /etc/init.d/bt start 停止 /etc/init.d/bt stop

  5. 【LeetCode】931. Minimum Falling Path Sum 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 动态规划 相似题目 参考资料 日期 题目地址:htt ...

  6. 【LeetCode】503. Next Greater Element II 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 暴力解法 单调递减栈 日期 题目地址:https:/ ...

  7. 【LeetCode】641. Design Circular Deque 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/design-ci ...

  8. TensorFlow.NET机器学习入门【5】采用神经网络实现手写数字识别(MNIST)

    从这篇文章开始,终于要干点正儿八经的工作了,前面都是准备工作.这次我们要解决机器学习的经典问题,MNIST手写数字识别. 首先介绍一下数据集.请首先解压:TF_Net\Asset\mnist_png. ...

  9. <学习opencv>图像变换

    拉伸.收缩.扭曲和旋转 统一调整大小 我们经常会遇到一些我们希望转换为其他尺寸的图像. 我们可能想要扩大或缩小图像; 这两项任务都是由同一个功能完成的. cv::resize() 该cv::resiz ...

  10. HTML网页设计基础笔记 • 【第2章 排列页面内容】

    全部章节   >>>> 本章目录 2.1 音频标签和视频标签 2.1.1 音频标签 2.1.2 视频标签 2.2 列表.div 以及 span 标签 2.2.1 列表标签 2. ...