为了账号安全,请及时绑定邮箱和手机立即绑定

使用Azure Pipelines发布Nuget Package

标签:
Java

本文介绍如何使用Azure Pipelines从Github发布Nuget包。

1、Install Azure Pipelines

点击进入GitHub Marketplace


webp

github.png


找到Azure Pipelines


webp

marketplace.png


点击安装,之后会登录微软账户,因为我已经安装过所以不再展示详细安装步骤,根据提示继续即可

webp

install.png

2、创建测试项目

创建一个类库项目,一个XUnit单元测试项目(前边的前缀主要是为了不重名,不然上传package会报错,当然CI的时候可以修改)


webp

project.png


添加如下代码

//Talk.csnamespace Aquarius.SayHello
{    public class Talk
    {
        public static string Hello()
        {            return "Hello";
        }
    }
}
//Talk_Test.csusing Xunit;namespace Aquarius.SayHello.Test
{    public class Talk_Test
    {
        [Fact]        public void Talk_Should_Be_Hello()
        {
            var result = Talk.Hello();

            Assert.Equal("Hello", result);
        }
    }
}

创建一个新项目,名字叫 Aquarius.SayHello,并确保下边的钩保持选中

webp

new repo.png


提交代码

webp

push code to github.png


其中.gitignore可以忽略,也可以使用git可视化工具或VS中的Git集成进行本步操作

webp

repo.png


push成功之后可以看到代码已经存在


3、集成Azure Pipelines

前往Azure DevOps,创建一个新的项目

webp

Azure DevOps.png


webp

new project.png


点击Pipelines

webp

Pipelines.png


创建一个新的pipeline
选择github

webp

source.png


模板选择ASP.NET Core

webp

template.png


将最后两个publish的删除,保持如下:

webp

remove publish.png


添加一个.Net Core并进行如下设置

webp

add .net core.png


webp

pack.png


添加一个nuget并进行如下设置

webp

add nuget.png


webp

push.png


在进行下一步之前先去Nuget创建一个apikey,并复制

webp

apikey.png


添加一个NuGet server并使用刚才创建的key

webp

Add nuget server.png


Feed URL:https://api.nuget.org/v3/index.json
下一步开启CI

webp

enable CI.png


最后一步保存并编译

webp

save&queue.png


编译结果以及Nuget package

webp

build result.png


webp

package.png


新的包已经出现(等一段时间就会出现在Published分类中)


4、自动编译

修改代码并提交,如下:

//Talk.csnamespace Aquarius.SayHello
{    public class Talk
    {
        public static string Hello()
        {            return "Hello";
        }        public static string Hi()
        {            return "Hi";
        }
    }
}
//Talk_Test.csusing Xunit;namespace Aquarius.SayHello.Test
{    public class Talk_Test
    {
        [Fact]        public void Talk_Should_Be_Hello()
        {
            var result = Talk.Hello();

            Assert.Equal("Hello", result);
        }

        [Fact]        public void Talk_Should_Be_Hi()
        {
            var result = Talk.Hi();

            Assert.Equal("Hi", result);
        }
    }
}

webp

commit & push.png


webp

CI build.png


触发自动编译并通过


webp

nuget package.png



作者:Weidaicheng
链接:https://www.jianshu.com/p/882a1336e458


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消