DC娱乐网

推荐一个基于C

我是编程乐趣,一个10年.Net开发经验老程序员,点击右上方“关注”,每天为你分享开源项目和编程知识。私信回复:888,
我是编程乐趣,一个10年.Net开发经验老程序员,点击右上方“关注”,每天为你分享开源项目和编程知识。私信回复:888,领取.Net学习资料! 推荐一个开源的跨平台构建自动化系统,对于C# 程序员来说,使用熟悉的 C# 语法来编写构建脚本,而不需要学习新的脚本语言。 01 项目简介 Cake 是一个构建自动化工具,它使用 C# 编写的领域特定语言(DSL)来定义构建任务。 它可以完成诸如编译代码、复制文件/文件夹、运行单元测试、压缩文件以及构建 NuGet 包等任务。 02 主要特性 1、基于 C# 的 DSL:使用 C# 编写构建脚本,支持完整的 C# 语言特性。 2、跨平台支持:可在 Windows、Linux 和 macOS 上运行。 3、丰富的工具集成:支持 MSBuild、dotnet CLI、NuGet、NUnit、xUnit、MSTest 等。 4:、支持 Docker、Azure、AWS 等云服务 5、与 CI/CD 系统集成:支持 Azure DevOps、Jenkins、GitHub Actions 等。 03 简单示例 // 获取命令行参数"target",如果没有提供则默认为"Test"// 运行时可指定:--target=Clean 或其他任务名var target = Argument("target", "Test");// 获取命令行参数"configuration",如果没有提供则默认为"Release"// 运行时可指定:--configuration=Debugvar configuration = Argument("configuration", "Release");//////////////////////////////////////////////////////////////////////// TASKS - 定义构建任务//////////////////////////////////////////////////////////////////////// 定义名为"Clean"的任务Task("Clean")    // 设置执行条件:只有当命令行有"rebuild"参数时才执行    // 运行时可指定:--rebuild    .WithCriteria(c => HasArgument("rebuild"))    .Does(() =>{    // 清除指定配置的输出目录    CleanDirectory($"./src/Example/bin/{configuration}");});// 定义名为"Build"的任务Task("Build")    // 设置任务依赖:执行Build前必须先执行Clean任务    .IsDependentOn("Clean")    .Does(() =>{    // 使用DotNetBuild命令构建解决方案    DotNetBuild("./src/Example.sln", new DotNetBuildSettings    {        Configuration = configuration, // 使用指定的配置(Release/Debug)    });});// 定义名为"Test"的任务Task("Test")    // 设置任务依赖:执行Test前必须先执行Build任务    .IsDependentOn("Build")    .Does(() =>{    // 使用DotNetTest命令运行测试    DotNetTest("./src/Example.sln", new DotNetTestSettings    {        Configuration = configuration, // 使用指定的配置        NoBuild = true, // 不重新构建,因为Build任务已经完成了构建    });});//////////////////////////////////////////////////////////////////////// EXECUTION - 执行目标任务//////////////////////////////////////////////////////////////////////// 运行指定的目标任务(默认为Test)// 这将按依赖关系依次执行:Clean(如果有rebuild参数)->Build->TestRunTarget(target);04 项目地址 https://github.com/cake-build/cake - End -