Jenkins 是什么?
Jenkins 是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
本博文将讲解自动构建的部分。
Jenkins 的安装可参考文章从零开始搭建JENKINS+GITHUB持续集成环境【多图】。
讲解的内容包括:
-
新建流水线
-
Jenkins 配置
-
Gitlab 配置
直接进入主题~
新建流水线
Dashboard -> 新建任务

✅ 建议:任务名称填写与仓库名称一致,一一对应方便查找任务。
新建完成任务之后,会自动跳转到该任务的配置页面。
Jenkins 配置
这里的配置,去要做一下细分。
公共配置
系统配置
Dashboard -> 系统管理 -> 系统配置 -> Gitlab

- Connection name 表示链接的名称,这里我填了 Gitlab ,后面要用到
- Gitlab host URL 表示你 Gitlab 的域名链接
- Credentials 凭证
- 凭证的获取需点击“添加”进入
- 具体的生成步骤 personal_access_tokens
全局工具配置
Dashboard -> 系统管理 -> 全局工具配置 – NodeJS

- 别名这里起了
nodejs,在后面写 Jenkinsfile 的时候会用到 - 安装的版本当前的稳定版即可,文章发表时,
NodeJS的稳定版是NodeJS 14.17.5
任务配置
如果按照正常操作,新建完成任务之后,会自动跳转到该操纵页面。当然,你还可以通过下面的操作进入:
Dashboard -> PipelineTask -> 配置
只需要留意下面的内容即可:

- General 板块
- 描述表明这个任务是干什么的,可有可无
- GitLab Connection 选择我们在“系统配置”中设定好的选项

- 构建触发器板块
- 只要勾选
Build when a change is pushed to GitLab. GitLab webhook URL: http://localhost:8080/project/PipelineTask即可
- 只要勾选
?️ 这里有两点后面需要用到(上面截图并非完整,自行体验):
- GitLab webhook URL
- Secret token (点击“高级” -> Generate 按钮生成)

- 流水线模块
- 定义下拉框选择 Pipeline script from SCM ,因为我们是通过项目的
Jenkinsfile进行构建的 - SCM 选择 Git
- Repository URL 填写项目的仓库地址,比如
https://gitlab.mydomain.com/apps/pipeline_task.git - Credentials 是凭证,你 GitLab 的账号密码
- 定义下拉框选择 Pipeline script from SCM ,因为我们是通过项目的
Gitlab 配置
Gitlab 上做一个关联,与 Jenkins 关联上,当仓库 push 操作的时候,Jenkins 上自动构建项目。
?️ PS:当然 push 操作只是其中一种情况,还可以打标签之类的
进入你仓库相应项目 -> Settings -> Integrations

- URL 对应上面 Jenkins 触发器上设定的 GitLab webhook URL
- Secret Token 对应上面 Jenkins 触发器上生成的 Secret token
添加了 Webhook 之后可以进行测试,查看是否通了。

如果测试通过,会出现 Hook executed successfully: HTTP 200 的提示。
在触发构建之前,我们在对应仓库根目录下写个简单的脚本 Jenkinsfile :
pipeline {
agent any
tools {
nodejs "nodejs"
}
stages {
stage('Dependency') {
steps {
sh 'npm install'
}
}
stage('Build') {
steps {
sh 'npm run clean'
sh 'npm run build'
}
}
}
}
复制代码
在项目每次进行 push 的时候,就会自动构建,构建的步骤按照 Jenkinsfile 设定的走。
【完】





















![[桜井宁宁]COS和泉纱雾超可爱写真福利集-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/4d3cf227a85d7e79f5d6b4efb6bde3e8.jpg)

![[桜井宁宁] 爆乳奶牛少女cos写真-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/d40483e126fcf567894e89c65eaca655.jpg)