1.使用Jenkins自动部署.NET站点(流水线 pipeline 方式)

发布时间 2023-10-31 15:34:37作者: 泥称

Jenkins安装:参考文章【Jenkins安装】

部署.NET站点

1、新建项目

  1,1、Dashboard页面菜单>点击新建Item>输入名称 "TestWebService",并且选择【Pipeline】风格

 

 2、配置

  2.1 点击配置

   2.2 进入配置页

 

  2.3 设置【丢弃旧的构建】

   2.4 设置【构建触发器】

    选择pollSCM轮询代码,有变化则触发构建

   2.5 设置流水线

    2.5.1 点击流水线语法,可以去生成Git的命令,涉及账号的证书生成,

 

   2.5.2 编写流水线

 插入的流水线文本,实现:拉取代码、编译、发布

pipeline {
    environment {
        msbuild_path = 'E:\\VS2017\\MSBuild\\15.0\\Bin\\' //使用msbuild路径去生成
    }
    agent any
    stages {
        stage('git checkout') {
            steps {
                echo 'Begin 拉取'
                git branch: 'main', credentialsId: '凭据ID', url: 'Git地址'
                echo 'End 拉取'
            }
        }
        stage('Build_WebService') {
            steps {
                echo "Begin ${STAGE_NAME}"
                script {
                    def result = bat encoding: 'UTF-8', label: "${STAGE_NAME}", returnStdout: false, script: "${env.msbuild_path}msbuild \"Web/WebService.sln\" -t:Clean;Compile;rebuild /restore /m "
                    //println "Result: ${result}"
                    //echo "${result}"
                }
                echo "End ${STAGE_NAME}"
            }
        }
        stage('Deploy_WebService') {
            steps {
                echo "Begin ${STAGE_NAME}"
                script {
                    def result = bat encoding: 'UTF-8', label: "${STAGE_NAME}", returnStdout: false, script: """${msbuild_path}msbuild  Web/WebService.sln /t:IFSmart_WebService:WebPublish ^
                         /p:Configuration=Release ^
                         /p:WebPublishMethod=FileSystem ^
                         /p:DeleteExistingFiles=True ^
                         /p:publishUrl=bin/Release/PubishMsBuild"""
                }
                echo "End ${STAGE_NAME}"
            }
        }
    }
}

代码解释:

pipeline 开头的是声明式流水线写法,Jenkins主推得建议新手模式使用
environment 是流水线写法的环境变量,理解为变量定义即可
参考:https://www.jenkins.io/zh/doc/pipeline/tour/getting-started/