一、Jenkins功能介绍
Jenkins 是一个广泛使用的开源自动化服务器,主要用于持续集成 (CI) 和持续交付 (CD) 的工作流管理。它有许多功能,使得开发团队能够自动化构建、测试、部署和发布软件。
1. 持续集成 (Continuous Integration)
Jenkins 最主要的功能是实现 持续集成。它允许开发人员频繁地将代码合并到主分支中,并自动运行构建和测试,从而及时发现和修复集成问题。(1)自动触发构建:每当代码提交到版本控制系统(如 Git、SVN)时,Jenkins 会自动拉取代码并触发构建。(2)构建验证:Jenkins 会执行构建任务,确保代码正确编译、打包,并通过所有自动化测试。
2. 持续交付和部署 (Continuous Delivery/Deployment)
Jenkins 支持 持续交付 和 持续部署,通过自动化流程管理软件发布到不同环境(开发、测试、生产等)。(1)自动化部署:可以配置 Jenkins 在成功构建后,将应用程序自动部署到开发环境、测试环境或生产环境。(2)多阶段部署:Jenkins 可以实现多阶段的部署流程,如在不同的环境中进行集成测试、性能测试等。
3. 插件支持
Jenkins 是一个高度可扩展的工具,拥有丰富的插件生态系统,支持各种工具和技术栈的集成。支持各种构建工具,如 Maven、Gradle、Ant 等。集成版本控制工具,如 Git、SVN、Mercurial 等。
提供通知功能,可以将构建结果通过邮件、Slack、JIRA 等进行通知。与 Docker、Kubernetes 等容器化平台的集成支持。
4. 构建自动化
Jenkins 提供 流水线 (Pipeline) 功能,通过脚本化的方式定义和自动化整个构建、测试、部署的流程。Scripted Pipeline:使用更灵活的脚本语法,适合复杂的工作流。通过 Pipeline DSL,可以编排从代码拉取、编译、测试、部署等一系列步骤,支持高级自动化。
5. 分布式构建
Jenkins 支持通过 分布式构建 来扩展构建能力,可以将构建任务分配到多台机器上(Jenkins 节点)。Master-Slave 架构:Jenkins Master 负责管理任务和协调工作,Slave 节点负责执行实际的构建任务。通过分布式构建,可以提高性能,特别是在多项目、多平台的情况下。
6. 实时构建和反馈
Jenkins 提供 实时反馈 功能,用户可以随时查看构建的状态、进度和日志。(1)构建状态指示器:在 Jenkins UI 中,可以看到每个构建的状态(成功、失败、待定等)。(2)构建日志:可以查看详细的构建过程日志,帮助开发人员调试构建失败的原因。
7. 集成单元测试和代码分析
Jenkins 集成了 单元测试 和 静态代码分析,通过插件与测试框架(如 JUnit、TestNG)以及代码质量工具(如 SonarQube)配合使用。(1)自动运行单元测试:每次构建时,Jenkins 会运行预设的单元测试,确保代码质量。(2)代码覆盖率报告:可以生成代码覆盖率报告,帮助开发团队分析测试的覆盖情况。(3)静态代码分析:集成工具(如 SonarQube)进行静态代码分析,检测潜在的代码问题(如代码风格、复杂度、潜在漏洞等)。
8. 安全性和用户管理
Jenkins 提供 灵活的权限管理 和 安全控制,确保团队中的不同成员能够有权限地使用 Jenkins。(1)用户认证:支持多种身份验证方式,如基于 LDAP、GitHub、SAML 等的身份认证。(2)角色-based访问控制(RBAC):可以设置不同的权限和角色,以控制谁可以查看、配置、触发构建等操作。(3)审计日志:可以查看和记录所有的操作历史,确保审计可追溯。
9. 可视化和报告
Jenkins 提供了强大的 可视化界面,使得团队能够轻松查看构建过程、状态以及历史记录。(1)构建历史:可以查看每次构建的详细信息,包括日志、测试结果、部署状态等。(2)构建趋势图:通过插件生成图表,展示构建成功、失败、警告等趋势,帮助团队识别问题模式。
10. 多平台支持
Jenkins 可以在多个操作系统上运行,包括 Windows、Linux、macOS 等,并且可以与多种平台的构建工具和云服务配合使用。支持在不同操作系统下执行任务,适用于跨平台开发项目。同时支持与 Docker、Kubernetes 等容器平台的无缝集成,便于在容器中构建和部署应用。
11. 集成与扩展
Jenkins 可以与其他开发和运维工具集成,支持多种工作流和开发生命周期管理工具。(1)集成项目管理工具:例如 Jira、Trello 等,用于追踪构建任务、Bug 和功能请求。(2)与云服务集成:支持与 AWS、Azure、Google Cloud 等云服务平台的集成,进行云端部署和自动扩展。
二、Jenkins软件安装
首先在官网下载Jenkins:Download and deploy
在官网下找到指定电脑系统的安装包下载,存入目标文件夹。
然后开始安装Jenkins软件。
选择自己目标文件夹进行安装:
选择安装方式,如果选择下图所示方式,需要配置成员安全组策略:
登陆账号可以通过控制面板---用户账户查询:
然后选择用户账户--进入修改账户界面
可以通过下列内容查询账户名称、账户密码。并可以添加用户,但是由于Windows家庭版本系统不支持安全组策略, secpol.msc和gpedit.msc无法通过win+R运行服务中打开。
三、解决Windows家庭版系统的账户domain user无法被系统识别问题,安全成员组策略问题
需要通过阅读微软官方文章:Where to download GPEdit.msc for Windows 10 Home? - Microsoft Community
然后打开下载链接:How To Enable Group Policy Editor (gpedit.msc) In Windows 10 Home
运行CMD 命令行,下载安装组策略 :
FOR %F IN ("%SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~*.mum") DO (DISM /Online /NoRestart /Add-Package:"%F")
FOR %F IN ("%SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~*.mum") DO (DISM /Online /NoRestart /Add-Package:"%F")
然后运行
Run gpedit.msc
进行组策略设置,将自己目标用户加入到成员及组安全策略中,在Jenkins账号密码处输入该成员的账号与密码。