热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Jenkins源码管理

Jenkins下的Git源码管理功能是由Git插件提供的。https:plugins.jenkins.iogit2-准备工作2.1插件确认JenkinsGitPlugin插件是否已

Jenkins下的Git源码管理功能是由Git插件提供的。
https://plugins.jenkins.io/git

2 - 准备工作

2.1 插件

确认Jenkins Git Plugin插件是否已安装
Jenkins - 源码管理

2.2 视图

创建一个视图用于分类存放Jenkins job,便于查找和管理
Jenkins - 源码管理

2.3 代码仓库

确认代码仓库GitLab信息
Jenkins - 源码管理

2.4 生成SSH凭据

在命令行执行如下命令,生成SSH凭据

  • ssh-keygen
  • cat .ssh/id_rsa.pub
  • cat .ssh/id_rsa

2.5 添加SSH公钥到GitLab账户

Jenkins - 源码管理

3 - 示例:Git源码管理

3.1 新建job

添加一个free style的job到视图
Jenkins - 源码管理
Jenkins - 源码管理

3.2 添加凭据

Jenkins - 源码管理

选择和添加必要信息
特别注意:“Private Key”是Jenkins主机的私钥( .ssh/id_rsa
Jenkins - 源码管理

填写Repository URL和选择Credentials,如果没有错误信息提示,说明验证成功,保存配置。
Jenkins - 源码管理

3.3 运行Job

查看运行结果
Jenkins - 源码管理

查看工作区
Jenkins - 源码管理

对应的本地目录
Jenkins - 源码管理

查看控制台输出
Jenkins - 源码管理

4 - 分支管理

在源码管理的Branches to build部分,可以填写需要下拉的分支。
如果设置了多个分支或一个范围,Jenkins会检测每个分支中新的提交代码。
在执行构建时,也会对有新提交的分支执行一次构建任务。
Jenkins - 源码管理

点击问号按钮,会给出书写方法和格式的帮助信息。
The safest way is to use the refs/heads/ syntax. This way the expected branch is unambiguous.

  • 默认值
  • 设置为空:所有的分支都会被检测代码提交并且执行构建
  • 直接使用分支名:例如master等,建议的写法为 refs/heads/ 
  • 通配符和正则表达式:指定某个范围
  • 环境变量:便于参数化构建
    Jenkins - 源码管理

5 - 附加操作
通过Additional Behaviours选项可以使用Git源码管理的附加功能。
Jenkins - 源码管理

常用附加选项

  • Clean before checkout:指定对工作区目录的操作或者执行脚本,保证下一次构建不受上一次的影响
  • Wipe out repository & force clone:强制删除之前拉取的代码并重新拉取,用于保持与远端仓库状态一致
  • Create a tag for every build:每一次构建都在本地创建一个标签
  • 检出到子目录:指定拉取代码到工作区目录的哪个子目录,如果不指定,默认为工作区目录,
  • 检出到指定的本地分支:本地也有一个对应的分支
  • pure stale remote-tacking branches:用来清除本地已失效的远程追踪分支,标签也会被删除

6 - 拉取多个仓库

通过Multiple SCMS插件和附加操作中的“检出到子目录”,可以拉取多个仓库到一个工作目录中。

6.1 安装Multiple SCMS插件

Jenkins - 源码管理
Jenkins - 源码管理

6.2 根据需求配置拉取选项

特别注意:指定附加操作中的“检出到子目录”,用来区分多个仓库的内容。
Jenkins - 源码管理


推荐阅读
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • 本文详细介绍了 com.apollographql.apollo.api.internal.Optional 类中的 orNull() 方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • POJ 2482 星空中的星星:利用线段树与扫描线算法解决
    在《POJ 2482 星空中的星星》问题中,通过运用线段树和扫描线算法,可以高效地解决星星在窗口内的计数问题。该方法不仅能够快速处理大规模数据,还能确保时间复杂度的最优性,适用于各种复杂的星空模拟场景。 ... [详细]
  • 在安装 iOS 开发所需的 CocoaPods 时,用户可能会遇到多种问题。其中一个常见问题是,在执行 `pod setup` 命令后,系统无法连接到 GitHub 以更新 CocoaPods/Specs 仓库。这可能是由于网络连接不稳定、GitHub 服务器暂时不可用或本地配置错误等原因导致。为解决此问题,建议检查网络连接、确保 GitHub API 限制未被触发,并验证本地配置文件是否正确。 ... [详细]
  • 在探讨 MySQL 正则表达式 REGEXP 的功能与应用之前,我们先通过一个小实验来对比 REGEXP 和 LIKE 的性能。通过具体的代码示例,我们将评估这两种查询方式的效率,以确定 REGEXP 是否值得深入研究。实验结果将为后续的详细解析提供基础。 ... [详细]
  • 本文深入探讨了 Git 与 SVN 的高效使用技巧,旨在帮助开发者轻松应对版本控制中的各种挑战。通过详细解析两种工具的核心功能与最佳实践,读者将能够更好地掌握版本管理的精髓,提高开发效率。 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
  • 从2019年AI顶级会议最佳论文,探索深度学习的理论根基与前沿进展 ... [详细]
  • AppFog 是一个基于 CloudFoundry 的多语言 PaaS(平台即服务)提供商,允许用户在其平台上轻松构建和部署 Web 应用程序。本文将通过详细的图文步骤,指导读者如何在 AppFog 免费云平台上成功部署 WordPress,帮助用户快速搭建个人博客或网站。 ... [详细]
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
author-avatar
嘟嘟2502860271_460
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有