[doc]
安装
docker安装
jenkins的docker官网地址 可以在这里找到拉取指令
我比较推荐大家去jenkins docker Github官方仓库安装
- 安装并运行指令
docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11
通过链接http://123.56.134.188:8080 进入自己的界面
通过bash进入容器内部:拿到密码
docker exec -it jenkins/jenkins bash
jenkins@7bb447d30253:~$ cat /var/jenkins_home/secrets/initialAdminPassword
f45dc21499824d66ad005655b729aee1
输入密码后就会开始安装:
我按照推荐个插件安装
http://123.56.134.188:8080/
Jenkins使用
Jenkins词汇表
-
Agent
Agent通常是一个机器或容器,它连接到Jenkins主机,并在主控器指导时执行任务。
Artifact
在Build或Pipeline 运行期间生成的不可变文件,该文件归档到Jenkins Master上以供用户随后检索。 -
Build
项目 单次执行的结果 -
Cloud
提供动态代理 配置和分配的系统配置,例如由Azure VM Agents 或 Amazon EC2插件提供的配置和分配 。 -
Core
主要的Jenkins应用程序(jenkins.war)提供了 可以构建Plugins的基本Web UI,配置和基础。 -
Downstream
配置Pipeline或项目时被触发作为一个单独的Pipeline或项目的执行的一部分。 -
Executor
用于执行由节点上的Pipeline或 项目定义的工作的插槽。节点可以具有零个或多个配置的执行器,其对应于在该节点上能够执行多少并发项目或Pipeline。 -
Fingerprint
考虑全局唯一性的哈希追踪跨多个Pipeline或项目的工件或其他实体 的使用 。 -
Folder
类似于文件系统上的文件夹的Pipeline和/或 项目 的组织容器。 -
Item
Web UI中的实体对应于:Folder, Pipeline, or Project. -
Job
一个不推荐的术语,与项目同义。 -
Label
用于分组代理的用户定义的文本,通常具有类似的功能或功能。例如linux对于基于Linux的代理或 docker适用于支持Docker的代理。 -
Master
存储配置,加载插件以及为Jenkins呈现各种用户界面的中央协调过程。 -
Node
作为Jenkins环境的一部分并能够执行Pipeline或项目的机器。无论是the Master还是Agents都被认为是Nodes。 -
Project
用户配置的Jenkins应该执行的工作描述,如构建软件等。 -
Pipeline
用户定义的连续输送Pipeline模型,以便更多阅读本手册中的“ Pipeline”一章。 -
Plugin
与Jenkins Core分开提供的Jenkins功能扩展。 -
Publisher
完成发布报告,发送通知等的所有配置步骤后的 构建的 一部分。 -
Stage
stage是Pipeline的一部分,用于定义整个Pipeline的概念上不同的子集,例如:“构建”,“测试”和“部署”,许多插件用于可视化或呈现Jenkins Pipeline状态/进度。 -
Step
单一任务从根本上讲,指的是Jenkins 在Pipeline或项目中做了什么。 -
Trigger
触发新Pipeline运行或构建的标准。 -
Update Center
托管插件和插件元数据的库存,以便在Jenkins内部进行插件安装。 -
Upstream
配置的Pipeline或项目,其触发单独的Pipeline或项目作为其执行的一部分。 -
Workspace
Noede文件系统上的一次性目录, 可以由Pipeline或项目完成工作。在Build或 Pipeline运行完成后,工作区通常会保留原样,除非在Jenkins Master上已经设置了特定的Workspace清理策略。
第一次使用
- 登陆进去
- 首界面
创建第一个项目
Jenkin的项目有很多种
- 自由风格 (适合简单项目)
- maven (Java项目)
- 流水线 (这个是未来的趋势,建议学习)
一般简单的项目,比如我经历的消费电子行业,一般采用自由风格,java项目一般采用maven,而流水线是jenkins更新后的最大特色,也是最推荐的,可以持续集成,使用的grvvoy脚本进行配置,因为我对这个脚本语言不熟悉,再加上主要方向是c和c++方向,所以我准备将重心放在自由项目上,如果你跟我背景不一样,我强烈建议读者你学习流水线工程,这个才是jenkins该有的样子。但是本质技术为商业服务的理念,自由风格对我来说已经够用了!