jenkins构建项目(Jenkins之远程触发构建)

:暂无数据 2026-09-27 02:10:11 :1

jenkins构建项目(Jenkins之远程触发构建)

这篇文章给大家聊聊关于jenkins构建项目,以及Jenkins之远程触发构建对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

本文目录

Jenkins之远程触发构建

通过 brew 安装 jenkins

通过 brew list jenkins 查看安装路径

jenkins 相关命令:

在浏览器输入 localhost:8080 就可以打开Jenkins的web界面了。

如果忘记了更改的端口号,可以查看下 homebrew.mxcl.jenkins.plist 文件,里面有端口号。更改 homebrew.mxcl.jenkins.plist 文件之后,记得 restart 一下。

如上图,在项目的 构建触发器 区域里面,有个 触发远程构建 选项。勾选之后,就会有一个 身份验证令牌 ,就是以后用的 token 了。

可能有些Jinkens下没有触发远程构建的选项,是因为需要先在 系统管理 -》 Configure Gloal Security -》 打开【启用安全】选项 :

打开 启用安全 之后,配置一些选项,项目中就有 触发远程构建 了。

勾选 触发远程构建 ,下面会有几行解释说明:

我构建了两个项目如下:

没有参数: JENKINS_URL/job/TestAPI/build?token=TOKEN_NAME

通过命令行调用:

也可以直接在浏览器里面输入上面命令里面的 url 。

TestAPINoParams 为一个没有任何参数项目,如果有参数的话,就不能用上面的命令了。

通过命令行调用:

也可用 Postman 测试:

通过命令行:

通过 Postman :

比如说,我这里传的是 logo-1024.png 图片, API 调用成功后, jenkins 服务器上 /Users/xulong/Desktop/receiveFile/ 在这个路径下,就会有一个 receive.png 文件。

可以先用 Postman 调试成功,然后可以导出 curl 命令和其它命令。

jenkins丢弃旧的构建及常用操作

1、为什么要丢弃旧的构建

平常在用jenkins进行每天定时自动构建运行api接口测试项目时,发现过一段时间磁盘空间就被占用很多,需要定期去清理,不然会导致构建失败;

2、丢弃旧的构建

1)在jenkins的主页面,点击构建的项目

2)点击进入项目后,点击左侧的配置按钮

3)在配置页面--》General,勾选,填写保存的构建天数和构建的最大个数
PS:以下是使用jenkins基础操作

1)启动java -jar /Applications/Jenkins/jenkins.war

***隐藏网址***

查找路径:find / -name jenkins

2)如果遇到忘记jenkins密码,修改jenkins用户密码

/Users/Shared/Jenkins/Home/config.xml

***隐藏网址***

***隐藏网址***

***隐藏网址***

4)升级jenkins

查看jenkins版本号java -jar /Applications/Jenkins/jenkins.war --version

1. 停止Jenkins服务(记得备份原来的jenkins.war,比如 cp jenkins.war jenkins_bak.war)

***隐藏网址***

2. 替换最新的war包,并启动jenkins(一般也就java -jar jenkins.war即可)

Jenkins Gitlab 前端构建发布

流程:通常是从gitlab/github拉取项目,构建,把产出文件发到服务器。

一、环境

创建任务之前,要先配置两项:

问题1:jenkins credentials配置SSH

系统管理 -》 Manage Credentials -》 全局凭据 (unrestricted) -》添加或者

注意:这里的key是个大坑,最开始我纠结是填私钥还是公钥,发现粘贴进去都不对。(粘贴私钥时我粘贴的是正文,没有复制首尾两行,导致一直报错。)最后把私钥整个粘贴进去就对了。

原因:

由于Jenkins的安全策略配置了CSRF跨站点保护。

解决方案:

进入Jenkins,系统管理--》全局安全配置,勾选匿名用户具有可读权限和去掉CSRF防止跨站点请求伪造:

在 /configure 下

这个插件是jenkins连接linux系统的时候使用。
以下针对插件的每个属性进行说明。

Name
SSH Server的Name属性就是你希望连接的服务器。

Source files
这里输入的是你希望传到服务器的文件夹和文件。路劲是相对jenkins的workspace的项目名称的。例如编译打包后的路径为dist文件夹下的jenkinszip.tar.gz,则Surce files填入dist/jenkinszip.tar.gz。

Remove prefix
如果Source files为dist/jenkinszip.tar.gz,但是不想把dist目录创建到服务器端,这个时候就可以在Remove prefix里填入dist

Remote directory
这里指定文件将被拷贝到服务器的路径。
PS:被拷贝文件在服务器上的完整路径=登录服务器账号的默认路径(就是全局设置的Remote Directory)+当前任务配置的Remote directory。
例如我的服务器路径是 /home/wwwroot/aaa
我全局配置Remote Directory 是 /home/wwwroot
当前任务配置的Remote Directory 是 /aaa/

Exec command
这里就是连接服务器之后需要执行的命令。

注意:这里配置的Secret token和 webhook要填写到gitlab里面,路径如下:

***隐藏网址***

Windows使用Jenkins构建前后端分离项目+项目回滚和备份

公司服务器把Jenkins安装在了Windows上,很多构建都需要使用dos命令,十分难受,写这篇文章记录一下遇到的坑。

原本是想部署之后运行即可,结果还要备份。上网查了一下,有用 ThinBackup 插件进行备份的,还有自己创个目录备份的……五花八门。于是我先选择了自己创个目录备份的方案,设想是这样的:

结果说怎么可以是手动回退呢,让我改。再加上第4点用bat实在太难写了,于是就改成用Jenkins自带的备份(或者说是将生成的文件进行保存)。自带的备份方式如下:

这里使用到了 Jenkins的环境变量 。备份文件的路径和配置详见第5步。

还有更方便的 ,直接更改ProcessTreeKiller正在寻找的环境变量 BUILD_ID 即可暂时禁用ProcessTreeKiller。官网只给出了Shell命令的写法,在运行jar之前写上

BUT,我们是Windows, 故应该改成

之后再用Linux的 nohup 或者Windows的 javaw 命令即可后台运行jar包了。

还有一个打印日志的问题:在Linux中使用 nohup 命令还好办;而在Windows中,单独使用 javaw 命令并配合管道工具( 》 和 》》 )可以打印日志,但即使改变了BUILD_ID,Jenkins也不会关闭,会一直提示“构建中”。我们使用了start命令,但是start命令只能运行一个命令,会忽略掉后面的管道工具,从而不能打印日志。解决方案是,写一个bat命令保存在本地,并使用外部参数来作为jar包的路径和日志的路径。bat命令内容如下:

上面的命令行则变成:

日志就会保存在每次构建的目录中。其中的 BUILD_NUMBER 即构建的序号。

后端写好了前端就好办了,直接照前端办即可。我的步骤是:

在前端部署之前,需要通过nginx反向代理将后端端口挂载到80端口的路径上,这里就不详说了。特别坑的地方是,反向代理有时候不能生效,是因为反复打开关闭nginx过程中产生了好几个nginx进程,把它们全部关闭再重新打开,反向代理就能够生效了。

jenkins指定pom打包

先说一下jenkins的基础知识:
1.进入: 找到上面的 /var/lib/jenkins 在进入 workspace即可看到

2.配置的构建项目:会有工作空间 用来存放从git上拉取的源码,利用maven 打包时,产生的jar也是存在这里源码下的target目录 和 本地打包一样。

jenkins打包时默认从对应项目的工作空间的根目录 执行mvn clean install命令(自己配置的),此时找不到pom会报错!

解决:直接在 POM 栏里把pom的路径写死 即可打包成功

等同于 mvn -f ****pom.xml
1.Source files:源文件配置方法:(即复制的源文件)

    即打包生成的文件: 基于工作空间的根目录!!!

所以一般的项目生成的jar都是在工作空间的target/**.jar  直接写 target/**.jar 即可

2.Remove prefix

直接把上面的文件夹填上即可:  target/

3.Remote directory:  目标目录

真正目录的组成: 全局配置的服务器里 有个配置的路径 + 你填的这个目标目录 就是目标文件 复制后存放的位置
mvn -pl business  多个用逗号分割

jenkens 里填写: clean install -pl qshop-business即可
    

jenkins构建项目失败,小球的颜色是

构建项目失败,小球的颜色是红色。
Jenkins 使用各种颜色表示任务当前的状态:
1.蓝色:任务最近一次构建是成功的;
2.红色:任务最后一次构建是失败的;
3.黄色:任务最后一次构建表示成功了,但不稳定(主要是因为有失败的测试);
4.灰色:任务从未被执行过或被禁用了。

jenkins构建:参数化构建

有时候我们构建需要传参,那么构建需要选择参数化构建选项。
常用参数化类型:
字符参数,选项参数,git参数化, choice Parameter 四种。

设置方式:
任务配置中,---参数化构建---添加参数----选项参数

构建:

点击构建:

输出结果:

安装插件git-parameter
自动获取当前git地址所有分支,并提供下拉框可选
添加参数化构建的时候,名称建议用英文,可在下面shell引用变量。

保存 ,点击构建,可发现获取到了此项目配置的git地址的全部分支
(图中没有origin/ 是因为在高级里填写了《分支过滤》---origin/(.*) 可过滤origin关键字)

安装Extended Choice Parameter插件 :支持单选,多选,读取文件作为值,支持Groovy脚本

number of visible items 指定多选框一次展示多少个选项
parmeter type可选择多种选择类型
value默认用,号分隔

点击构建效果:

这里我在/var/jenkins_home下创建一个文件,server.list,内容是遍历20台机器
写了个shell,将20台机器输出到一个指定文件夹,读取这个文件夹。
cat server_ip.sh

cat server.list

jenkins的触发远程构建时403或需要登录问题

这2天自己折腾了下jenkins的自动化部署,遇到一个403问题。百度谷歌了一圈,只有一篇文章介绍了如何解决,于是我记录一下,作为补充。

安装了jenkins之后,也配置了项目。在触发构建的选项中,有多个触发机制。我们选择了

然后去码云配置webhook

此时理论上,我们点击测试,会自动触发项目的构建。

但是事情发展不顺利,

我点击测试按钮,得到的结果是 403。不正常。

我复制链接通过浏览器进行访问,又触发了构建。正常。

将链接发给朋友,则出现登录界面。 不正常

陷入了一头雾水。

根据提示,403和出现登录界面,说明授权出现问题。 我可以访问触发,是因为我此时处于jenkins登录状态。

***隐藏网址***

得到了解决。需要配置匿名用户权限。

但是该文章写的不明确,我找不到配置的位置。费了很多时间,最终找到。

此时去码云那边点击测试按钮。会触发项目的自动构建。
一切很完美。

docker jenkins 构建 springboot 项目、vue 项目

服务器IP:以192.168.1.1为例

需要修改下目录权限, 因为当映射本地数据卷时,/var/jenkins_mount目录的拥有者为root用户,而容器中jenkins user的uid为1000执行如下命令即可

如果需要nginx代理,在nginx中配置

在浏览器打开页面
***隐藏网址***
输入密码后,出现这个页面

选择安装推荐的插件

Publish Over SSH 远程执行ssh插件
Maven Integration plugin maven插件
NodeJs plugin插件

=

关于jenkins构建项目到此分享完毕,希望能帮助到您。

jenkins构建项目(Jenkins之远程触发构建)

本文编辑:admin

更多文章:


全民体育欧冠直播(电竞发展成为全民体育活动,合适吗)

全民体育欧冠直播(电竞发展成为全民体育活动,合适吗)

各位老铁们好,相信很多人对全民体育欧冠直播都不是特别的了解,因此呢,今天就来为大家分享下关于全民体育欧冠直播以及电竞发展成为全民体育活动,合适吗的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月11日 11:10

withdrawal(withdrawal是什么意思)

withdrawal(withdrawal是什么意思)

今天给各位分享withdrawal是什么意思的知识,其中也会对withdrawal是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 07:00

根据流程图怎么编写程序(用c语言根据流程图写程序)

根据流程图怎么编写程序(用c语言根据流程图写程序)

大家好,今天小编来为大家解答以下的问题,关于根据流程图怎么编写程序,用c语言根据流程图写程序这个很多人还不知道,现在让我们一起来看看吧!

2026年10月11日 06:00

在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)

在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)

大家好,关于在from子句中可以出现很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何在from 子句中嵌套查询下面的语句在access中出错!的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望

2026年10月11日 05:20

countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)

countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)

其实countif函数统计个数怎么用的问题并不复杂,但是又很多的朋友都不太了解countif函数怎么用 详解Excel中countif函数的使用方法,因此呢,今天小编就来为大家分享countif函数统计个数怎么用的一些知识,希望可以帮助到大

2026年10月11日 03:30

正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)

正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)

本篇文章给大家谈谈正则匹配数字之前的字符,以及正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问

2026年10月11日 03:00

register语言学(register语言学)

register语言学(register语言学)

“register语言学”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看register语言学(register语言学)!

2026年10月11日 01:40

系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)

系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)

“系统架构设计师可以直接考吗”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)!

2026年10月11日 01:00

orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)

orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)

大家好,如果您还对orlnsertbootmediinselected不太了解,没有关系,今天就由本站为大家分享orlnsertbootmediinselected的知识,包括我电脑开机显示这个是什么意思or insert boot med

2026年10月10日 23:00

display的用法(display是什么意思 详解display的含义和用法)

display的用法(display是什么意思 详解display的含义和用法)

大家好,如果您还对display的用法不太了解,没有关系,今天就由本站为大家分享display的用法的知识,包括display是什么意思 详解display的含义和用法的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月10日 22:00

最近更新

热门文章

标签列表