首页 > 其他 > 详细

Jenkins(一)入门

时间:2020-09-06 14:18:14      阅读:68      评论:0      收藏:0      [点我收藏+]

一、CI/CD 介绍

1.1 CI 持续集成(Continuous Integration)

持续集成是指频繁的将代码集成到主干,一旦开发人员提交的更改被合并,系统就会自动构建应用并运行不同级别的自动化测试来验证更改,确保更改没有对应用造成破坏。如果自动化测试发现新代码和现有代码之间存在冲突,CI 可以更加轻松地快速修复这些错误。

1.2 CD 持续交付(Continuous Delivery)

完成 CI 中构建及自动化测试流程后,持续交付可将已经验证的代码发布交付给质量团队进行验证。

1.3 CD 持续部署(Continuous Deployment)

持续部署的前提是能自动化完成测试、构建、部署等步骤。是持续交付的下一步,指代码通过评审后自动部署到生产环境。

二、Jenkins

2.1 Jenkins 是什么?

Jenkins 是一个开源的持续集成工具,用 JAVA 语言编写,可在 Tomcat 等流行的 servlet 容器中运行,也可以单独运行,通常与版本管理工具、构建工具结合使用。Jenkins 插件丰富,支持各种扩展。

常用的版本控制工具:SVN、GIT

常用构建工具:Maven、Ant、Gradle

2.2 Jenkins 作用

  • 持续、自动地构建/测试软件项目。

  • 监控一些定时执行的任务

三、Jenkins 安装与入门

安装最低配置:不少于256M内存,不低于1G磁盘,JDK 版本>=8

3.1 Windows 安装 Jenkins

3.1.1 msi 文件直接安装
  1. 下载最新 Windows 版本直接安装:https://www.jenkins.io/download/

  2. 解锁 Jenkins

  • 安装完成后浏览 http://localhost:8080,首次访问新的 Jenkins 实例时,需要使用自动生成的密码对其进行解锁。等待 Jenkins 页面出现,在页面上查看密码存放位置,输入正确的密码继续

技术分享图片

  • 安装插件(新手建议选择“安装推荐的插件”),等待插件安装完成。

  • 创建第一个管理员账户,然后进入 Jenkins 首页。

  1. 如何修改默认端口号?

Jenkins 默认端口为8080,若想修改 Jenkins 访问端口,打开 Jenkins 安装目录下的 Jenkins.xml 文件,找到 --httpPort=8080 修改为指定端口保存,以管理员身份打开 CMD 重新启动 Jenkins,再浏览新的端口即可进入 Jenkins。

3.1.2 Docker 安装 Jenkins

  1. Windows 上安装 Docker Desktop

  2. 执行命令拉取并启动 Jenkins 容器: docker run -dit -p 5000:8080? --name myjenkins -v e:\docker\jenkins:/var/jenkins_home --env JAVA_OPTS=-Duser.timezone=GMT+08 jenkins/jenkins:lts

技术分享图片

  1. 解锁jenkins:容器启动成功后浏览 http://localhost:5000/(5000为运行时设置的端口) 进入 Jenkins 设置向导页,可以在映射到宿主机的目录(E:\docker\jenkins\secrets\initialAdminPassword)查看初始密码,或者通过 docker 命令查看

命令:docker exec myjenkins cat /var/jenkins_home/secrets/initialAdminPassword

注意:因为 Docker Jenkins 启动的默认时区是格林威治时间,要传入中国时区需添加参数 --env JAVA_OPTS=-Duser.timezone=Asia/Shanghai jenkins,当前 Jenkins 的时区可在 系统管理->系统信息->系统属性中查看

技术分享图片

3.2 构建入门 Job

现在我们已经成功安装了 Jenkins,那么新建一个简单的 Job 来验证一下 Jenkins 的 配置吧~

说明:该项目每2分钟自动构建一次,构建成功在控制台输出字符串“Hello {姓名}, this is the first Jenkins job",其中姓名可在构建时作为参数传入

  1. 首先“创建一个新任务”,填写 Job 名称并选择“构建一个自由风格的软件项目”

  2. 填写描述;勾选“丢弃旧的构建(Discard old builds)”用于设定构建记录的最大保留数(天数 或 个数);勾选“参数化构建过程(This project is parameterized)”,添加一个 String Parameter 参数用来传入姓名

  3. 设置定时构建任务(Build periodically)

定时任务的格式为:MINUTE? HOUR? DOM? MONTH? DOW
MINUTE      分钟      0-59
HOUR        小时      0-23
DOM         天        1-31
MONTH       月        1-12
DOW         星期      0-7(0和7都表示星期天)

注意:除使用取值范围内的值外,还可以使用一些特殊的字符,如:
* 取值范围内所有值
M-N? 匹配 M~N范围内所有值
M-N/X 或者 */X? 在指定M~N范围内或整个有效区间内每隔X构建一次
A,B...Z? 匹配多个值
H,如:H(0-7) * * * 代表凌晨0:00到 上午7:59一段时间
例:
# 每隔2分钟:H/2 * * * *
# 周一-周六早上9:00到16:00这段时间内每间隔1小时的30分钟那一刻:30 9-16/1 * * 1-6
  1. 构建脚本:用于验证构建结果,如在控制台输出字符串
windows 添加 batch 命令,其中参数用%%来引用:echo "Hello %param%, this is the first Jenkins job"

linux添加 shell 命令,其中参数用$来引用:echo "Hello $param, this is the first Jenkins job"
  1. 保存后开始构建,构建成功后进入构建记录详情,通过查看 Console Output 控制台输出信息可以看到执行了Shell命令,正确输出了字符串

技术分享图片

Jenkins(一)入门

原文:https://www.cnblogs.com/sharef/p/13620746.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!