笔者在发布项目的时候遇到这样一个问题,第一次发布的时候成功发布,然后再次发布失败.但是这个问题很快就排除了,这里提出来是为了帮助遇到这个问题的小伙伴,以顺利避开坑.之所以会这样是因为我们在设置权限的时候只给给了用户读和写的权限,而没有给删除权限,因此造成无法覆盖文件.

解决办法很简单,我们打开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平台综合之权限修正和文件排除的更多相关文章

  1. Jenkins结合.net平台综合之监听git仓库并自动摘取最新代码编译

    前面章节我们讲解了Jenkins结合.net平台工具以及一些第三方工具实现项目自动还原,自动编译,自动测试和自动发布.然而实现自动化还有一个关键的步骤就是监听源码仓库变化然后从仓库拉取最新代码,然后再 ...

  2. Jenkins结合.net平台综合之完整示例项目

    前面每一个部分我们都是介绍的单个功能,这里介绍一个完整项目,本文中所用到的命令都放在了github示例代码仓库中 https://github.com/mrtylerzhou/netdevops 命令 ...

  3. Jenkins结合.net平台综合应用之通过SSH方式拉取代码

    上一节我们讲解了如何Jenkins如何通过轮训来监听git仓库变化然后拉取最新代码,上一节中我们使用的是https方式,然后正式环境中企业更倾向使用ssh方式.这里我们讲解一下如何通在Jenkins中 ...

  4. Jenkins结合.net平台综合应用之使用FileZilla搭建ftp服务器

    上一节我们讲解了如何编译web项目,web项生成以后我们是手动复制到iis目录下的,这显然不符合devops初衷,这里我们讲解如何利用ftp协议把文件传到远程服务器的iis目录下. 这一讲分两部分一部 ...

  5. 【持续集成】使用Jenkins实现多平台并行集成

    使用Jenkins实现多平台并行集成 二月 15, 2012 暂无评论 我们的后端C应用都是支持跨平台的,至少目前在Linux和Solaris上运行是没有问题的,这样一来我们在配置持续集成环境时就要考 ...

  6. Jenkins 开启用户注册机制及用户权限设置

    Jenkins 开启用户注册机制及用户权限设置   by:授客 QQ:1033553122 步骤 1.  系统管理-Configure Global Security 2.  设置

  7. JENKINS安装及新建用户,权限配置

    JENKINS安装及新建用户,权限配置 1. 下载安装 jenkins 官网地址https://jenkins.io/index.html 下载地址https://jenkins.io/downloa ...

  8. Jenkins拾遗--第三篇(用户权限管理)

    采访过很多实用Jenkins的同学,发现Jenkins的安全是一个很薄弱的地方.很多公司用作生产部署的Jenkins安全管理都不是很规范,就更别提测试用的Jenkins了. 其实Jenkins是一个很 ...

  9. 开发指南专题十一:JEECG微云高速开发平台--基础用户权限

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/26580037     开发指南专题 ...

随机推荐

  1. Java 什么是线程安全

    当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要额外的同步或协同,这个类都能表现出正确的行为,那么这个类就是线程安全的.其中,正确性指某个类的行 ...

  2. H5_ 多媒体video,autio使用示例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Tips_信息列表(手风琴)效果的多种实现方法

    效果图: 一.纯CSS实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  4. rest_framework之认证源码剖析

    如果我们写API有人能访问,有人不能访问,则需要些认证. 如何知道该用户是否已登入? 如果用户登入成功,则给用户一个随机字符串,去访问另一个页面. 以前写session的时候,都是把session写c ...

  5. python编程从入门到实战1-3章

    print('hellow world') """ 多行注释"""#大小写print('i love you')mssage='hellow ...

  6. 通用类 对象Excel互转

    public class ExcelHelper { public void Demo(string filePath) { if (File.Exists(filePath)) File.Delet ...

  7. PTA第二次作业

    pta 6-7题 删除字符串中数字字符 1.设计思路 (1)第一步:观察题意了解各个参数与所需函数在题目中的意义: 第二步:设计算法编写函数,让函数的功能实现题目中所需的功能: 第三步:运行程序检测是 ...

  8. Dora.Interception,为.NET Core度身打造的AOP框架 [3]:多样化拦截器应用方式

    在<以约定的方式定义拦截器>中,我们通过对拦截器的介绍了Dora.Interception的两种拦截机制,即针对接口的“实例拦截”针对虚方法的“类型拦截”.我们介绍了拦截器的本质以及基于约 ...

  9. leetcode-数组-子集

    一.题目描述 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3] 输出: [ [3], [1], ...

  10. [Swift]LeetCode867. 转置矩阵 | Transpose Matrix

    Given a matrix A, return the transpose of A. The transpose of a matrix is the matrix flipped over it ...