之前发布了 <.Net Core DevOps -免费用Azure四步实现自动化发布(CI/CD)>之后,有很多朋友私信我说如何替换 appsettings 里面的 ConnectionStrings的问题.我的解决方案是通过Shell在编译前替换需要替换的字符串.以下是具体步骤: 示例项目配置 appsettings.Production.json 并且添加占位符例如{Writable},用于Shell脚本替换用 打开解决方案的 azure-pipelines.yml 添加一个新的Task…
之前写过一篇博客"探索TFS Git 库文件换行(CRLF)的处理方式",主要是针对TFVC代码库的. 下面这篇文章说明如何在TFS的Git库中处理代码换行的问题. 概述 在Azure DevOps Server(之前叫TFS) 中使用Git管理源代码,需要特别注意代码文件的换行处理.我们在许多团队碰到这样现象,开发人员在自己的Windows 中使用Eclipse 或者Visual Studio 编写和调试代码,功能都正常.但是,使用TFS 的自动生成和发布功能,将源代码下载到Linu…
变量概述 在Azure DevOps Server的流水线中,变量是衔接不同任务和不通代理之间的桥梁,它可以使相对松散.各自独立的任务之间相关影响并共享数据.在流水线中使用变量,可以在各任务之间相互调用关键性的数据.顾名思义,变量是一个可以在流水线中变化值.在CI/CD的执行流水线中,我们都需要使用到各种用途的字符.数字,对象这些字符.数据的定义,我们可以采用变量的方式实现,而不需要在代码中硬编码.系统在运行流水线的过程中,将这些定义的变量自动替换为我需要的值.例如在线部署过程中,我们将用户名和…
前言 本文主要是讲解如何使用Azure DevOps+Docker 来实现持续集成Asp.NET Core项目(当然 也可以是任意项目). 打算用三个篇幅来记录完整的全过程 觉得有帮助的朋友~可以左上角点个关注,右下角点个推荐 CI/CD简介 首先,我们先来简单的介绍一下什么是CI/CD CI全拼Continuous Integration 持续集成我们的开发每天基本都会提交多次代码到主干上,这个时候如果需要编译或者打包,就会做一些重复性的动作,就可以用持续集成环境来操作.有集成了,就肯定少不了…
看到阿迪王那边出品了一个基于Azure Devops自增版本号  链接 http://edi.wang/post/2019/3/1/incremental-build-number-for-net-core-via-azure-devops 恰巧我自己也有一个版本(虽然核心原理是差不多的)也分享下 (以下均基于Tfs 2018的截图,Azure Devops Server暂时还没发布,只能Tfs将就着了,虽然Azure Devops跟当前的Tfs 2018已经界面有"一些"改动不过流程…
标题:如何将Azure DevOps中的代码发布到Azure App Service中 作者:Lamond Lu 背景 最近做了几个项目一直在用Azure DevOps和Azure App Service, 每次都要从零开始搭建从Azure DevOps向Azure App Service发布代码的环境,由于步骤比较繁琐,每次都会忘记其中几个步骤,所以在此总结一下,已备后续再次使用. Azure DevOps和Azure App Service Azure DevOps Azure DevOps…
介绍 Azure DevOps,以前称为Visual Studio Team Services(VSTS),可帮助个人和组织更快地规划,协作和发布产品.其中一项值得注意的服务是Azure Pipelines,它可以帮助开发人员构建持续集成(CI)和持续交付(CD)管道,从而自动化和标准化软件开发过程的构建,测试和部署阶段.此外,Azure Pipelines还提供本机容器支持,可与任何语言,平台和云配合使用.像软件开发这样的机器学习也是一个包括构建,测试和部署阶段的过程,这使其成为自动化和标准化…
本篇为翻译,原文地址:https://azure.microsoft.com/en-us/blog/introducing-azure-devops/ 作者:Jamie Cool,Azure DevOps项目管理总监 今天我们正式宣布Azure DevOps. 在与世界各地的客户和开发人员合作中,DevOps对团队的成功变得越来越重要. Azure DevOps在提供支持软件开发团队的工具方面拥有超过15年的投资和学习经验. 在过去的一个月中,有超过80,000名Microsoft内部用户和成千…
概述 Azure DevOps Server(之前名TFS)是微软公司实现软件研发.测试和部署一体化的全流程解决方案.在近几年的研发过程中,Azure DevOps Server 大幅增强了软件部署过程的自动化功能.对于系统运维人员而言,确保软件的稳定运行,是自己的第一工作目标.但是,在信息技术飞速发展的今天,信息系统的升级变更已经成了家常便饭.每周升级.每天升级.甚至一天升级数次,都已经见怪不怪. 为了提高软件的变更效率和质量,许多运维部门都使用部署脚本,实现系统升级的自动化.在软件升级过程中…
Azure DevOps Server 权限概述 在Azure DevOps Server (之前名称为TFS)中,权限是一个比较复杂的概念.从权限层级上来说,包括服务器级别.团队项目集合级别.团队项目级别和对象级别. 其中的对象级别,是指对TFS系统中具体的每种类型的数据.或者每个具体的数据,对于不同的成员(或组)可以设置不同的权限. Git权限概述 对于Git库这个特定的数据对象,在Azure DevOps Server 中又分为代码库级别权限.库级别和分支级别的权限设置.就是说,可以针对不…
SonarQube错误描述 将一个Maven示例程序导入到Azure DevOps的待库中,执行SonarQube扫描过程时, DevOps Server提示下面的错误信息: [ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar (default-cli) on project hellomaven: File src/test/java/com/mycom…
微软正式对外宣布Azure DevOps,其实就是原来的VSTS,我们来看一下Azure DevOps的介绍: 今天我们宣布Azure DevOps.与世界各地的客户和开发人员合作,很明显,DevOps对于团队的成功越来越重要.Azure DevOps捕捉超过15年的投资和学习提供工具支持软件开发团队.上个月,超过80000名微软内部用户以及数千名我们的客户,包括大小团队,使用这些服务来向您运送产品. 我们今天宣布的服务跨越了开发生命周期的宽度,以帮助开发人员更快和更高质量的发布软件.它们代表了…
1. 问题描述 当上传工作项附件时,系统提示"附件大小限制" 2.解决方案 2.1 默认设置 默认情况下,Azure DevOps Service和Team Foundation Server(TFS)将工作项附件的大小限制为4 MB.对于内部部署,您可以使用Web服务将附加的文件大小增加到2GB. 2.2 需要TFS管理员权限 需要TFS Administrators组成员资格,才能执行下面的配置操作. 2.3 操作方式 在TFS应用服务器上打开工作项附件设置的webservice:…
[前言]Github和Azure DevOps都提供了Git代码库功能,那么有没有办法将两边的代码库进行同步呢,答案是肯定的.这里的操作我都是用Azure DevOps的Pipelines功能来完成的,当然用Github的Actions应该也能达到类似的效果,其他小伙伴们不妨尝试一下. [从Azure DevOps到Github]由于我个人平时习惯于用Azure DevOps存放代码,所以这里就先讲如何将你再Azure DevOps提交的代码同步到Github仓库首先我们创建一个新的Pipeli…
1. 前言 2. Net Core项目本身的准备 2.1 dockerfile 2.2 创建kubernetes用于helm的chart包 2.2.1 说明 2.2.2 chart文件目录和文件组成 3. Azure Devops创建仓库的pipeline 3.1 前言 3.2 使用azure devops准备操作 3.3 创建service connections 3.4 新建pipeline流水线 3.5 创建部署shell脚本 4. 触发pipeline部署流水线 5. 关于均衡负载 1.…
在Azure DevOps中,管道可以用来构建解决方案,O(∩_∩)O哈哈~快万能了,本章主要介绍如何创建Nuget包并且将其发布到Nuget服务器的过程. 前面我创建了一个非常简单的类库,这边我不做过多叙述,接下来我们需要进行编辑csproj文件,当我们创建Nuget包时,我们将使用dotnet pack命令.这于传统的Nuget cli稍微有点不同,在传统的Nuget CLI中,我们创建nuspec文件并针对nuspec运行nuget pack.dotnet pack命令将从csproj创建…
一,引言 由于上一节文章内容过长,无法分享Azure Data Factory 的持续集成,持续发布.今天将着重介绍一下在使用 Azure DevOps Pipeline 发布,自动进行持续集成,并且已自动化发布,将Azure Data Factory 部署到多个环境中. 其实大家也不必惊讶,这里的部署其实也没有多么神秘的,我们在ADF中的 master 分支发布之后,其实会将ADF中所有的配置信息打包,编译到adf_master 分支下面,如果大家仔细看过发布之后的代码,就很很容易发现,都是一…
一,引言 之前我讲过的所有的案例中,都是将整个Azure Resource 部署到同一个订阅下,没有做到灵活的在 Azure Pipeline 在运行前选择需要部署的环境.在实际的项目开发中,我们也会遇到将这些基础设施资源验证完成后,分别部署到 DEV,UAT,PRD 等多个环境 .那么我们就带着个整个问题开始今天的分析. --------------------Azure Terraform 系列-------------------- 1,Azure Terraform(一)入门简介 2,A…
伴随着敏捷的遍地开花,如今各个开发团队越来越希望可以实现敏捷在自己团队内的落地,但是往往单纯的依赖人力难以实现敏捷的各个环节的管理, 大家开始渐渐的意识到,为了按时交付软件产品和服务,开发和运营工作必须紧密合作,由此DevOps应运而生. DevOps(英文Development和Operations的组合)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的沟通.协作与整合. 随着DevOps的发展,各大主流云厂商都开始推出了自家的产品:阿里的…
思路浅析 在我们分析的 Azure Terraform 系列文中有介绍到关于 Terraform 的状态文件远程存储的问题,我们在  Azure DevOps Pipeline 的 Task Job 加 azure_cli_script 执行内联脚本(该脚本帮我们创建好 Terraform 状态文件存储所在的 Azure Resource Group. Azure Storage Account.Azure KeyVault 等资源),需要注意的是,内联脚本中有使用动态变量,该变量临时存储 Az…
前几天,团队使用Azure Devops创建团队项目出了一个奇怪的错误: TF400797: 作业扩展具有一个未处理的错误: Microsoft.TeamFoundation.Framework.Server.TeamFoundationServicingException: TF400711: 在 ProjectCreate 期间,对组件 ProjectCreate.TfsTeamBuild 执行维护步骤"Create the Team Project"时出错: 文件存在. ---&…
Azure DevOps is a complete solution for software development, from planning to building to deployment. It has easy to use interface, with a nice flow from source code to publishing. Here is a nice link that talks about different services within Azure…
Azure DevOps https://azure.microsoft.com/zh-cn/services/devops/ It looks great!…
asp.net core webapi/website+Azure DevOps+GitHub+Docker 新春开篇作,主要写一下关于asp.net core web/api 2.2 项目借助devops和github实现CI 项目源码在GitHub里,点击这里获取 下面是录了一些视频,视频全部在B站,做了一下简单的介绍 asp.net core webapi 单元测试控制器(一) 点击这里浏览 asp.net core webapi 单元测试控制器(二) 点击这里浏览 asp.net cor…
macOS的终端输入git clone对应Azure DevOps的Git地址,紧接着输入正确的用户名和密码仍然会提示认证失败.解决的方法是安装微软的Git-Credential-Manager.由于它依赖Java 1.6以上环境,需要先提前安装JDK.安装参考:https://github.com/Microsoft/Git-Credential-Manager-for-Mac-and-Linux/blob/master/Install.md 当重新clone一个仓库的时候需要注意会弹出一个O…
通过Azure DevOps Server 提供与Excel集成的功能,用户可以非常便捷地使用Excel,实现工作项数据的同步. 对于需要批量处理数据.离线工作.制作临时报表的用户来说,这个功能必定成为你的最爱. 在使用这个功能的过程中,许多用户提出了一个这样的需求"如何在Excel中解除数据同步功能?". 故事场景是这样的: 用户小王使用"在Excel中打开"工作项功能(图一),将工作项数据同步到了本地计算机的Excel中.之后,小王非常快乐地修改数据,发布数据,…
现在QQ用户越来越少,基本上都转移到微信上了. 讨论问题,动不动就来一个微信群.下面这样几百人的微信群,专门讨论Azure DevOps (TFS)技术,你加入了么? 还等什么,扫描吧!…
流水线历史记录 DevOps Server流水线的历史记录有完善的版本日志,用户可以随时回退到修改过程中的任何一个版本,还能比较差异.这个历史记录功能可以和代码库中的版本控制媲美. 图一:生成历史记录 但是,如果实施工程师辛辛苦苦配置的复杂流水线,不小心被一个小白删除了,而你翻遍了Azure DevOps Server 的所有菜单也找不到流水线的回收站菜单,此时估计你跳楼的心都有了. 图二:生成定义中的删除按钮 还好,微软为你提供了一瓶后悔药,你还有最后的一种方法还原被删除的流水线,那就是Res…
Python和Azure DevOps Server Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初主要为系统运维人员编写自动化脚本,在实际应用中,Python已经在前端.后台.测试和大数据分析中广泛使用. DevOps Server (TFS)作为一个全流程的开发测试运维平台,支持Python语言,当然是必须具备的一个功能.下面介绍如何在DevOps Server中调用和运行Python脚本. 软件下载 由于Azure DevOps Server的流水线运行在代理…
需求: Azure DevOps Server 的拉取请求模块,为开发团队提供了强大而且灵活的代码评审功能.拉取请求中变更文件清单,对质量管理人员,是一个宝贵的材料.质量保障人员可以从代码清单中分析不通文件的修改频率.不通文件对应需求类型的关联关系的功能.通过对这些数据的分析,可以深度挖掘开发过程中积累的数据的价值.下面介绍如何使用Azure DevOps Server 提供的Rest Api 轻易获取拉取请求的变革清单文件. 第一步:获取所有拉取请求 首先需要从拉取请求清单中获取你指定的拉取请…