前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins流水线构建并发布.Net项目

Jenkins流水线构建并发布.Net项目

作者头像
DevOps云学堂
发布2020-05-22 18:04:11
1.3K0
发布2020-05-22 18:04:11
举报
文章被收录于专栏:DevOps持续集成

在Jenkins中实现CI / CD的方法有很多,例如Blue Ocean,Free Style项目和Declarative Pipeline。在本文中,我将解释如何使用带有声明式管道的Jenkins自动化集成和部署过程。我试图用.net核心应用程序明确解释所有步骤。

我们不会深入研究Jenkins Pipeline,因为它不在本篇文章的讨论范围之内,但是您可以在历史文章找到有关Pipeline的所有详细信息。

我希望您现在对Jenkins Pipeline有所了解,并希望您已经完成了Jenkins的基本设置。

在配置管道阶段,选择管道定义作为Pipeline script,在Pipeline Scripts下,设置环境变量和脚本触发器。

代码语言:javascript
复制
pipeline{
agent any

environment {
dotnet ='C:\\Program Files (x86)\\dotnet\\'
}

triggers {
pollSCM 'H * * * *'
}
}

CI的第一步是从Git 出代码。为此,我们的管道代码如下:

代码语言:javascript
复制
stages{ stage('Checkout') {    steps {     git credentialsId: 'Give Your Credential ID', url: 'https://github.com/YourAcc/YourRepoName.git/', branch: 'Branch on which you want to set the CI'     }  }

恢复包

下一步是还原应用程序的软件包。让我们运行restore命令,如果Windows代理程序中没有可用的软件包,它将还原该软件包:

代码语言:javascript
复制
stage('Restore packages'){
   steps{
      bat "dotnet restore YourProjectPath\\Your_Project.csproj"
     }
  }

clean

代码语言:javascript
复制
stage('Clean'){    
  steps{        
    bat "dotnet clean YourProjectPath\\Your_Project.csproj"     
  } 
}

build,它将dll和其他内置文件放在bin\Debug\netcoreapp2.x下

代码语言:javascript
复制
stage('Build'){
   steps{
      bat "dotnet build YourProjectPath\\Your_Project.csproj --configuration Release"
    }
 }

在这一阶段,我们可以添加SonarQube来自动化代码质量性能测试。

自动化测试

下一步将在您的项目上构建单元测试和集成测试。那将建立解决方案的测试案例。

代码语言:javascript
复制
stage('Test: Unit Test'){
   steps {
     bat "dotnet test YourProjectPath\\UnitTest_Project.csproj"
     }
  }

 stage('Test: Integration Test'){
    steps {
       bat "dotnet test ProjectPath\\IntegrateTest_Project.csproj"
      }
   }

发布

让我们添加publish命令以从Jenkins发布我们的软件包。

代码语言:javascript
复制
stage('Publish'){     steps{       bat "dotnet publish YourProjectPath\\Your_Project.csproj "     }}

我们可以将发布注释发送到相关的电子邮件地址,这是发布项目的最有效方法。您将收到一封有关您的部署的电子邮件

代码语言:javascript
复制
post{
  always{
    emailext body: "${currentBuild.currentResult}: Job   ${env.JOB_NAME} build ${env.BUILD_NUMBER}\n More info at: ${env.BUILD_URL}",
    recipientProviders: [[$class: 'DevelopersRecipientProvider'], [$class: 'RequesterRecipientProvider']],
    subject: "Jenkins Build ${currentBuild.currentResult}: Job ${env.JOB_NAME}"
    }
  }

Checkout -> Restore -> Clean -> Build -> Test-> Publish

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps持续集成 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档