Jenkins中节点运行job文件的传递

本文介绍了一种在Jenkins的不同Jobs之间高效传输文件的方法。通过安装CopyArtifactPlugin插件,并在Jobs的设置中进行相应配置,可以实现从一个Job的工作空间向另一个Job的工作空间传递文件的目标。
jenkins执行jobs中,多个jobs执行会使用节点运行,配置了节点在不同机器运行,这时候的文件传输会很困难,当然可以通过ssh连接拿到,但是这样会比较麻烦,通过鼓捣发现了一种比较简单的方法。

下面以RFS_A的产物传递到RFS_B中来简述,RFS_A是在节点机器运行,产物也存在节点机器。
1.安装Copy Artifact Plugin插件,第三步需要用到这个插件

2.在RFS_A设置中,添加构建后操作步骤,选择Archive the artifacts;把需要传递的文件路径与名字写在文本框中(以job的workspace为根目录),多个文件以逗号分隔开,如下图传递了output.xml文件


3.然后在RFS_B设置中,增加构建步骤,选择Copy artifacts from another project,配置如下

Jenkins API 提供了丰富的接口用于自动化和集成操作,适用于持续集成和持续交付流程。以下是与 Jenkins API 相关的文档和文件类型,这些资源可以帮助开发者和系统管理员更好地使用 Jenkins API。 ### Jenkins 官方文档 Jenkins 官方网站提供了完整的 API 文档,可以通过访问 Jenkins 实例的 `/api/` 路径来查看。例如,访问 `http://jenkins-url/api/` 会显示所有可用的 API 端点及其用法。官方文档详细描述了每个 API 的功能、请求方法、参数以及示例响应内容。 ### Jenkins API 文档的访问方式 1. **通过 Jenkins Web 界面**: Jenkins 提供了一个内置的 API 文档页面,可以通过点击某个 Job 或者 Jenkins 主页上的 "API" 链接访问。该页面列出了所有可用的 API 端点,并提供了使用示例[^1]。 2. **通过命令行工具**: 可以使用 `curl` 或其他 HTTP 客户端直接访问 Jenkins 的 API 端点。例如,获取 Jenkins 的所有 Job 列表可以使用如下命令: ```bash curl -u username:token http://jenkins-url/api/json ``` 其中 `username` 是 Jenkins 用户名,`token` 是通过 Jenkins Web 界面生成的 API Token[^3]。 ### Jenkins API 文档的格式 Jenkins API 支持多种数据格式,包括 JSON、XML 和 Python 序列化格式。默认情况下,API 返回 JSON 格式的数据。开发者可以通过在 API 请求中添加 `?depth=n` 参数来控制返回数据的深度,其中 `n` 表示嵌套层级的深度[^1]。 ### Jenkins API 的常见用途 1. **触发构建**: Jenkins API 允许远程触发构建任务,可以通过发送 POST 请求到 `/job/job-name/build` 来实现。如果构建任务需要参数,可以通过 `application/x-www-form-urlencoded` 格式的请求体传递参数。 2. **获取构建日志**: Jenkins API 提供了获取构建日志的功能,可以通过访问 `/job/job-name/build-number/log` 来获取指定构建的日志信息。构建日志通常以纯文本格式返回[^3]。 3. **管理 Job**: Jenkins API 支持创建、更新和删除 Job。例如,创建一个新的 Job 可以通过发送 POST 请求到 `/createItem?name=new-job-name`,并提供一个 XML 格式的配置文件作为请求体[^1]。 4. **获取 Jenkins 状态**: Jenkins API 提供了获取 Jenkins 服务器状态的功能,可以通过访问 `/api/json` 来获取 Jenkins 的全局信息,包括所有 Job 的状态、节点信息等。 ### Jenkins API 的认证 为了安全地访问 Jenkins API,需要进行身份验证。可以通过以下几种方式实现: 1. **用户名和密码**: 使用 Jenkins 用户名和密码进行基本认证,例如: ```bash curl -u username:password http://jenkins-url/api/json ``` 2. **API Token**: 通过 Jenkins Web 界面生成 API Token,并使用该 Token 进行认证,例如: ```bash curl -u username:token http://jenkins-url/api/json ``` 3. **OAuth 或其他插件**: Jenkins 提供了多种认证插件,例如 OAuth、LDAP 等,可以根据具体需求选择合适的认证方式[^3]。 ### Jenkins API 的第三方库 为了简化 Jenkins API 的使用,社区开发了许多第三方库,例如 `python-jenkins`。这些库封装了 Jenkins API 的调用方法,提供了更简洁的接口。例如,使用 `python-jenkins` 库获取 Jenkins 的所有 Job 列表可以如下所示: ```python import jenkins server = jenkins.Jenkins('http://jenkins-url', username='username', password='token') jobs = server.get_all_jobs() print(jobs) ``` ### Jenkins API 的调试工具 1. **Postman**: Postman 是一款流行的 API 调试工具,支持发送各种类型的 HTTP 请求,并查看响应结果。通过 Postman 可以方便地调试 Jenkins API。 2. **Swagger UI**: Jenkins 社区提供了一个 Swagger UI 插件,可以通过该插件以图形化的方式查看和测试 Jenkins API。安装该插件后,可以通过访问 `/swagger-ui/` 路径来使用 Swagger UI。 ### Jenkins API 的最佳实践 1. **版本控制**: JenkinsJob 配置可以通过 API 导出为 XML 文件,并保存到版本控制系统中。这样可以方便地跟踪 Job 配置的变化,并在需要时恢复到之前的版本。 2. **自动化测试**: Jenkins API 可以用于自动化测试流程,例如在每次代码提交后自动触发构建和测试任务,并将测试结果反馈给开发团队[^2]。 3. **监控和报警**: Jenkins API 可以用于监控 Jenkins 服务器的状态,并在出现异常时发送报警通知。例如,可以通过 API 获取构建失败的任务,并发送邮件或短信通知相关人员。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值