引言

为了解和研究 Jenkins,特意本地部署了 Jenkins,记录一下 Jenkins 的入门篇,安装和启动。

内容提要:
Jenkins 是什么?
CI/CD 是什么?
Jenkins 安装
Jenkins 启动

Jenkins 是什么?

Jenkins 是一个开源的软件,起源于 Hudson(Hudson 是商用的),是基于 Java 开发的一种持续集成的可视化 web 工具,Jenkins 帮助我们自动构建各类项目, 就是各类项目的"自动化"编译、打包、分发部署。Jenkins 强大的插件式,使得 Jenkins 可以集成很多软件,帮助我们持续集成我们的工程项目。

Jenkins 可以很好的支持各种语言(比如:java, c#, php 等)的项目构建,也完全兼容 Ant、Maven、Gradle 等多种第三方构建工具,同时跟 SVN、GIT 能无缝集成,也支持直接与知名源代码托管网站,比如 GitHub、BitBucket 直接集成。

Jenkins 功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。

CI/CD 是什么?

以下内容参考 https://www.jianshu.com/p/5f671aca2b5a
CI(Continuous integration,持续集成),持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
在这里插入图片描述

CD(Continuous Delivery, 持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。下图反应的是CI/CD 的大概工作模式。

在这里插入图片描述

Jenkins 安装

下载安装包

Jenkins 官网下载
左边 LTS(Long-Term Support) 是最新稳定版本,右边是最新版本。
本机是 Windows OS,所以举例 Windows 安装,有两种方式,一种是下载 Windows MSI 安装包,一种是下载 .war 包。
在这里插入图片描述

先决条件 Prerequisites

一般硬件条件都能满足,这里强调一下 Java 需求,因为 Jenkins 是基于 Java 开发的,所以必须装相应的 JDK。 详情参考 Java Requirement

Java 8 or Java 11 are required for running modern versions of Jenkins.

Jenkins project performs a full test flow with the following JDK/JREs:
OpenJDK JDK / JRE 8 - 64 bits
OpenJDK JDK / JRE 11 - 64 bits
All other Java versions are not supported.

我本机装的是 OpenJDK:
在这里插入图片描述

Option 1:Windows MSI 安装

详情请参考 官网 Windows MSI 安装步骤, 执行 Windows MSI 安装包,根据安装向导一步步完成,这里就不累赘介绍了。

Option 2:WAR(推荐)

Jenkins WAR (Web application ARchive) 文件版本可以装在任意有 JAVA 环境的操作系统或平台。

命运行运行 java -jar jenkins.war 
注意:默认情况下端口是 8080,有可能已经被使用。
也可以通过命令行 java –jar Jenkins.war --httpPort=8001 指定端口
在这里插入图片描述

Jenkins 启动

一旦安装完成,Jenkins 作为一个 Windows 服务安装成功。
在这里插入图片描述

解锁 unlock Jenkins

第一次访问 Jenkins 实例 http://localhost:8001,需要用自动生成的密码解锁 Jenkins。
在这里插入图片描述
自动生成的密码就是默认安装目录下的 initialAdminPassword 文件里。
在这里插入图片描述

Customizing Jenkins with plugins

最开始推荐安装建议的一些插件,也是最常用的。
在这里插入图片描述

创建第一个 admin 用户

在这里插入图片描述

Home Page

用创建的 admin 用户 Log in 后,看到主页面,可以进行各种配置,job 的创建。
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐