首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

0.C#Make自动化构建-简介

Cake是C# Make的缩写,是一个基于C# DSL的自动化构建系统。它可以用来编译代码,复制文件以及文件夹,运行单元测试,压缩文件以及构建Nuget包等等。...可靠的:可以建立在自己的机器上,也可以建立在像AppVeyor,TeamCity,TFS,VSTS或Jenkins这样的CI系统上,都可以以相同的方式运行。...添加一个文本文件build.cake(文件名随意,笔者懒调整build.ps1中指定的cake脚本文件而已。...原因是我的一个Demo.Tests这个项目引用了xUnit的包,MSBuild没能正确的还原nuget包,这不知道算不算一个bug,笔者之前用 Cake的MSBuild来build vs2015的项目的时候是没有问题的...其次Cake基于Roslyn和Mono,使得它可以提供跨平台的自动化构建,也可以运行在各种常用的CI系统之上。

1.6K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    译 | .NET Core 基础架构进化之路(一)

    不希望这样做的仓库可以从各种提供基本功能(如签名和打包)的 MSBuild 任务包中进行选择,这些功能在所有存仓库看起来都相同。当我们对这些任务进行更改时,我们会尽力避免重大更改。...此外,由于这些脚本在存储库之间同步,因此对 Arcade 存储库中的原始副本进行新更改可以快速将新功能或行为引入完全采用共享工具的存储库。...我们在一个特殊的脚本文件中定义了 Jenkins PR 作业,TeamCity 有许多手动配置的作业,AppVeyor 和 Travis 使用自己的 yaml 格式,Azure DevOps 具有我们在它之上构建的模糊自定义系统...很容易在 PR 中更改生成逻辑并中断官方的 CI 构建。为了缓解这种情况,我们确实努力在正式 CI 和 PR 构建中通用的脚本中保留尽可能多的逻辑,但差异总是随着时间的推移而逐渐减少。...有了这种新的支持,我们可以将所有现有的工作流从单独的系统移动到现代 Azure DevOps 中,还可以对如何处理正式的 CI 和 PR 工作流进行一些更改。

    2.7K40

    Docker最全教程之使用TeamCity来完成内部CI、CD流程(十六)

    自动部署推荐使用腾讯云镜像触发器实现,此步骤也可以使用脚本实现,如果是普通的.NET代码,推荐编写webdeploy命令脚本来完成自动部署。通知推荐大家使用钉钉机器人。...TeamCity在它的免费版本中提供了所有功能,但仅限于20个配置和3个构建代理。额外的构建代理和构建配置需要购买,你可以在这里找到价格。...· MSBuild工具(基于windowsservercore的镜像) · docker-engine(Linux) 创建Teamcity Agent代理服务 创建TeamCity Agent容器服务主要分为以下几个步骤...接下来,我们就可以配置触发器、失败条件判断以及参数等其他配置。整个构建步骤配置起来非常简单,大家也可以结合我之前的CI教程来完善配置,比如添加对镜像推送的步骤等。...在这个过程中,可能大家需要用到一些构建参数、环境变量等等,我们可以打开对应agent的Agent Parameters面板来查看详情: ? ? ?

    2.3K20

    Docker最全教程之使用TeamCity来完成内部CI、CD流程(十七)

    自动部署推荐使用腾讯云镜像触发器实现,此步骤也可以使用脚本实现,如果是普通的.NET代码,推荐编写webdeploy命令脚本来完成自动部署。通知推荐大家使用钉钉机器人。...TeamCity在它的免费版本中提供了所有功能,但仅限于20个配置和3个构建代理。额外的构建代理和构建配置需要购买,你可以在这里找到价格。...· MSBuild工具(基于windowsservercore的镜像) · docker-engine(Linux) 创建Teamcity Agent代理服务 创建TeamCity Agent容器服务主要分为以下几个步骤...接下来,我们就可以配置触发器、失败条件判断以及参数等其他配置。整个构建步骤配置起来非常简单,大家也可以结合我之前的CI教程来完善配置,比如添加对镜像推送的步骤等。...在这个过程中,可能大家需要用到一些构建参数、环境变量等等,我们可以打开对应agent的Agent Parameters面板来查看详情: ? ?

    1.8K10

    21 个好用的持续集成工具,总有一款适合你

    TeamCity TeamCity 是一款拥有很多强大功能的持续集成服务器。...特点: 允许选择构建环境 支持多语言及平台,如Linux,包括C ++,Javascript,NET,PHP,Python 和 Ruby 支持 Docker,可以配置自定义环境 触发较新的构建时,自动取消排队或正在运行的构建...特点: 专门设计用于在 Salesforce Platform 上部署 支持基于 120 多种元数据类型的更改,实现精简和快速部署 从版本控制系统获取更改并自动部署到 Sandbox 中 直接从 Sandbox...在使用 Windows 调度程序调度构建脚本时,可以定义和调试构建脚本,或者与 Jenkins,Continua CI 等集成。...特点: 可在各种操作系统和体系结构上运行 可以从任何版本控制系统运行代码 允许在计算机上运行任意数量的构建代理 可与 Slack,HipChat,Flowdock,Campfire 等工具集成 永远不会读取源代码或密钥

    2.7K20

    那些年用过的开源项目(.netc# stack)

    nuget+msbuild .net技术栈里面用于包管理加项目构建的工具,类似于java技术栈里面的maven,nodejs技术栈里面的npm+grunt/gulp。...teamcity 持续集成持续部署工具,JetBrains公司出的。类似的还有jenkins。 coverity 静态代码扫描。...更详细的关于java和.net技术栈的对比,可以参考我的另外一篇文章(从Java转向.NET/C#,Are You OK?)。...zookeeper 可以作为服务注册和分发组件,类似于eureka、consul。同时,其也可以用于实现分布式锁,可以参考我之前的一篇文章(liquibase和flyway中分布式锁实现的区别?)。...了解更多,可参考我的另外一篇文章(负载均衡在微服务架构中的典型应用场景)。 ocelot 开源的API Gateway组件。

    1.3K10

    TeamCity VS Jenkins:选择正确的CI CD工具

    在有关TeamCity vs.Jenkins的这篇文章中,我试图帮助您选择适合您需要的正确CI / CD工具。在开始进行TeamCity与Jenkins的比较之前,我将从CI / CD的基础知识开始。...在撰写本文时,TeamCity的最新版本为2020.1。此版本支持条件构建步骤,您也可以在Kubernetes集群中启动构建代理。...使用TeamCity,您可以通过多种方式进行自定义,交互和扩展服务器。有一些选项可以通过RESTful API执行交互,使用构建脚本中的服务消息,以及使用Open API为TeamCity创建插件。...您可以在TeamCity和Jenkins上针对不同的构建和环境运行并行构建。詹金斯(Jenkins)通过并行阶段执行此操作,这是几年前在产品中引入的功能。...答案应该与您的期望(从工具本身)和总体项目要求(包括预算)一起划掉。 总而言之 我详细介绍了两种流行的CI / CD工具-Jenkins和TeamCity。

    7.2K20

    10 分钟带你了解最常见的 DevOps 工具

    DevOps的目的是:“减少从系统更改到投入生产之间的时间,同时确保高质量”。 当你考虑构建和运行系统时,实际上会有很多事情要做。...目前,你无法在大多数云服务中购买硬件设备,但可以购买由硬件设备提供的服务。...我的可以创建一些配置和一些脚本,然后使用CI/CD工具运行它们,它们自动在数据中心中提供我们的所有服务。...构建工具 –一些软件需要先进行编译,然后才能打包或使用,传统的构建工具包括Make,Ant,Maven和MSBuild。 持续集成工具 –每次你将代码提交存储库时,它都会构建,部署和测试软件。...这通常可以提高代码质量和减少投产时间。这个市场上最受欢迎的工具是Jenkins,Travis,TeamCity和Bamboo。

    1.3K11

    用TeamCity实现npm项目的自动部署

    TeamCity是Jetbrains的持续集成工具,免费使用的话可以设置20个构建脚本,对于我们个人来说基本上是够用了。当然假如以后超过限制了,可以考虑使用另一个著名的持续集成工具Jenkins。...这个问题可以参考为什么我的Linux服务器不支持Unicode。 TeamCity配置 创建项目 我的这个项目是使用Vue脚手架搭建的一个基于WebPack的npm项目,并上传到了Git仓库。...创建构建步骤 这个地方就是本文的核心所在,当理解了TeamCity的构建设置过程之后,我们就可以自由的组合出比较复杂的构建过程。 ?...本来在这一步我还直接在自定义脚本那里填写了npm run build这一行代码,但是结果发现TeamCity好像并没有执行这一行,所以只能讲这个添加为单独的构建步骤。...等到下次开发好项目并提交的时候,TeamCity就会自动检测到变化并执行构建、提交到服务器。这个过程是完全自动化的,我们要做的就是等待片刻就可以看到服务器上的实时变化,是不是很爽呢?

    2.5K90

    .NET 基金会项目介绍-Cake

    Cake Cake 是一款支持多操作系统的自动化系统,其采用 Roslyn 和 Mono 编辑器进行构建,并采用 C# 作为自动化系统的脚本语言。...实践已经证明,自动化操作的快乐远远不止于一键操作的快意,采用自动化框架可以避免很多人工造成的错误。 Cake 是一款采用 C# 作为脚本语言的自动化框架。这很特殊,特殊到以至于有种过分耦合的感觉。...它本身是一套组织脚本的框架,因此它类似于 Gradle、Ant、Psake等等,而并不是类似于 Jenkins、TeamCity等等。...它很强大,因此如果笔者下一个.Net项目还需要选型自动化框架的话,我愿意选择 psake 。...Protection Library - 【Web防攻击工具库】 MimeKit - 【MIME处理工具库】 ML.NET - 【机器学习框架】 Cecil - 【语言底层项目】 Mono - 【语言跨平台底层项目】 MSBuild

    64530

    .NET Core单元测试之搞死开发的覆盖率统计(coverlet + ReportGenerator )

    dotnet tool install --global coverlet.console 或者和我一样懒的话,直接在项目里面引用 “coverlet.msbuild” 这个包也行....msbuild" Version="2.5.0" /> 引用之后,执行dotnet test 的时候加多三个参数 dotnet test...CoverletOutput 测试报告数据输出路径 CoverletOutputFormat 测试报告格式,支持这些格式json (default)/lcov/opencover/cobertura/teamcity...这个工具可以讲上面这些不是人看的XML转换成HTML输出. 美滋滋啊美滋滋啊. 他们居然还有一个配置指导的页面ReportGenerator/usage 真良心!!!...,直接在命令行里面使用 reportgenerator 生成对应的测试报告即可.我这边的命令大概是: reportgenerator '-reports:UnitTests/results/*.xml'

    1.1K10

    VS2010工程的自动编译

    ,给大家建议是尽量要用脚本来控制构建的过程,在Jenkins里面敲大量的命令行不是好的方法。...点击“立即构建”,Jenkins就自动从Github上clone你的vs项目到你本地的Jenkins的目录的workspace下,所以你的命令行要对这个目录进行操作。...vs项目的构建是比较简单的,你只需要在目录下进行你需要的命令行操作 MSVC提供了很多的命令行构建工具,除了devenv.com,还有msbuild,PSExec,MSTest等,可以根据自己的需要去网上查阅...在windows的批处理环境下,Jenkins判断项目构建的成功与否是根据ERRORLEVEL是否为0,非0则构建失败,你可以通过对ERRORLEVEL的控制,对构建结果进行控制。...下面是我的vs项目构建的脚本,是用批处理写的,希望对大家有一定的参考意义。 set qtpproj=%cd% cd ..\..\..\..\ "%VS100COMNTOOLS%..

    30320

    还不会Github Actions自动构建?一起来看看吧

    Actions里面支持非常多的构建类型,通常你可以找到一个可以用的模板,如下: 比如我是windows开发,那么就选择了MSBuild based projects这个。...点击Configure会创建一个msbuild.yml文件,默认会给你提供VS编译工具。 由于yml的内容非常多,可以参考官方文档,这里我列一下我构建时遇到的问题。...我在处理版本号时需要读取源码中的版本字符串,这个是用python写的脚本,如上图中,直接使用uses就可以了,可以指定python版本。这样可以在系统中非常方便的写python了!...默认run只会执行一条命令,如果写成run: |,那么可以写任意多行的命令,这样非常适合在yml中写shell脚本,而无需调用bat文件。 4 如何使用打包工具nsis?...答案是可以,不过上传有一定概率失败,可能是速度有点慢容易超时。我打包后的文件是29MB,因此需要做超时处理。 6 使用这个有限制吗?

    3K30

    Gradle For Android(8)--建立持续集成

    介绍 Continuous Integration(CI)持续集成可以在团队中每天构建非常多次。每一次自动构建都可以验证最新Push到主仓库的提交。...你可以在Jenkins中设置基于该仓库来自动构建你的App或者Library,或者选择手动构建。为了真正的开始进行构建,我们需要添加一个实现了Gradle的构建脚本。...使用Gradle Wrapper不仅消除了在构建服务器上手动安装Gradle的需要,而且可以确保自动处理Gradle的任何更新 你可以为构建脚本输入一个好的描述,并且添加两个开关info和stacktrace...TeamCity也支持Gradle的Android构建。 Setting up TeamCity 我们可以从JetBrains官网中下载TeamCity并且安装。...首先,我们需要添加一个VCS路径,让TeamCity可以找到工程的源代码。然后创建一个新的构建配置。然后将VCS路径绑定到构建配置中。当配置完后,就可以开始添加一个新的构建脚本了。

    1.2K30

    推介7个CI CD(持续集成和持续部署)工具

    如果在同一分支上触发了较新的构建,则该工具会识别它并取消正在运行或排队的旧构建,即使构建未完成也是如此。...一旦TeamCity在您的版本控制系统中检测到更改,它就会向队列添加构建。服务器找到空闲兼容的构建代理,并将排队的构建分配给此代理,该代理执行构建步骤。...还有一件事:TeamCity附带了一个gated提交选项,可以防止开发人员破坏版本控制系统中的源代码。这是通过在提交之前远程运行构建以进行本地更改来完成的。...此集合包括可自定义的外部服务的部署脚本,用于安装默认情况下未包含在构建VM上的特定软件版本的脚本等。...对于包含发行板,代码审查中的多个批准,高级语法搜索和一些其他功能的计划,价格从3.25美元/月开始。 还有一件事:GitLab(和GitLab CI)是一个开源项目。

    22.9K32

    使用jenkins自部署Coding项目

    发布.net代码则需要安装MsBuild Plugin插件 使用nodejs 在服务器上面安装后设置下全局的东西,Jenkins我觉得可以不装,都是自己写脚本然后Jenkins去触发这个脚本的 npm...总会成功的 部署.net framework项目 先确保能够使用msbuild能够正常编译项目,能够正常编译,剩下的事情就简单了 使用msbuild构建.net framework项目: msbuild...vs2012一点问题也没有~ 解决了这个问题就可以正常编译了 在Jenkins中构建mvc项目 正常步骤~ ?...我的步骤 ? ? 将构建交给脚本而不是Jenkins。...Jenkins去触发这个或者这些脚本即可 在Jenkins中构建net core项目 环境ok了就是脚本的问题,core项目如果要直接发布到iis站点下,会有文件占用的问题。

    2.7K20

    C++ ToolSet是V141

    看起来你要构建的项目来自VS2017,它的C++ ToolSet是V141。 正如您提到的,您使用的是工具集为 V142 的 VS2019。...修复它: 1.我们可以将解决方案重新定位到V142 ToolSet,然后VS2019 msbuild工具构建好(在VS2019中打开.sln,右键solutionName并选择重新定位) 2.另外,您可以选择在...在 VS2019 中,转到 Tools=>Get Tools and Features=> 为 VS2017 安装 C++ 构建工具: (假设您的项目是 X64/X86,而不是 Arm) 点击修改安装V141...【讨论】: 我已经按照你说的进行了上述设置。我的问题是 Build 不是仅通过 Jenkins 生成的。使用正常的 CMD 提示,我可以生成 Build。...2.对于jenkins,它看起来类似于this issue,您可以尝试更改脚本并显式设置VCTargetsPath值。

    28520

    持续集成工具TeamCity快速入门

    这里要说下,TeamCity分为两个服务,一个叫做构建代理,实际的项目构建都是通过这个代理服务来执行的;另一个服务就是TeamCity的网页版控制端,让我们可以方便的通过网页进行管理。.../teamcity-server 使用TeamCity 初始化 安装完成并启动TeamCity之后,我们就可以在Web页面中访问它了。...\jdbc下,然后在TeamCity中配置相应的数据库用户名和密码以便访问数据库。...这里我同时选择了代码覆盖率功能,可以看到非常方便的图表显示。 ? 自动构建 前面所有操作全部是手动点击执行构建的。...邮件通知 如果构建失败的话,TeamCity可以向你账户发送电子邮件提醒你状况,不过这需要你在TeamCity中设置SMTP服务器才行。如果是公司的话,应该可以使用公司的企业邮箱进行设置。

    5K80

    说说gitlab中的.gitignore文件

    **原理**: - `.gitignore` 文件本身需要被加入到版本控制中,这样其他开发者可以知道哪些文件是被忽略的。...- Git 会读取 `.gitignore` 文件中的规则,并根据这些规则来确定哪些文件应该被忽略。 - 规则可以是文件名、目录名、文件扩展名,也可以是复杂的模式匹配。3....需要使用 `git rm --cached ` 来从 Git 索引中删除该文件。2....**忽略构建产物**: - 构建产物(如 `node_modules`、`dist/` 等)应该被忽略,因为它们可以通过构建脚本重新生成。11....通过避免这些常见的错误和误解,可以更有效地使用 `.gitignore` 文件来管理 Git 仓库中的文件。【小结】别小看一个个运维的小技术点,有时候能帮上大忙。

    17020
    领券