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

解决办法很简单,我们打开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. vbs脚本实现qq定时发消息(初级)

    vbs脚本实现QQ消息定时发送 目标 批处理又称为批处理脚本,强大的强大功能可以高效得实现很多功能,例如批量更改文件格式,批量进行文件读写,今天我们的目标是用vbs脚本编写可以发送qq消息的脚本,并利 ...

  2. sqlserver 评估过期

    解决:重新打开安装中心->维护-->版本升级 ,重新输入序列号 即可 sqlserver2008企业级序列号:JD8Y6-HQG69-P9H84-XDTPG-34MBB

  3. git教程——工作流程

    Git 工作流程 本章节我们将为大家介绍 Git 的工作流程. 一般工作流程如下: 克隆 Git 资源作为工作目录. 在克隆的资源上添加或修改文件. 如果其他人修改了,你可以更新资源. 在提交前查看修 ...

  4. 201771010126 王燕《面向对象程序设计(Java)》第十六周学习总结

    实验十六  线程技术 实验时间 2017-12-8 1.实验目的与要求 (1) 掌握线程概念: ‐多线程 是进程执行过中产生的多条线索. 是进程执行过中产生的多条线索. 是进程执行过中产生的多条线索. ...

  5. Nginx的gzip

    webpack  compression-webpack-plugin => .gz CompressionPlugin = require("compression-webpack- ...

  6. Linux下CenOS系统 安装Redis

    1.redis下载 进入root目录:cd /root(目录可自定义)   wget http://download.redis.io/releases/redis-3.2.10.tar.gz 红色部 ...

  7. ABP入门系列(4)——创建应用服务

    ABP入门系列目录--学习Abp框架之实操演练 一.解释下应用服务层 应用服务用于将领域(业务)逻辑暴露给展现层.展现层通过传入DTO(数据传输对象)参数来调用应用服务,而应用服务通过领域对象来执行相 ...

  8. 混合物App开发中,在移动设备上调试查看日志,重写window.console

    (function(){ var print={ lock:true, log:function(param){ if(this.lock){ var element=document.createE ...

  9. [Swift]LeetCode954. 二倍数对数组 | Array of Doubled Pairs

    Given an array of integers A with even length, return true if and only if it is possible to reorder ...

  10. NumPy 学习笔记(三)

    NumPy 数组操作: 1.修改数组形状 a.numpy.reshape(arr, newshape, order='C') 在不改变数据的条件下修改形状 b.numpy.ndarray.flat 是 ...