通过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. 保存并测试

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

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

相关推荐
神奇霸王龙11 小时前
Agent 准入门控屠夫:5 旗舰 4 维度评估
linux·运维·数据库·ai·ai作画·agent·ai编程
cfm_291411 小时前
基于Binlog实现不停机数据库平滑迁移技术
运维·数据库·架构
DeepVisionary11 小时前
从GPT-5.6 Sol的Ultrafast模式看推理速度竞赛:750 token/秒背后,Cerebras的晶圆级生意
python·自动化
迪康Defender11 小时前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
微硬创新12 小时前
老旧产线改造:耐达讯自动化16路4‑20mA转PROFINET的工程实践
人工智能·网络协议·自动化·信息与通信
HiDev_13 小时前
【非标自动化】2、认识元器件(固态继电器)
运维·自动化
明达智控技术13 小时前
国产 PLC 落地立库自动化,MC5000边缘智能控制器破局
运维·自动化
小绫网络安全13 小时前
Kali Linux渗透测试入门教程:从零搭建到实战攻防
linux·运维·服务器
西安景驰电子14 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php
cdprinter14 小时前
信刻——留置谈话音视频数据集中自动刻录归档解决方案
自动化·音视频