Jenkins结合.net平台综合之权限修正和文件排除
笔者在发布项目的时候遇到这样一个问题,第一次发布的时候成功发布,然后再次发布失败.但是这个问题很快就排除了,这里提出来是为了帮助遇到这个问题的小伙伴,以顺利避开坑.之所以会这样是因为我们在设置权限的时候只给给了用户读和写的权限,而没有给删除权限,因此造成无法覆盖文件.
解决办法很简单,我们打开filezilla server,点击小人图标,进入用户设置页,然后点击shared folder进入目录权限配置栏

这里我们把所有的权限都勾选,重复发布失败的问题就解决啦.
下面我们来解决另外一个问题.我们看一下发布到iis服务器上的文件结构,如下图

首先发现的问题是.ApplicationInsight.config,Web.debug.config和Web.Release.config在服务器环境中都是不必要的,但是整个目录复制把这些内容也复制来了.
另外一个问题是.Content,fonts这两个目录首次发布的时候拷贝过来就好了,以后发布不是每次都要拷贝这两个目录,复制太多静态资源也会影响发布效率,甚至有些情况下本机环境和测试服务器环境下Content文件夹的内容是完全不一样的,我们根本不需要复制这个目录.我们如何排除特定的文件和文件夹,只发布必要的内容呢.

这里取决于上图红色框选部分的配置,传输选项有一个FilemMask属性,它接收一个文本格式,用于指定包含/排除特定的文件/文件夹.根据上面的配置,ApplicationInsights.config文件就被排除了.
我们在Jenkins里再执行一次构建,可以看到这次上传到iis目录下的文件结构如下

ApplicationInsight.config文件已经被排除了.
有些时候我们需要排除一类文件,比如说我们要排除所有的jpeg文件,此时的格式是$transferOptions.FileMask="|*.jpeg"其中*匹配任意字符
多个需要排除的项之间用逗号隔开
如刚才所说,我们有时候需要排除整个目录,而不仅仅是特定的文件或者特定类型的文件.比如我们想要排除Cotent文件夹,此时语法是这样的
$transferOptions.FileMask="|Content/"content后面跟一个斜杠,用于指示它是要排除的目录,而不是文件
我们把配置文件中关于文件过滤的一行改为如下

我们清空iis目录下内容,然后再在Jenkins里触发一次构建,构建成功后,我们打开iis目录,看到如下文件结构

可以看到ApplicationInsight.config文件和Content目录都没有发布.
大伙可以参考以上内容自行排除Web.Debug.config和Web.Release.Config
Jenkins结合.net平台综合之权限修正和文件排除的更多相关文章
- Jenkins结合.net平台综合之监听git仓库并自动摘取最新代码编译
前面章节我们讲解了Jenkins结合.net平台工具以及一些第三方工具实现项目自动还原,自动编译,自动测试和自动发布.然而实现自动化还有一个关键的步骤就是监听源码仓库变化然后从仓库拉取最新代码,然后再 ...
- Jenkins结合.net平台综合之完整示例项目
前面每一个部分我们都是介绍的单个功能,这里介绍一个完整项目,本文中所用到的命令都放在了github示例代码仓库中 https://github.com/mrtylerzhou/netdevops 命令 ...
- Jenkins结合.net平台综合应用之通过SSH方式拉取代码
上一节我们讲解了如何Jenkins如何通过轮训来监听git仓库变化然后拉取最新代码,上一节中我们使用的是https方式,然后正式环境中企业更倾向使用ssh方式.这里我们讲解一下如何通在Jenkins中 ...
- Jenkins结合.net平台综合应用之使用FileZilla搭建ftp服务器
上一节我们讲解了如何编译web项目,web项生成以后我们是手动复制到iis目录下的,这显然不符合devops初衷,这里我们讲解如何利用ftp协议把文件传到远程服务器的iis目录下. 这一讲分两部分一部 ...
- 【持续集成】使用Jenkins实现多平台并行集成
使用Jenkins实现多平台并行集成 二月 15, 2012 暂无评论 我们的后端C应用都是支持跨平台的,至少目前在Linux和Solaris上运行是没有问题的,这样一来我们在配置持续集成环境时就要考 ...
- Jenkins 开启用户注册机制及用户权限设置
Jenkins 开启用户注册机制及用户权限设置 by:授客 QQ:1033553122 步骤 1. 系统管理-Configure Global Security 2. 设置
- JENKINS安装及新建用户,权限配置
JENKINS安装及新建用户,权限配置 1. 下载安装 jenkins 官网地址https://jenkins.io/index.html 下载地址https://jenkins.io/downloa ...
- Jenkins拾遗--第三篇(用户权限管理)
采访过很多实用Jenkins的同学,发现Jenkins的安全是一个很薄弱的地方.很多公司用作生产部署的Jenkins安全管理都不是很规范,就更别提测试用的Jenkins了. 其实Jenkins是一个很 ...
- 开发指南专题十一:JEECG微云高速开发平台--基础用户权限
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/26580037 开发指南专题 ...
随机推荐
- hashlib模块,shutil,模块 ,,xml 文件解析,configparser,模块,类,什么是类
1 什么是hash hash是一种算法,该算法接受传入的内容,经过运算得到一串hash值 如果把hash算法比喻为一座工厂 那传给hash算法的内容就是原材料 生成的hash值就是生产出的产品 2.为 ...
- thinkphp5使用空模块
今天想做一个功能,可以后台设置url是二级域名(也是指向同一个服务器)还是一级域名(域名/模块),网上找了找,TP3.2开始取消了空模块.所以只能自己修改框架源码了. ----------有点晚,明天 ...
- mysql node
mysql8.0版本 报错:Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol req ...
- windows服务定时任务
其实定时任务时不时会碰到,只不过解决方案也不是只有一个,网上也有很多文章,但是没有一篇说得很清楚,尤其是安装环节,今天就着重说一下安装, 其他步骤带过,C#开发windows服务,开发,安装,调试 1 ...
- centos7下搭建高匿HTTP代理
一.一般适用情况1.两台都有外网IP,一台服务器请求资源通过另外一个服务器,本文重点讲第一种.2.两台服务器,其中一台服务器只有内网IP,另外一台服务器有公网和内网IP. 二.前提 # 确认服务器端i ...
- [Swift]LeetCode327. 区间和的个数 | Count of Range Sum
Given an integer array nums, return the number of range sums that lie in [lower, upper] inclusive.Ra ...
- [Swift]LeetCode769. 最多能完成排序的块 | Max Chunks To Make Sorted
Given an array arr that is a permutation of [0, 1, ..., arr.length - 1], we split the array into som ...
- VIVO 手机重力传感器踩坑记录
手上的 vivo-x9 手机传感器模式下的旋转效果有误,经查发现是 Gravity sensor 返回的数据有误,和其他机型返回的数据相反的. 参考 Gravity 的说明: A three dime ...
- shell cut 应用实战
简介: cut是一个强大文本处理工具,它可以将文本按列进行划分的文本处理.cut命令逐行读入文本,然后按列划分字段并进行提取.输出等操作. 命令格式: cut [option] filename ca ...
- 页面的div中有滚动条,js实现刷新页面后回到记录时滚动条的位置
当div中绑定数据,给它一个属性overflow-y: scroll,添加长度大小,使其能够出现滚动条:每次刷新的时候滚动条总是会出现在最上方,这使我很头疼,经过查阅网上资料,返现两种方法可行.如下: ...