Jenkins For Windows编译构建C#项目环境搭建(完整版)

安装Jenkins

下载Windows安装包

官方下载地址

选择稳定版,这里下载的是最新版,如需下载指定版本点击 以前的发行版

在这里插入图片描述

配置java环境

下载 java jdk 17

jdk17官方下载链接

这里下载的是msi版本的安装包
在这里插入图片描述

安装jdk17

双击运行安装包,一直下一步直到安装完成即可,安装目录用默认的即可不用修改,安装完成后会自动添加环境变量
在这里插入图片描述

安装Jenkins

双击运行Jenkins安装包

安装目录可自定义这里用的是默认路径
在这里插入图片描述
因为Jenkins这种安装方式在Windows系统中是以Windows services方式运行的,这里我们要指定管理服务的用户,可选域账号也可选本地账号

注意:选择域账号作为服务管理用户时,需要先在本地安全策略中进行配置才可验证通过
在这里插入图片描述

在这里插入图片描述

验证通过才可进行下一步安装
在这里插入图片描述
设置Jenkins服务端口,这里使用的是默认的8080端口
在这里插入图片描述
选择java环境一定要是这个层级 C:\Program Files\Java\jdk-17\

支持java11,17,21
在这里插入图片描述
继续下一步直到点击Install即可
在这里插入图片描述

初始化Jenkins

浏览器登录Jenkins console界面,根据提示找到初始密码
在这里插入图片描述
这里选择不使用推荐的插件
在这里插入图片描述
选择无先什么插件都不安装
在这里插入图片描述
这里可以创建一个管理员用户,我这里没有创建选择 使用admin账户继续
在这里插入图片描述

修改Jenkins软件安装源为国内安装源
  1. 点击 Manage Jenkins ————> Plugins————>Advanced settings
    https://updates.jenkins.io/update-center.json 修改为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

  2. 修改 C:\Users\jks\AppData\Local\Jenkins.jenkins\updates\default.json文件
    www.google.com替换为www.baidu.com
    https://updates.jenkins.io/download/plugins 替换为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/

在这里插入图片描述
配置完成后重启下Jenkins可以在
http://127.0.0.1:8080/restart

安装常用插件(按需安装即可)
  • Localization Support
  • Localization: Chinese (Simplified)
  • Locale
  • Git plugin (拉去git代码)
  • Email Extension Plugin (邮件通知)
  • Credentials Plugin (权限管理)
  • build user vars plugin (获取Jenkins自带变量)
  • Active Directory plugin (配置ldap域账号使用)
  • MSBuild (构建C#应用使用)
中文设置

Manage Jenkins ————> System ————> Locale————> Default Language

在这里插入图片描述
在这里插入图片描述
修改完再次重启Jenkins http://127.0.0.1:8080/restart

安装C#构建工具

下载Microsoft Visual Studio 2019

2019下载地址

安装 Visual Studio 2019

在这里插入图片描述
这边勾选构建环境所依赖的组件,因为之构建.NET-Framework的项目所以我只勾选了这些
在这里插入图片描述

安装Git

Git下载地址

点击安装包这里可以选择安装目录我这里用的是默认的
在这里插入图片描述
选择安装组件
在这里插入图片描述
这里可以将Git修改为其他名字

在这里插入图片描述

Git安装包中内置了很多种编辑器,可以根据自己需求选择相应的编辑器,这里我们选择默认的vim
在这里插入图片描述
选择初始化新项目的主干分支名称,第一个选项是git自己选择,第二个是我们自己指定默认是main
在这里插入图片描述

调整环境变量
在这里插入图片描述

选择ssh执行文件
在这里插入图片描述
选择https后端传输
在这里插入图片描述

配置行尾符号转换
在这里插入图片描述

后面一直下一步直到点击安装即可
在这里插入图片描述

配置C#构建环境

配置MSBuild环境

Manage Jenkins ————> Tools————> MSBuild 安装

将Microsoft Visual Studio2019安装目录中的MSBuild的可执行文件路径填写进去
在这里插入图片描述

配置Git环境

因为安装git时已经自动添加了环境变量所以不需要输入git的安装目录直接输入可执行程序名称即可
在这里插入图片描述

配置拉取git代码的密钥

在Jenkins所在的服务器生成密钥
  1. 打开Windows终端
  2. 在终端窗口中,输入“ssh-keygen”命令,并按回车键。
  3. 系统会提示您输入密钥的文件名和位置。您可以选择默认位置或自定义路径。
  4. 输入密码短语(如果需要)以保护私钥
    这里一直回车使用默认设置即可
    在这里插入图片描述
去gitlab添加SSH密钥

在这里插入图片描述
将生成的id_rsa.pub文件内容添加进去设置下到期时间即可
在这里插入图片描述

在Jenkins中添加凭据

Manage Jenkins ————> Credentials ————> System ————> Global credentials (unrestricted)

在这里插入图片描述

创建JOB

新建一个自由风格的任务
在这里插入图片描述
将项目的git地址输入进去选择刚刚添加的凭据作为身份认证
在这里插入图片描述
使用msbuild构建项目
在这里插入图片描述

  • /t:Rebuild # 清理现有的构建输出,然后重新构建所有项目
  • /p:PublishProfile=jen # 指定发布配置文件的名称
  • /p:Configuration=Release # 生成优化后的代码,去除调试信息
  • /p:DeployOnBuild=true # 当设置为 true 时,MSBuild 会在构建完成后立即执行部署步骤
  • /p:WebPublishMethod=FileSystem # 表示将发布的文件输出到文件系统中的某个目录(jen文件中配置的目录)。

效果展示

构建成功我们可以去到指定的发布目录中看下构建后的结果
在这里插入图片描述
在这里插入图片描述
后续再配置将构建后的可执行文件发布到应用部署的服务器即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/851735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Android】Android获取设备Serial Number的方法

项目需求 获取Android 9 和Android 11的设备的SN序列号 解决方案 1.Android 9 获取方式 这个是Android官方提供的方法,可以获取到Android 8/9 的设备的SN号 String serial Build.SERIAL;Android 11 获取方式 Android 11 已经禁止了上面的这种方法,获…

3D数字化营销——电商行业提升转化率,降低退货率的杀手锏!

随着3D、AR等前沿技术的蓬勃发展,电商行业正迎来一场3D数字化营销的革命。这种创新的营销方式不仅极大地丰富了商品的展现形式,还成功弥补了传统电商在临场感和体验感方面的不足,从而显著提升了消费者的购物体验。 51建模网为电商行业提供3D…

Java面试题-进阶

Java面试题-进阶 1、分布式幂等性如何设计?2、说说你对分布式事务的了解?3、分布式事务的解决方案有哪些?4、分布式事务的二阶段提交是什么?5、分布式事务中的三阶段提交是什么?6、什么是分布式ID?7、分布式ID有什么特性?8、分布式ID生成有几种方案?9、分布式系统中幂等…

WebSocket 快速入门 与 应用

WebSocket 是一种在 Web 应用程序中实现实时、双向通信的技术。它允许客户端和服务器之间建立持久性的连接,以便可以在两者之间双向传输数据。 以下是 WebSocket 的一些关键特点和工作原理: 0.特点: 双向通信:WebSocket 允许服务…

Mocha + Chai 测试环境配置,支持 ES6 语法

下面是一个完整的 Mocha Chai 测试环境配置,支持 ES6 语法。我们将使用 Babel 来转译 ES6 代码。 步骤一:初始化项目 首先,在项目目录中运行以下命令来初始化一个新的 Node.js 项目: npm init -y步骤二:安装必要的…

[AI Stability] 开源AI新利器:Stable Diffusion 3 Medium震撼发布!文本到图像再升级!

Stable Diffusion 3 Medium(SD3) 开源了,我们来看下。 关键要点 Stable Diffusion 3 Medium 是 Stability AI 迄今为止最先进的文本到图像开源模型。该模型的体积小巧,非常适合在消费级 PC 和笔记本电脑上运行,也适合在企业级 GPU 上运行。…

### RabbitMQ五种工作模式:

RabbitMQ五种工作模式: 1、简单模式:就是不通过交换机,消息直接通过队列,一对一收发。 2、工作队列模式:也是不通过交换机,消息直接通过队列,只是一个发送方可以有多个接收端。 3、发布订阅模…

2024年科技趋势与未来展望

引言 2024年已经到来,科技领域正在以前所未有的速度发展。从人工智能到量子计算,再到绿色科技,每一个领域都在经历着巨大的变革。这篇文章将探讨2024年最值得关注的科技趋势,并对未来的科技发展进行展望。 1. 人工智能与机器学习…

产品经理简要介绍主流电商平台商品API接口的重要应用价值

主流电商平台: 截至目前(2024年6月),主流电商平台通常指的是国内外知名的在线购物平台,包括但不限于以下几家: 1. 中国电商平台: - 淘宝网(taobao.com) - 天猫商…

端午消费数据:“下沉”“价跌”延续

端午假期消费延续了五一的“下沉”与“价跌”趋势。一是人均旅游支出的恢复程度,仍不及2019年(恢复至89.5%);二是三线以下城市继续成为旅游新增长点,其平台订单热度高于部分一线和新一线城市。三是国内、国际机票酒店价…

宝塔面板怎么搭建网站论坛

宝塔面板怎么搭建网站论坛?在数字化时代,网站已经成为企业展示形象、推广产品、服务客户的重要窗口。然而,对于许多初次接触建站的朋友来说,如何快速、便捷地搭建一个功能齐全、稳定可靠的网站,却是一个不小的挑战。今天&#xf…

自动同步库数据——kettle开发36

kettle中的那些人工智能。 一、kettle的AI能力目录 跨库同步 2.自动开发 3.自动优化 二、AI实例 1、跨库同步 sqlsever表同步至oracle数据库 1.1源库sqlserver 1.2目标库oracle 1.3可视化跨库同步 使用多表复制向导 选择跨库的表,下一步下一步,即可…

【JavaScript脚本宇宙】交互无限可能:探索JavaScript库的交互性魔力

手到擒来:JavaScript库助力网页交互功能提升 前言 在Web开发中,使用合适的JavaScript库可以大大简化实现各种交互功能的复杂性。本文将介绍一些常用的JavaScript库,包括用于拖动、调整大小、多点触控手势、创建可拖动和可调整大小的网格布局…

餐厅吃饭优惠笔记

1 闲鱼:电子优惠券 亚马逊自助餐厅(亚马逊环球美食百汇)

Javaweb避坑指北(持续更新)

内容较多可按CtrlF搜索 0.目录 1.获取插入数据后自增长主键的值 2.Controller中返回给ajax请求字符串/json会跳转到xxx.jsp 3.ajax请求获得的json无法解析 4.在Controller中使用ServletFileUpload获取的上传文件为null 5.莫名其妙报service和dao里方法的错误 6.ajax请求拿…

windows执行定时任务

schtasks 是 Windows 系统中的一个命令行工具,用于创建和管理任务计划。以下是一些使用 schtasks 创建和管理定时任务的基本命令:创建定时任务:schtasks /create /tn "TaskName" /tr "TaskRun" /sc ScheduleType [其他选…

Python初学笔记

文章目录 关于input()input().split() output()output()类型敏感!print()行为指定 Python中的数学运算除法 python中的变量变量的数据类型type()和isinstance()Stringbool切片操作ListTupleSetDictionaryBytes类型 正则表达式推导式字典推导式推导式的执行顺序 迭代…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] CPU算力分配(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 CPU算力分配(100分) 🌍 评测功能需要订阅专栏后私信联系清…

python对数字和点分割的版本号,进行排序

versions [100.0.4896.20, 1.2.3, 10.0.3, 2.0, 0.9.8] sorted_versions sorted(versions, keylambda x: list(map(int, x.split(.)))) print(sorted_versions) # [0.9.8, 1.2.3, 2.0, 10.0.3, 100.0.4896.20]

DeepSpeed Monitoring Comm. Logging

Monitoring 支持多种后端:Tensorboard、WandB、Comet、CSV文件; TensorBoard例子: 自动监控:DeepSpeed自动把重要metric记录下来。只需在配置文件里enable相应的看板后端即可: {"tensorboard": {"enabl…