| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Jenkins 构建项目流程 -> 正文阅读 |
|
[系统运维]Jenkins 构建项目流程 |
本文整理了?jenkins新建任务是几个环节的配置,不是很全,只是作为笔记参考,?如果你也整理了类似的 可以发出来 我们一起参考学习? 参考的网址: https://blog.51cto.com/u_13767724/2398549 https://zhuanlan.zhihu.com/p/157592663 https://www.tqwba.com/x_d/jishu/247564.html ??任务类型?🥽 自由风格的软件项目 这里的所有配置都由自己定义,默认也不会添加特定环境的选项。 🥽 maven项目 jenkins利用你的pom文件进行初始化配置,可以减少手动的配置工作。 🥽 External Job Jenkins可用于监视进程的非交互式执行,例如cron作业,procmail,inetd启动的进程。通常这些任务是完全不受监控的(这使得您在发生错误时很难注意到),或者无论成功或失败都会不断发送电子邮件(导致相同的情况,因为您无论如何都会快速开始忽略它们。)使用Jenkins可以让您以很少的开销监视大量此类任务。 🥽 构建一个多配置项目 适用于多环境、平台指定构建等。 🥽 最后一个 姑且叫做:copy from 红框标出的是在已有的任务中复制一个任务配置,可以减少重复的配置工作。 ??General?🔒 ?General是构建任务的一些基本配置。名称,描述之类的 🔒 ?项目名称: 是刚才创建构建任务步骤设置的,当然在这里也可以更改。 🔒 ?描述: 对构建任务的描述。 🔒 丢弃旧的构建:服务器资源是有限的,有时候保存了太多的历史构建,会导致Jenkins速度变慢,并且服务器硬盘资源也会被占满。当然下方的"保持构建天数" 和 保持构建的最大个数是可以自定义的,需要根据实际情况确定一个合理的值。 ????🔑 保持构建天数:当历史构建超过多少天后会自动删除 ??? 🔑?保留构建的最大个数:当构建的个数超过多少个的时候会把之前的后见删除掉 这两种策略是可以同时存在的,构建历史达到上面的任何一个阈值都会执行删除规则 🔒 参数化构建过程:指的是外置传参的一种形式 ? ? 🔑 ?名称 选项 描述 ?添加参数 有各种参数 布尔值,字符串等等,这里可以传参 当项目build的时候 就相当于是做了 名称=选项,如果最下面是shell脚本等获取参数的语言就可以从这里拿参数:${参数name} 或者 $参数name。 🔒 关闭构建:这个就相当于禁用这个build,因为一些其他依赖原因不能发布但是你又不能删所以就可以在这里点击关闭构建,但是一般不再这里关闭构件. ??Source Code Management🔒 Git: 支持主流的github 和gitlab代码仓库。 🔒 Repositories: ????🔑 Repository URL:仓库地址, ????????????gitlab需要密码可以这样填写: http://账号:密码@链接地址 ???🔑 Credentials:凭证。可以使用HTTP方式的用户名密码,也可以是RSA文件。但要通过后面的"ADD"按钮添加凭证。 🔒 Branches to build:构建的分支。*/master表示master分支,也可以设置为其他分支。 🔒 源码浏览器:你所使用的代码仓库管理工具,如github, gitlab. ??? 🔑?URL:填入上方的仓库地址即可。 ????🔑 Version: 8.7 这个是我们gitlab服务器的版本。(一般不配置) ??Build Triggers如果要通过访问特殊的预定义URL(方便脚本)来触发新构建,请启用此选项。此功能的一个典型示例是从源控件系统的钩子脚本触发新构建,当某人刚刚将更改提交到存储库时,或者从解析源控件电子邮件通知的脚本中触发。需要以字符串的形式提供授权令牌,以便只有知道它的人才能远程触发此项目的构建。 🔒 Build when a change is pushed to GitLab. GitLab webhook URL:配置GitLab以向Jenkins实例(如GitLab CI)发送POST请求。 🔒 Enabled GitLab triggers(启用GitLab触发器) ???????🔑 Push Events ? :推送事件默认是勾选的 ???????🔑 ?Opened Merge Request Events:打开合并请求事件 ???????🔑 ?Accepted Merge Request Events:接受合并请求事件 ???????🔑 Closed Merge Request Events:关闭合并请求事件 ???????🔑 ?Rebuild open Merge Requests:重建打开的合并请求 ( Never,On push to source branch在推送源分支 ) ???????🔑 ?On push to source or target branch:在推送到源或目标分支 ???????🔑 ?Approved Merge Requests (EE-only) :批准的合并请求(仅限EE) ???????🔑 ?Comments ? ? ?#注释 ?????? 🔑 ?Comment (regex) for triggering a build ? :用于触发构建的注释(正则表达式)填充后,与该正则表达式匹配的合并请求中的注释将触发构建。 🔒 GitHub hook trigger for GITScm polling(用于GITScm轮询的GitHub钩子触发器):如果Jenkins将从Git SCM部分中定义的repo接收PUSH GitHub挂钩,它将触发Git SCM轮询逻辑。因此,轮询逻辑实际上属于Git SCM。 🔒 其他工程构建后触发:设置触发器,以便在其他一些项目完成构建时,为该项目安排新的构建。例如,这对于在构建完成后运行大量测试很方便。此配置补充了上游项目的“构建后操作”中的“构建其他项目”部分,但在要配置下游项目时更可取。关注的项目:?在输入框输入依赖于哪个项目就行 只有构建稳定时触发、即使构建不稳定时也会触发、即使构建失败时也会触发 🔒 定时构建:提供类似cron的功能以定期执行此项目。此功能主要用于将Jenkins用作cron替换,并且它不是连续构建软件项目的理想选择。当人们第一次开始持续集成时,他们常常习惯于定期安排的构建,例如每晚/每周使用此功能。但是,持续集成的目的是在更改后立即开始构建,以便为更改提供快速反馈。为此,您需要将SCM更改通知连接到Jenkins。因此,在使用此功能之前,请停下来问自己这是否真的是您想要的。
??Build Envirconment🔒 Delete workspace before build starts [构建开始前删除工作区]:每次构建之前会把这个job所在的工作区目录里面的东西清空掉再进行构建 (需要插件:Workspace Cleanup) 🔒 Use secret text(s) or file(s):允许获取各种类型的凭据,并从shell构建步骤等中使用它们。每个绑定都将定义一个环境变量。(需要插件:Credentials Binding) 🔒 Abort the build if it’s stuck [如果它被卡住,则中止构建](需要插件:Build-timeout)
🔒 Add timestamps to the Console Outpu:将时间戳添加到控制台输出(需要插件:timestamps) 🔒 Color ANSI Console Output [颜色ANSI控制台输出]:ANSI color map:存在多个选项,默认情况下,选择xterm即可。(需要插件:AnsiColor) 🔒 Set Build Name [设置构建名称]:Build Name:通常,构建以其序列号命名,但您可以通过设置新构建的名称来更改它。该字段可以包含以下宏 (需要插件:Build Name and Description Setter)
🔒 Set jenkins user build variables [设置jenkins用户构建变量]: 此插件用于设置用户构建变量 (需要插件:user build vars) ??Pre Steps🔒 点击Add post-build step添加对应操作 ???????🔑 ?Execute Windows Batch command:执行Windows批处理命令 ????????🔑 xecute shell:执行shell脚本 注意 jenkins无法后台执行命令问题 ????????🔑 Invoke Ant:调用Ant脚本 ???????🔑 Invoke Gradle script:调用Gradle脚本 ???????🔑?Invoke top-level Maven targets:调用Maven项目等 ??Build🔒 Root POM:用于设置指定的pom文件 🔒 Goal and options:用于设置待执行的maven命令,如果在之前的Jenkins初始配置中配置好了全局环境变量,这里maven version的下拉框中就可以直接选择maven版本了,然后在goals中输入maven的命令clean package -Dmaven.test.skip=true(因为此项配置就是在mvn 命令下执行,Jenkins会带上mvn再执行,所以此处不需要填写mvn) ??Post Strps 🔒 Run only if build succeeds:仅当构建成功时执行 🔒 Run only if build succeeds or is unstable:仅当构建成功或者不稳定时执行 🔒 Run regardless of bulid result:不管构建结果如何,都执行 选择下方的增加构建步骤。 ????🔑 Eexcute shell:执行shell命令,该工具是针对linux环境的,windows环境也有对应的工 具"Execute Windows batch command"。在构建之前,可能我们需要执行一些命令,比如压缩包的解压之类的。为了演示,我就简单的执行 "echo $RANDOM" 这样的linux shell下生产随机数命令。 ????🔑 Invoke Ant:Ant是一款java项目构建工具,当然也能用来构建php。 ????🔑 Ant Version:选择Ant版本。这个ant版本是安装在jenkins服务器上的版本,并且需要在jenkins"系统工具"中设置好。 ????🔑 Targets:要执行的操作,一行一个操作任务。以上图为例,build是构建,tar是打包。 ????🔑 Build File: 是Ant构建的配置文件,如果不指定,则是在项目路径下的workspace目录中的build.xml。build.xml文件具体怎么配置,后面再细讲。 ????🔑 properties: 设定一些变量,这些变量可以在build.xml 中被引用。 ????🔑 Send files or execute commands over SSH:发送文件到远程主机或执行命令(脚本) ????🔑 Name: SSH Server的名称。SSH Server可以在jenkins-系统设置中配置。 ????🔑 source files: 需要发送给远程主机的源文件。 ????🔑 Remove prefix: 移除前面的路径。如果不设置这个参数,则远程主机会自动创建构建源 source files 包含的那个路径。 ????🔑 Remote directory: 远程主机目录。 ????🔑 Exec command:在远程主机上执行的命令,或者执行的脚本。 ??Post-build Actions构建后动作,比如邮件通知、短信通知、钉钉通知等,需要安装插件支持,这样可以在构建任务完成后第一时间以各种形式通知管理人员。 Publish Clover PHP Coverage Report:发布代码覆盖率xml格式的文件报告。路径会在"build.xml"文件中定义 Publish HTML reports:发布代码覆盖率的HTML报告。 Report Crap: 发布crap报告。 E-mail Notification: 邮件通知,构建完成后发邮件到指定的邮箱。 🎊:这个文章到这里就结束啦 如果对你有帮助的话 可以点赞评论支持一下 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 14:44:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |