前言
现在前端的大佬们都在讲低代码,零代码,提效,不过我们每天的工作还是以业务需求为主,但是如果我们可以让自己的工作中更多的重复性事情变得自动化起来,这就可以起到提效的作用,有更多的时间去充实自己学习更多的技能知识,让自己的职业生涯更上一层楼。
工作流程
这里指的是大致的工作流程,大部分公司流程会更加的细致
什么是Jenkins
Jenkins 是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成,支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
什么是CI
Continuous Integration 持续集成
自动化测试和验证需要被合并的更改,以确保这些更改符合规范,对生产环境不会造成破坏,尽早发现个人开发部分的问题。
什么是CD
Continuous Delivery 持续交付,自动将生产就绪型构建版本发布到类生产环境,尽早测试; Continuous Deployment 持续部署,自动将应用发布到生产环境,尽早回测。
为什么要用 CI&CD 呢
当我们的工作越来越繁忙,个人的时间越来越少的时候,总会发现自己一直在做一些重复性工作,并且很多的事情是可以通过一些代码自动化帮助我们完成的时候,这个时候就可以使用到 CI&CD 自动化集成,可以让我们的工作量有所减轻,提高工作效率,让个人时间变得多起来;
说了这么多,下边就让我们一起来看看这个Jenkins的持续集成怎么玩吧!
我是在Mac本下进行的安装:
1.先安装docker & 运行
2.创建本地挂载地址
# 先在自己的本地创建一个目录,用来挂载docker文件
# name(自定义名称)
mkdir /Users/name/docker/jenkins
复制代码
3.Jenkins镜像安装
第一种方式
# 单独拉取镜像
docker pull jenkins/jenkins
# or (官网推荐镜像)
docker pull jenkinsci/blueocean
复制代码
第二种方式,拉取Jenkins镜像并且挂载本地宿主机文件地址,建议用下边这个
docker run -u 0 -d -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true -v /Users/name/docker/jenkins:/var/jenkins_home jenkinsci/blueocean
复制代码
4.运行并解锁Jenkins
浏览器窗口中输入URL地址进行访问
http://localhost:8080
这个时候会有个漫长的等待过程,启动之后会看到一个解锁Jenkins的页面,输入密码进入Jenkins
获取密码几种方式:
- 在终端使用命令查看
cat /var/lib/jenkins/secrets/initialAdminPassword
2. 直接进入宿主机挂载的本地文件,也就是我的Mac文件夹 /Users/name/docker/jenkins,中的这个地址,找到文件initialAdminPassword,使用文本编辑器打开 3. 通过docker客户端界面,打开Jenkins服务的logs日志,打开里边可以看到密码
5.安装插件
Jenkins会有个推荐插件,直接安装就好,这个过程有点慢,取决于网速
6.创建管理员用户
7.配置Jenkins URL
如果有公网IP地址或者是自己配置好的域名,可以直接替换掉localhost
如果没有,使用的本地IP地址,可以下载一个内网穿透工具,我使用的是这个NATAPP > 这个是为了之后接入gitlab | gitee | github等代码托管服务的时候使用,以及外网访问使用
8.新建任务测试一下
创建一个自由风格的任务
选择shell脚本执行,随便输入一点内容保存
立即构建
这个时候就看到我们的项目构建完成了,没有问题,这个时候可以接入一下gitee试一下
安装gitee & Jersey 2 API 插件
回到首页面选择系统管理,进入插件管理直接下载
安装完之后,可以重启一下,Jenkins
配置Jenkins环境
安装完成以后,回到首页选择系统管理,选择系统配置
配置Jenkins URL,如果没有在开始的时候配置,在这里还可以修改
注意内网地址不可用,会导致gitee访问不到,可以使用公网IP或者内网穿透工具解决NATAPP
注意内网地址不可用,会导致gitee访问不到,可以使用公网IP或者内网穿透工具解决NATAPP
注意内网地址不可用,会导致gitee访问不到,可以使用公网IP或者内网穿透工具解决NATAPP
获取Jenkins用户api Token,点击添加token,直接生成就可以,这个token自己存放好,否则后续还需要重新生成
进入我们刚才创建的工程内,开始配置项目
配置好以后直接
配置gitee信息
gitee webhooks 生成
添加一个webhooks
URL 格式 http://(jenkins用户名):(Jenkins用户的api token)@(自己设置的Jenkins URL)/gitee-project/project
设置gitee 个人访问令牌
直接生成一个令牌,这个token跟Jenkins API Token一样都需要自己另外保存好,因为只显示一次
代码测试
webhooks中直接测试
提交自己的仓库代码测试
git push origin master
复制代码
以上就是Jenkins + gitee自建CI的流程,可以自己动手试一下,除了gitee,还可以是其他的,比如gitlab,github等等,只要配置对应的webhooks,就可以在自己想要的阶段执行对应的代码,例如:push、merge等
感谢各位的查看,这篇文章主要是自己这段时间做CI工具的一个心得,也是以防万一时间久了会忘记,所以做个记录,也希望可以帮助到其他同学;