Jenkins是基于java的自动化系统平台(在servlet容器中运行,例如Tomcat)
提供CI,CD任务及流水线服务
支持各种SCM源码控制工具
丰富的插件
基于Web的管理和使用界面
2. 安装并启动Jenkins
jenkins有多种安装方式: docker,WAR,Linux,Windows,macOS等等。
windows下的war文件安装jenkins:
jdk环境安装配置
下载 jenkins war,版本2.73.3,安装在D:\Applications\Jenkins目录下
启动Jenkins:进入war包所在目录,执行 java -jar jenkins.war(默认是8080端口,jenkins服务在后台运行,Ctrl+C退出终端后服务不会终止,需要net stop Jenkins来终止),java -jar jenkins.war --httpPort=8038,(会重新开启一个Jenkins服务,路径 ~/.jenkins,Ctrl+C退出终端后服务会终止。)
输入localhost:8080/,进入jenkins web页面
3. Jenkins初始化配置
解锁Unlock Jenkins:输入initialAdminPassword(Jenkins欢迎页会提示密码具体保存在哪,$JENKINS_HOME\secrets\initialAdminPassword),即可用管理员admin身份进入。
定制 Jenkins Customize Jenkins:即是否默认下载一些插件。
输入图片说明
4. 新建一个自由风格的job
新建一个自由风格的job(或者说是项目Project)。
本地Jenkins\jobs目录对应每个job的具体信息例如构建历史builds等
本地Jenkins\workspace目录对应每个job的SCM源码仓库(例如下载的git源码等)
4.1. General
如果是测GitHub项目,则勾选Github project-->填写Project URL
4.2. 源码管理
默认None,下载Git Plugin插件后会显示Git方式
Repositories填写Repository URL(带上.git), Credentials(选择Username with password方式。这个是Jenkins拉取源码时需要的凭证,选择后会自动校验用户权限)
输入图片说明
Branch Specifier: 为空表示项目的所有分支, refs/heads/master表示本地master分支, refs/tags/tagname表示标签,commitid表示commitid版本等等
4.3. 构建触发器
Build periodically: 周期进行项目构建(不管源码是否发生变化)。
Poll SCM(SCM管理: 定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。有Git Polling Log可以查看日志。
CST可视为美国,澳大利亚,古巴或中国的标准时间。
输入图片说明
Git Polling Log日志如下(No changes则不会触发 SCM 构建):
输入图片说明
4.4. 构建环境
可安装 Timestamper 插件,并且构建环境勾选 Add timestamps to the Console Output,这样在控制台输出的时候会加上时间戳。
4.5. 构建
默认可通过四种方式构建,Windows batch、shell、Maven、ant
例如构建脚本如下:
输入图片说明
4.6. 构建后操作:可发邮件等。。。
5. 查看构建结果
5.1 某构建历史的构建触发器
用户点击 立即构建 触发的会显示 启动用户admin
Build periodically 触发的会显示 Started by timer
Poll SCM 触发的会显示 Started by an SCM change
输入图片说明
5.2 某构建历史的控制台输出
说明: 因为本地windows下已经安装了node环境并添加到了PATH中,所以jenkins中不需要额外的配置可以直接运行node命令。可以在jenkins系统管理--》系统信息,查看 JAVA_HOME,JENKINS_HOME,PATH等信息。
时间戳
6. 关闭,重启或重载 Jenkins
关闭:localhost:8080/exit
重启:localhost:8080/restart
重载:localhost:8080/reload (例如:重新加载配置信息)
7. 停止或启动Jenkins服务
windows系统
net stop Jenkins(需要管理员权限)
net start Jenkins