如何使用Visual Studio无需成本即可实现连续集成
目录
介绍
EasyCI入门
如何准备开发环境
安装Easy持续集成服务器和客户端
编写一个简单的解决方案来测试EasyCI
测试EasyCI
配置EasyCI
“Easy Continuous Integration Server”如何定义其管道
EasyCI是一个被认为可以使连续集成易于使用的程序
介绍
持续集成是每个开发人员都有兴趣拥有的东西,但它并不容易获得,个性化和维护。
EasyCI是一个程序,被认为使连续集成易于使用,并允许它的可扩展性和可维护性。在下面的内容中,我将尝试解释如何使用免费工具轻松获得无成本的CI解决方案。
EasyCI入门
作为开发环境,可以使用Visual Studio 2017“社区版”
它可以从这里下载。(你也可以破解版,你懂的~~)
微软保留商业用途最多5个开发者:
组织许可。如果您是某个组织,您的用户可以按如下方式使用该软件:
- 您的任何数量的用户都可以使用该软件开发和测试在开源倡议(OSI)批准的开源软件许可下发布的应用程序。
- 您的任何数量的用户都可以使用该软件来开发和测试Visual Studio的扩展。
- 您的任何数量的用户都可以使用该软件来开发和测试Windows操作系统的设备驱动程序。
- 您的任何数量的用户都可以使用该软件开发和测试您的应用程序,作为在线或面对面的课堂培训和教育,或进行学术研究的一部分。
- 如果以上都不适用,并且您也不是企业(定义如下),那么最多5个人用户可以同时使用该软件来开发和测试您的应用程序。
免费使用30天后,可以使用Microsoft Live帐户永久激活它。
如何准备开发环境
- 安装新的Windows(7或更高版本的计算机)或使用现有的计算机。
- Downoad Visual Studio社区版(从这里)。
- 启动安装程序,并在显示“用户帐户控制窗口”时单击“是”。
- 单击“继续”按钮。
- 等待下载完成。
- 选择组件,如下图所示。
- 安装完成后,使用Microsoft帐户登录(或创建一个帐户)。
- 登录后,窗口会显示您的凭据。
- 要激活Visual Studio,需要转到“帮助”=>“关于Microsoft Visual Studio”
- 将打开一个窗口,需要点击“许可证状态”链接。
- 许可证是试用版。要将其更新为完整许可证,只需单击“检查更新的许可证”链接即可。
- 单击完成后,许可证将升级为完整的“Visual Studio社区”类型。
安装Easy持续集成服务器和客户端
安装程序可在此处获得。
- 下载安装程序后,安装'Easy Continous Integration Server.msi'
- 在欢迎界面上点击“下一步”。
- 接受“许可协议”并点击“下一步”。
- 如果需要,请重新选组安装文件夹并点击“下一步”。
- 点击“安装”按钮。
- 在“用户帐户控制”窗口中点击“是”。
- 安装完成后点击“完成”。
- 从下载文件夹中启动“EasyCI.msi”,并以与上面相同的方式继续。
- 如之前链接所述,完全禁用用户帐户控制将是一件好事(为了简化开发人员的生活)。
编写一个简单的解决方案来测试EasyCI
该解决方案位于“Inheritance文件夹下。
测试EasyCI
- EasyCI安装完成后,可以同时运行'EasyCI'和'Easy ContinousIntegration Server'(第一个在任务栏中最小化,可以双击其任务栏图标恢复)。
- 如果我们通过EasyCI恢复窗口(双击任务栏上的图标)删除一个'.sln'文件(参见EasyCI分发的Inheritance 子文件夹),程序将询问要生成“nuget”包的项目是什么,以及要生成安装项目的项目是什么。
- 然后编译将开始,执行单元测试并创建安装项目
- 从“Archive”目录中获取安装项目,可以安装生成的安装程序。
- 可以接受用户协议。
- 选择安装文件夹。
- 确认安装。
- 等待安装。
- 完成整个安装过程。
- 每个循环后,每个构建都被归档(默认情况下在'c:\Temp\Archive'下)
- 对于每个编译项目,构建输出都保存在名为'[ProjectName] _ [CompileDate] - [CompileTime] _ [TargetFramework] .zip'的文件中
- 所有源代码都保存在名为'[SolutionName] _Source_ [CompileDate] - [CompileTime] .zip'的文件下。
此zip包含两个主文件夹:- 包含子文件夹(名为'[SolutionName] _ [CompileDate] - [CompileTime]')的文件夹存档,其中包含生成的'.nupkg'文件
- 在包含完整源代码的编译期间使用的名为临时文件夹的文件夹
同一文件夹还包含两个名为“[SolutionName] .bat”和“[SolutionName].actions.bat”的批处理文件
- 第一个包含所有的在构建/测试/打包(build/test/pack)过程中执行的命令
- 第二个允许使用名为“ExecuteAction.exe”的“Easy Continous Integration Server”安装路径中包含的命令重现所有构建/测试/打包(build/test/pack)过程
- 第一个包含所有的在构建/测试/打包(build/test/pack)过程中执行的命令
- 包含子文件夹(名为'[SolutionName] _ [CompileDate] - [CompileTime]')的文件夹存档,其中包含生成的'.nupkg'文件
配置EasyCI
可以配置EasyCI默认具有的各种行为。
下面是这些配置的完整列表:
- ConfigurationName:获取或设置项目文件中使用的配置的名称(默认情况下为:Debug或Release)。
- DontAllowTargetFrameworkToOutputPath:获取或设置不允许目标框架以Visual Studio 2017项目格式输出路径的可能性。
- FilesToProcess:获取或设置要处理的文件。
- FilesToRemove:获取或设置要删除的文件(不处理)。
- FileTypesToInclude:获取或设置要包含的文件类型。
- FoldersToExclude:获取或设置要排除的文件夹。
- IncompatibleAssemblies:获取或设置不兼容的程序集。
- PackagesDirectory:获取或设置包目录。
- Platform:获取或设置平台(x86,x64或AnyCPU)。
- ProjectsExtensionsParts:获取或设置支持的项目扩展名(.vbproj,.csproj)。
- ProjectsToPatch:获取或设置要修补的项目。
- RemovePackagesAsAssemblyReference:获取或设置将包作为程序集引用删除的可能性。
- SettingsToEdit:获取或设置要编辑的设置。
- WildcardsToInclude:获取或设置要包括的文件类型通配符。
- ArchiveZipDirectory:获取或设置归档构建zip文件的目录。
- VisualStudioPath:获取Visual Studio路径。
- SolutionToPublish:获取或设置要编译的解决方案,构建安装程序并将包发布到nuget。
- SolutionsToPublish:获取或设置要编译的解决方案集,构建安装程序并将包发布到nuget。
- ProjectsToCreateInstall:获取或设置要创建安装的项目。
- NugetLocation:获取或设置nuget位置。
- DeleteOldLogs:获取或设置删除旧日志的信息。
- ProjectsToInclude:获取或设置要包含的项目。
- DeleteNuSpecIfExists:获取或设置如果存在则删除nuspec文件的信息。
- HigherVersionRange:获取或设置更高版本范围以增加实际包版本。
- ResourcesDirectory:获取或设置用于创建安装程序项目的资源目录。
- WinUIExtension:获取或设置win UI扩展。
- KeyToPublish:获取或设置要发布的密钥。
- LowerVersionRange:获取或设置较低的版本范围,以确定是否必须考虑之前的包以达到兼容性。
- NuGet:获取或设置从中下载nuget.exe的URL。
- NugetServer:获取或设置官方nuget服务器URL。
- PrivateNugetServer:获取或设置私有nuget服务器URL。
- PrivateNugetServerBase:获取或设置私有nuget服务器基本URL。
- PublishToOfficialRepository:获取或设置一个值,该值指示是否发布到官方nuget服务器。
- ReleaseNotes:获取或设置发行说明。
- RequireLicenseAcceptance:获取或设置一个值,该值指示包是否需要许可证接受。
- NugetUpdate:获取或设置有关更新nuget包参考的项目的信息。
- Tags:获取或设置用于创建包的标签。
- VersionIncrement:获取或设置版本增量。
- BaseAddress:获取或设置用于各种Easy持续集成服务器控制器的基础地址。
- TemporaryDirectory:获取或设置临时目录。
- ZipExclusion:获取或设置zip排除通配符。
“Easy Continuous Integration Server”如何定义其管道
Easy Continous Integration Server使用文件“EasyContinousIntegrationServer.exe.config”中定义的信息定义其管道。
查看此文件,在其开头,我们可以看到两个重要部分:
- 第一个定义了可能的插件:
这里,我们有许多条目,其中一个键定义了一个接口名称和一个值,而其中定义了程序集名称和实现该接口的类。
请注意,每个自定义接口必须从程序集“NugetLibrary”中定义的“IPipelineAction”接口继承,这一点很重要。
每次需要使用该接口的操作时,“Easy Continous Integration Server”将尝试加载值中指定的类(如果尚未加载)并执行“IPipeLineAction”接口中定义的方法“Execute”。主要思想是,如果有人想要在“Easy Continous Integration Server”管道中定义一个新动作,那么就可以在自定义程序集中创建一个继承自“IPipeLineAction”接口的新接口及其类(使用.Net Framework)版本4.6或更高版本),并在文件'EasyContinousIntegrationServer.exe.config'顶部添加一个定义。 - 第二个定义了插件序列:
'Easy Continous Integration Server'管道由三个子部分组成。
- BuildActions:用于构建和测试解决方案。
- BuildInstallersActions:用于创建安装程序。
- FinalActions:用于存档结果文件。
原文地址:https://www.codeproject.com/Articles/1273315/How-to-obtain-continous-integration-using-Visual-S
如何使用Visual Studio无需成本即可实现连续集成相关推荐
- 使用Visual Studio Code 运行ROS
Visual Studio Code 运行ROS 学习目标: 操作步骤: Visual Studio Code下载 Visual Studio Code安装与卸载 安装 方式1:双击安装即可(或右击选 ...
- 【Tools】Visual Studio 2019搭建Qt开发环境
00. 目录 文章目录 00. 目录 01. 概述 02. Visual Studio 2019安装 03. Qt6安装 04. qt-vsaddin插件下载 05. qt-vsaddin插件安装 0 ...
- [翻译] 使用 Visual Studio 2019 来提高每个开发人员的工作效率
原文: Making every developer more productive with Visual Studio 2019 今天,在 Microsoft Connect(); 2018 的主 ...
- 在 Visual Studio .NET 中使用 SQL Server 2000 创建数据库应用程序(1)
适用于: Microsoft? SQL Server? 2000 Microsoft Visual Studio? .NET 摘要:如何使用 Visual Studio .NET 工具 ...
- 宇宙第一 IDE Visual Studio 2019 支持 C++ 和 Python 了!
图来自官网 作者 | Peter Bright 译者 | 弯月 责编 | 伍杏玲 出品 | CSDN(ID:CSDNnews) [CSDN 编者按]根据PYPL 2019年4月最新的IDE指数榜单,在 ...
- Visual Studio 2019 发行说明
原文:https://docs.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes 单击按钮即可下载最新版 Visual Stud ...
- 将 Visual Studio 的代码片段导出到 VS Code
导语 和原文作者一样,水弟我现在也是使用 VS Code 和 Rider 作为主力开发工具,尤其是 VS Code 可以跨平台,又有丰富的插件支持和多种编程语言支持.当我从 VS 转移到以 VS Co ...
- Visual Studio 2017十五项新功能体验
Visual Studio 2017正式已经于2017.3.7号正式发布,选在这一天发布也是为了纪念Visual Studio 二十周年.MVP 2017技术峰会将于这个周末(3.17)在北京举办,由 ...
- Visual Studio 2015正式版/产品密钥
Microsoft 开发人员工具:Visual Studio官网正式发布了Visual Studio 2015 正式版!现在,微软MSDN订阅网站镜像文件已经全部上线,包括简体中文免费版.专业版.企业 ...
最新文章
- Google Test(GTest)使用方法和源码解析——死亡测试技术分析和应用
- Servlet中转发和重定向的路径问题以及表单提交路径问题
- LinuxWorld 2007:Linux从狂热走向理性
- 二次重建基本完成辣!
- rdd.foreach(print)报错SyntaxError: invalid syntax
- mysqld --initialize --console 没有 打印信息_JavaScript设计模式--装饰者模式
- JXLS 2.4.0学习
- 中fuse_一种用于将mRNA快速转染到活细胞细胞质中的融合试剂
- RxSwift 5官方Demo调试和学习资源
- 什么是CMMI资质认证?
- 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(6)- Bootable image格式与加载(elftosb/.bd)...
- excel找出重复值
- Echarts3柱状图切换折线图时发生位移
- 获取当前系统时间(取相对于系统时间的前一周时间)
- CSDN图片加载不出来,edge浏览器能够解决
- redis-manger管理平台
- 信息数据采集软件-什么工具可以快速收集信息
- 低效能程序员的行为与思维
- Choerodon前端环境变量方案
- 吸附去除溶液重金属离子工艺原理
热门文章
- mysql索引的概念和作用_索引的基本概念及作用
- matlab 把区间等分分,MATLAB数学实验报告 定积分的近似计算
- java三步 网易_Java基础:三步学会Java Socket编程·网易学院·教程
- 新年到!充满年味的海报给你参考
- 设计师经常逛的网站?
- 电商大促首焦背景素材|大火C4D元素
- PSD分层模板|电商促销海报设计技巧
- PSD分层可临摹模板|无线端电商页面UI设计几个常见的错误
- APP界面设计临摹模板 |教你ui kit套件要怎么使用呢?
- [译] Cilium:BPF 和 XDP 参考指南(2021)