持续集成是指频繁的将代码集成到主干,一旦开发人员提交的更改被合并,系统就会自动构建应用并运行不同级别的自动化测试来验证更改,确保更改没有对应用造成破坏。如果自动化测试发现新代码和现有代码之间存在冲突,CI 可以更加轻松地快速修复这些错误。
完成 CI 中构建及自动化测试流程后,持续交付可将已经验证的代码发布交付给质量团队进行验证。
持续部署的前提是能自动化完成测试、构建、部署等步骤。是持续交付的下一步,指代码通过评审后自动部署到生产环境。
Jenkins 是一个开源的持续集成工具,用 JAVA 语言编写,可在 Tomcat 等流行的 servlet 容器中运行,也可以单独运行,通常与版本管理工具、构建工具结合使用。Jenkins 插件丰富,支持各种扩展。
常用的版本控制工具:SVN、GIT
常用构建工具:Maven、Ant、Gradle
持续、自动地构建/测试软件项目。
监控一些定时执行的任务
安装最低配置:不少于256M内存,不低于1G磁盘,JDK 版本>=8
下载最新 Windows 版本直接安装:https://www.jenkins.io/download/
解锁 Jenkins
安装插件(新手建议选择“安装推荐的插件”),等待插件安装完成。
创建第一个管理员账户,然后进入 Jenkins 首页。
Jenkins 默认端口为8080,若想修改 Jenkins 访问端口,打开 Jenkins 安装目录下的 Jenkins.xml 文件,找到 --httpPort=8080 修改为指定端口保存,以管理员身份打开 CMD 重新启动 Jenkins,再浏览新的端口即可进入 Jenkins。
Windows 上安装 Docker Desktop
执行命令拉取并启动 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
命令:docker exec myjenkins cat /var/jenkins_home/secrets/initialAdminPassword
注意:因为 Docker Jenkins 启动的默认时区是格林威治时间,要传入中国时区需添加参数 --env JAVA_OPTS=-Duser.timezone=Asia/Shanghai jenkins,当前 Jenkins 的时区可在 系统管理->系统信息->系统属性中查看
现在我们已经成功安装了 Jenkins,那么新建一个简单的 Job 来验证一下 Jenkins 的 配置吧~
说明:该项目每2分钟自动构建一次,构建成功在控制台输出字符串“Hello {姓名}, this is the first Jenkins job",其中姓名可在构建时作为参数传入
首先“创建一个新任务”,填写 Job 名称并选择“构建一个自由风格的软件项目”
填写描述;勾选“丢弃旧的构建(Discard old builds)”用于设定构建记录的最大保留数(天数 或 个数);勾选“参数化构建过程(This project is parameterized)”,添加一个 String Parameter 参数用来传入姓名
设置定时构建任务(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
windows 添加 batch 命令,其中参数用%%来引用:echo "Hello %param%, this is the first Jenkins job"
linux添加 shell 命令,其中参数用$来引用:echo "Hello $param, this is the first Jenkins job"
原文:https://www.cnblogs.com/sharef/p/13620746.html