持续集成配置之Nuget
持续集成配置之Nuget
Intro
本文是基于微软的 VSTS(Visual Studio Team Service) 做实现公众类库的自动打包及发布。
之前自己的项目有通过 Github 上的 Travis 和 Appveyor,这次主要是用 VSTS 来做的,对比 appveyor 和 vsts 上的持续集成,vsts 上微软把常用的工具和部署形式做了一个抽象,不需要完全自己写配置写脚本,一如 windows 的图形化操作界面,可视化操作,图形化配置。
定义 Build Pipeline
- 定义一个新的 build pipeline

选择分支

- 设置 Build Agent

点击 Pharse 后面的加号以添加 build task
添加 dotnet restore
添加 dotnet build

- 添加 dotnet test

- 添加 dotnet pack

设置自动设置包版本号

添加 Publish Artifact
publish 生成的package

设置变量,定义编译模式

设置 CI,有代码push到该分支自动启动这个build pipeline

定义 Release pipeline
新建 release pipeline

添加 artifact,选择 build pipeline

启用 CD

定义task,push package

More
其实也可以只定义 Build pipeline 在 dotnet pack 之后直接 push package 到 nuget 里,
为了区分 build(ci) 和 release(cd),做了拆分,后面可以根据我们要实施的分支策略具体考虑怎么实施CI/CD。
Contact
Contact me: weihanli@outlook.com
持续集成配置之Nuget的更多相关文章
- GitLab CI持续集成配置方案(补)
上篇文章介绍了GitLab CI的持续集成配置方法,本篇文章将主要介绍NUnit的持续集成和遇到的一些坑 1.NUnit单元测试持续集成 下载NUnit.3.4.1.msi,https://githu ...
- GitLab CI持续集成配置方案
目录 1. 持续集成介绍 1.1 概念 1.2 持续集成的好处 2. GitLab持续集成(CI) 2.1 简介 2.2 GitLab简单原理图 2.3 GitLab持续集成所需环境 2.4 需要了解 ...
- 【转】jenkins持续集成配置
搭建jenkins持续集成服务器 1.jenkins简介 Jenkins,前身为Hudson,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,包括: 持续的软件版本发布/测试项目. 监控 ...
- Gitlab Jenkins WebHook 持续集成配置踩坑记
Jenkins相关介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 目的 配置Gitla ...
- Jenkins 持续集成配置
Jenkins搭建.NET自动编译测试与发布环境 Jenkins之Deploy部署(包括站点和类库项目) * 续篇--TFS+MSbuild+jenkins 实现 持续集成+自动部署到WEB网站 Je ...
- 【此处有干货~】jmeter+ant+jenkins持续集成配置及过程中问题解决思路
本人是一枚工作近三年的小测试,大学正好专业为软件测试,在工作中用到最多的是功能测试.接口测试.压力测试.偶尔会涉及到性能测试......(小白,很多观念技术跟大佬差距太大,勿喷) 在接口测试过程当中, ...
- Jenkins .NET项目持续集成配置
基本步骤 1. 安装并配置MSBUILD 在系统管理->插件管理->添加MSBuild插件 在系统管理->系统设置->找到MSBuild配置部分,配置不同的MSbuild版本 ...
- 持续集成配置-Teamcity
1.安装目录\buildagent\work\每个项目下一个文件夹\src下是源 目的: 2. 安装目录\buildagent\work\每个项目下一个文件夹\src下是源 目的是teamcity中配 ...
- 持续集成之 Nuget 进阶
持续集成之 Nuget 进阶 Intro 之前介绍了一篇基于 Azure pipeline 的 nuget 包的持续集成配置,但是比较粗糙,这里介绍一下结合 Cake 实现更优雅的 nuget 包发布 ...
随机推荐
- hashlib 模块
import hashlib # ob = hashlib.md5() # ob.update("admin".encode("utf-8")) # print ...
- Oracle报错ORA-12516 TNS:listener could not find available handler with matching protocol stack
解决办法定位原因-- 以sysdba身份登陆PL/SQL sqlplus / as sysdba;-- 查看当前连接进程数SQL>select count(*) from v$process;- ...
- idea破解失效:cant obtain ticket from http://idea.iteblog.com/key.php
破解idea错误描述:cant obtain ticket from http://idea.iteblog.com/key.php idea破解失效 解决方案: 打开链接: http://ide ...
- framework7 入门(数据绑定)
数据绑定是用template7,官网,framework7内置template7,不用单独下载,下面介绍一些简单的绑定 当你的数据是个数组 return{ data:function(){ let i ...
- History of program (language).
1 编程语言的发展历程及未来趋势 1.1 编程语言的发展 · 1946 Plankalkul Konrad Zuse,一位德国工程师,他躲藏在巴伐利亚附近的阿尔卑斯山上时,独立开发了Plank ...
- 浅析HSTS
浅析HSTS 一.HSTS是什么? HSTS全称:HTTP Strict Transport Security,意译:HTTP严格传输安全,是一个Web安全策略机制. 二.HSTS解决什么问题? 它解 ...
- Node.js(day6)
初始化准备工作 初始化目录 nmp init -y 安装基本的第三方插件 express npm install express --save art-template npm install art ...
- [Swift]LeetCode107. 二叉树的层次遍历 II | Binary Tree Level Order Traversal II
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left ...
- [Swift]LeetCode712. 两个字符串的最小ASCII删除和 | Minimum ASCII Delete Sum for Two Strings
Given two strings s1, s2, find the lowest ASCII sum of deleted characters to make two strings equal. ...
- Spring Boot 最核心的 25 个注解,都是干货!
学习和应用 Spring Boot 有一些时间了,你们对 Spring Boot 注解了解有多少呢?今天栈长我给大家整理了 Spring Boot 最核心的 25 个注解,都是干货! 你所需具备的基础 ...