• 通过Jenkins自动化部署net core 项目


    通过Jenkins自动化部署.NET Core应用通常涉及以下步骤:

    1. 安装与配置Jenkins基础环境

      • 在服务器上安装Jenkins,确保已安装Java运行环境。
      • 安装必要的插件,如 Git plugin(用于从Git仓库拉取代码)、MSBuild plugin 或 .NET Core plugin(用于编译和构建.NET Core项目)、Publish Over SSH(如果需要将构建产物发布到远程服务器)等。
      • 具体Jenkins安装配置可参考:www.jenkins.io/zh/doc/
    2. 全局工具配置

      • Global Tool Configuration中设置全局的.NET Core SDK版本,这样Jenkins可以在构建时自动下载并使用指定版本的SDK。
    3. 创建新任务(Job)

      • 进入Jenkins管理界面,创建一个新的自由风格(Freestyle)项目或流水线(Pipeline)项目。
    4. 源码管理配置

      • 配置项目的源代码管理,选择Git,并输入你的Git仓库地址、凭据以及分支信息。
    5. 构建触发器设置

      • 可以配置定时构建,或者通过Git钩子触发Webhook实现代码提交后自动触发构建。
    6. 构建步骤配置示例(针对自由风格项目):

      • 添加构建步骤:
        • Execute Windows Batch Command(如果是Windows环境)或 Execute Shell(如果是Linux环境),编写命令行脚本进行如下操作:
           # 先清理workspace
          rm -rf *
          # 拉取最新代码
          git clone [你的Git仓库地址]
          cd [项目目录]
          # 还原NuGet包(如果适用)
          dotnet restore
          # 编译项目
          dotnet build --configuration Release
          # 发布项目(自包含部署或框架依赖部署)
          dotnet publish -c Release -o ./output --self-contained false --runtime linux-x64
    7. 部署配置

      • 如果你需要将构建结果部署到远程服务器,可以配置Publish Over SSH,提供远程服务器的SSH连接信息,并在构建后步骤添加相应的文件传输操作。
    8. 流水线脚本配置示例(针对Pipeline项目):

       

      pipeline {
          agent any

          stages {
              stage('Checkout') {
                  steps {
                      git 'https://your-git-repo-url.git'
                  }
              }
              stage('Build and Publish') {
                  steps {
                      script {
                          bat 'dotnet restore'
                          bat 'dotnet build --configuration Release'
                          bat 'dotnet publish -c Release -o ./publish --self-contained false --runtime win-x64' // 适用于Windows部署
                          // 或者
                          sh 'dotnet restore'
                          sh 'dotnet build --configuration Release'
                          sh 'dotnet publish -c Release -o ./publish --self-contained false --runtime linux-x64' // 适用于Linux部署
                      }
                  }
              }
              stage('Deploy') {
                  steps {
                      sshPut from: './publish', into: '/remote/server/path', credentialsId: 'your-ssh-credentials-id'
                  }
                  // 如果使用Docker部署,则可能使用类似dockerBuild和dockerPush的步骤
              }
          }
      }
       

    9. 保存并测试

      • 保存配置并立即构建,查看构建日志以确保整个流程按预期执行。

    以上是一个基本的配置示例,实际配置可能会根据您的具体需求有所调整。例如,您可能还需要处理环境变量、密钥管理和权限问题,以及可能的邮件通知或其他集成服务。

  • 相关阅读:
    unresolved external symbol w32_fcntl
    python爬虫(4)
    【无标题】
    等比例缩放
    Coredump-n: 内存占用太多导致应用程序起不来的一例
    opencv旋转图像
    java计算机毕业设计家教平台系统MyBatis+系统+LW文档+源码+调试部署
    Linux.进程操作命令
    彻底搞懂WeakMap和Map
    蒙特卡洛原理及实例(附Matlab代码)
  • 原文地址:https://blog.csdn.net/zhoubohua/article/details/136626674