1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > WEB开发 > 正文

WEB开发

在Windows上搭建配置Jenkins然后编译打包VS项目

1987web2023-10-06WEB开发81

在 Windows 上搭建配置 Jenkins 然后编译打包 VS 项目

独立观察员 2022 年 7 月 6 日

一、安装

1、下载并安装 JRE (Java 运行环境)。

2、下载 Windows 版本的Jenkins安装包并安装。

3、安装 Visual Studio,以供编译项目使用。

4、安装 Advanced Installer,以供打包项目使用。

二、Jenkins 配置

Jenkins 安装完成后,使用 IP 端口,在浏览器中可打开使用 Jenkins,如 http://192.168.70.150:8080/manage

Jenkins 的配置文件在其安装目录下,可修改其中一些配置(如数据存放目录),重启 Jenkins 后生效。

重启 Jenkins 的方法为:在主页地址后加 /restart 并访问,如下:

2.1、管理插件

首先在 高级 选项卡中可进行一些设置,如 设置代理、手动安装插件、设置升级站点:

一个可用的升级站点为 https://updates.jenkins-zh.cn/update-center.json

接下来介绍一些已安装的插件:

2.2、全局工具配置

可对一些插件进行配置,如下。

2.2.1、配置 Advanced Installer 安装路径

2.2.2、配置MSBuild路径

2.3、配置系统

有一些 Jenkins 的配置,一般无需更改。

也会有些插件的功能需要在这里配置,如下。

2.3.1 配置全局构建超时

2.3.2 配置时间戳

2.3.3SVN配置

三、构建项目编译任务

输入任务名称,选择 Freestyle project 即可,也可以使用复制功能:

下面以 MD96_Bugfix_MSBuild 为例,点击配置开始编辑:

3.1、设置 丢弃旧的构建

3.2、源码管理

源码管理选择SVN并配置相关信息:

其它的默认即可:

3.3、构建环境

3.4、增加构建步骤

增加构建步骤选择 Build a Visual Studio project or solution using MSBuild:

配置 MSBuild 的相关编译参数:

需要编译几个项目,就建几个步骤,不再赘述。

最后来一段拷贝文件的 bat 指令,步骤类型为 Execute Windows batch command:

如果会有 SVN Checkout 操作后产生冲突的情况,还可以再添加一个 Execute Windows batch command 的步骤,调用 SVN 命令行工具来进行还原:

四、构建打包任务

以 MD96_Package_Plugin 任务为例:

丢弃旧的构建和上一章一样配置;无需配置源码管理;构建触发器、构建环境等按需配置。

直接增加一个类型为 Invoke Advanced Installer 的构建步骤。

如果 Run Type 选择第一个,调用,则没有具体配置选项,应该就是唤起打包程序吧(未测试):

所以选择第二个,调用并构建项目,填入 aip 打包文件路径:

其余配置全部留空:

完成后点击 Build Now 即可开始构建。

五、简单使用介绍

5.1、运行

5.1.1、方法一

鼠标移到列表中相关任务右边,点击出现的下拉箭头:

在下拉列表中点击 Build Now:

5.1.2、方法二

点击列表中的某个任务,在打开的页面左侧点击 Build Now:

5.2、查看结果

开始构建后,左下角构建历史区会出现正在进行的构建,鼠标移上会出现下拉箭头:

点击下拉框中的 控制台输出 可实时查看输出,也可查看之前的构建的输出:

以下为打包任务正在进行的输出:

最终输出如下(有中文乱码,不影响):

感谢阅读!

投资理财

贷款利息计算方式分析

使用腾讯微证券入门可转债打新

读书笔记

[读书笔记] 《修炼之道:.NET 开发要点精讲》

[读书笔记] 《大话设计模式》

作品

利用 C 中的 FileSystemWatcher 制作一个文件夹监控小工具

使用 WPF 版简易 SIP 服务器向 GB28181 摄像头发送直播请求

下载中转加速器 VPSDownloader.NET(.NET Core 程序部署到 Linux 系统)

『简易日志』NuGet 日志包 SimpleLogger

PDF 目录编辑器使用介绍

Windows

Windows 11 及其安卓子系统折腾记

IIS 错误解决:当前标识没有对 Temporary ASP.NET Files 的写访问权限

台式机插 4G上网卡后供给其它设备内外网

搭建 Frp 来远程内网 Windows 和 Linux 机子

Windows 端最稳定的 DLNA音乐播放器推荐

Windows可登陆的本地账户忘记密码的解决方法

使用 ngrok 从外网连接内网的远程桌面

其它

在香蕉派的树莓派系统上配置 Syncthing 自启动(暨 Linux 软件自启服务配置)

使用 GB28181.Solution + ZLMediaKit + MediaServerUI 进行摄像头推流和播放

如何快速剥火腿肠皮?

使用 Floccus 插件和坚果云同步Chrome类浏览器书签

Docker Hub 使用初探

『独立观察员』个人观影 Ⅱ

VisualStudio使用DialogPage存储配置信息

分页SQL语句

可以从NODE_LABEL看到是openjdk-16,从JAVA_BASE_URL可以看到下载的是openjdk-8

从K8S登录到agent node执行如下命令:

kubectl -n devops get pods

NAME READY STATUS RESTARTS AGE

devops-jenkins-jdk8-maven36-jx76q 2/2 Terminating 0 11s

devops-jenkins-jdk8-maven36-qn6p1 2/2 Terminating 0 21s

jenkins-0 1/1 Running 0 19d //jenkins主节点

openjdk-16-hs0w6 2/2 Running 0 1s //单独起的openjdk-16

kubectl -n devops exec -it openjdk-16-hs0w6 sh

kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.

Defaulting container name to openjdk-16.

Use kubectl describe pod/openjdk-16-hs0w6 -n devops to see all of the containers in this pod.

sh-4.2 java -version

openjdk version "16.0.1" 2021-04-20

OpenJDK Runtime Environment AdoptOpenJDK-16.0.1+9 (build 16.0.1+9)

OpenJDK 64-Bit Server VM AdoptOpenJDK-16.0.1+9 (build 16.0.1+9, mixed mode, sharing)

我们可以看到内置的java版本确实是openjdk-16的。

二、查找原因

首先我先看看是不是在我的agent oepnjdk-16 Node上执行的。我做了如下操作:

K8S环境不同JAVA版本Jenkins编译构建实战

当前容器化已经非常普及,无论是应用还是运维工具,绝大部分都已经官方支持容器化。而随着容器化的到来,一些新的问题也随之到来。例如:

  • 下一篇
  • Buildmasters是由Inedo研发的Jenkins替代品,它可以使开发者把软件发布到任何环境。该工具为不同的平台提供持续集成功能,使组织可以创建自己的软件发布管理平台。团队可以处理自己的应用程序,并独立部署到其环境中。

    不仅如此,它还可以防止发布未经测试的软件。用户对它的简单性感到非常满意。

    https://inedo.com/buildmaster/download

    2. Microtica

    Microtica是一个DevOps自动化工具,涵盖了整个软件交付过程,从构建云基础架构到使用Kubernetes向云交付应用程序和服务。Microtica的即用型( ready-to-use )组件为用户提供了可重复使用的代码段,并且可以帮助你在几分钟内创建基础结构。

    借助微服务生成器,开发人员可以自动创建微服务。借助集成的Kubernetes仪表板,他们只需单击几下即可创建可扩展的应用程序。

    Microtica的流水线定义了每个组件和微服务的工作流程。用户可以随时自动或手动触发它们,以大致了解其构建过程。他们可以执行所有操作,而无需离开Microtica Web门户,每次更改都会有Slack通知。

    最后,Microtica允许开发人员自动化设置其睡眠周期,从而降低AWS成本。一旦他们激活了节能模式( saving mode ),Microtica就会自动运行并防止过度支出。而且,所有节省都可以在节省成本的仪表板上找到。

    https://microtica.com/

    3. GitLab

    GitLab是基于云的CI平台,可让开发团队更有效地处理其多样化的工具。它使组织可以通过集中式的版本控制系统安全的计划,构建和管理代码。此外,GitLab使用户能够使用Docker和Kubernetes来处理组件,处理容器以及打包应用程序和依赖项。

    GitLab易于集成。但是,它有时可能会有一些烦人的错误和局限性,以及在实现完全自动化方面缺少一些功能。

    https://about.gitlab.com/

    4. CircleCI

    Circle CI也是Jenkins替代产品之一,可在任何环境(例如Python API服务器或Docker集群)中运行。Circle CI工具消除了漏洞并增强了应用程序的一致性。它支持多种语言,例如C ++,NET,JavaScript,PHP,Ruby和Python。此外,当触发新的构建时,可以自动取消排队和正在运行的构建。它可以与GitHub,GitHub Enterprise和Bitbucket集成。

    根据TrustRadius上的用户称,CircleCI的最大优势是自动化构建,但是有时流水线作业可能会花费很长时间。

    https://circleci.com/

    5. Bamboo

    Atlassian的Bamboo是一款持续集成的服务器,可自动在一个地方创建,监视和发布。它可以轻松地与JIRA应用程序和Bitbucket集成。而且,Bamboo与Docker,Git,SVN和Amazon S3存储集成。

    Bamboo根据在存储库中检测到的更改,它可以触发Bitbucket的构建并推送通知。它既可以托管,也可以本地部署。

    使用者说Bamboo的构建过程的可见性很好,但是一些概念和集成尚不清楚。

    https://atlassian.com/software/bamboo

    6. TravisCI

    TravisCI是一项持续集成托管服务,开发人员可以使用它来开发和验证GitHub和Bitbucket托管的应用程序。它可以测试所有请求,以确保不会发布未经测试的代码。你只需登录GitHub,即可设置你的项目,包括数据库。

    TravisCI非常适合一个小型项目,并且构建速度很快。但是,当你有一个较大的项目需要照顾依赖关系以及构建的性能时,可能会遇到一些问题。

    https://travis-ci.org/

    7. Semaphore

    Semaphore是Jenkins替代产品之一,支持GitHub,Kubernetes,iOS,Docker,Kubernetes的整个CI/CD流程,并且预先安装了100多种工具。

    Semaphore可以使任何持续交付流水线自动化,支持可自定义的阶段,还可以并行执行,管理三方依赖等。

    Semaphore构建非常快,平台也易于设置。但是,用户说UI有时会令人困惑,并且持续部署的功能有限。

    https://semaphoreci.com/product

    8. Buddy

    Buddy是一个CI/CD平台,可通过简单的UI/UX减少配置和维护Jenkins的工作,从而使构建和部署应用程序变得非常简单。

    都2021年了,你还在用Jenkins?赶快看看这些替代方案吧