Jenkins安装配置
Jenkins 是一个开源免费的持续集成和持续部署的工具,也就是 CI/CD,是Java语言编写。通过流水线(Pipeline)语法,可以定义构建步骤和操作发布。可以很好的节省开发人员的编译安装部署所浪费的时间。下面简单的介绍下我是如何安装部署这个工具的。
概念
系统更新通常是流程如下:
- 拉取代码
- 安装编译
- 测试结果
- 打包发布
传统运维通常是通过 shell 脚本进行处理的,Jenkins 则是对这个流程进行了封装简化。使得语法更简单,更好管理。处理失败时还可以触发邮件通知,让相关人员及时发现问题所在。设置完成后就几乎不需要人去处理发布过程了,减少人力成本且高效。
打包发布的方式有很多种,常见的有文件覆盖、发布镜像、更新容器等。线上的容器架构打包发布可以直接推送到镜像仓库中,类似 Docker Hub
中。再通过 K8S
更新线上容器等,感兴趣的可自行扩展。
安装配置
前置要求
- 安装 Docker
- 具备 Docker 和 Docker compose 的使用经验
启动
官方文档-安装Jenkins 里使用了 Docker 命令的方式安装。但是我深入学习过 Docker 觉得命令管理并不符合我的胃口,所以使用 docker-compose 来管理 Jenkins 容器。 原启动命令如下:
1 | docker run \ |
注意:
行尾的 #1、#2、#3、#4 是为了方便与 docker-compose.yml 里的设置对应,使用时需要去除。
转化成 docker-compose.yml:
1 | version: '3.8' |
知识点:
- external 参数可以去除默认的前缀
- window 下 Docker Desktop 指定 /var/run/docker.sock 会直接使用 wsl 里的目录
- window 下 Docker Desktop 默认支持 docker-compose
启动 & 日常管理
1 | 初次启动,变动 docker-compose.yml 里更新时 |
设置
完成启动后,可以通过 http://localhost:8080 访问到 Jenkins。接下来是比较简单的安装向导。请直接操作或对照官方文档进行设置。
注意:
这里需要手动重启 Jenkins 容器,界面操作无法按预期重启。
更新 & 安装插件
我当前最新的 Jenkins 镜像是 1.25.3。引导时使用推荐插件安装,进入后还是有需要进行安全升级插件。操作步骤如下:
初次启动,查看相着告警
Manage Jenkins -> Manage Plugins -> Updates 标签
黄色提示的勾选,但推荐全部勾选(包含弃用、可升级的说明)
Download now and install after restart 安装
图中有报错,但是看插件名,影响不大
- 重启 Jenkins Docker 容器
安装必要的插件,在 Manage Jenkins -> Manage Plugins -> Available 标签里查找以下插件:
- Docker Pipeline:
- SSH Pipeline Steps:ssh 流水线命令
语法缺失会报类型以下的错误信息:
这里是缺失了 sshPut 的语法。直接搜索错误解决,也可尝试安装相关的 ssh pipeline 来解决,推荐前者,因为调整插件需要重启 jenkins。
1 | java.lang.NoSuchMethodError: No such DSL method 'sshPut' found among steps |
小结
当前已经把 Jenkins 的环境已经准备好了,下一篇我将为大家带来 Jenkins 的日常使用,以示例为主。