Jenkins简介
Jenkins概述
持续集成
Jenkins特点
安装Jenkins
下载Jenkins
安装Jenkins
初始化jenkins
安装插件
管理用户
完成安装
- 配置通过国内站点安装插件
```shell
[root@localhost ~]# ls /var/lib/jenkins/updates/default.json
[root@localhost ~]# sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/updates/default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /var/lib/jenkins/updates/default.json
[root@localhost ~]# systemctl restart jenkins
```
> 如果/var/lib/jenkins/updates/default.json不存在,可以 Manage Jenkins -> Manage Plugins -> Advanced选项卡 -> Update site : https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json -> 点击submit提交。
修改管理员密码
CI/CD流程
案例:安装Jenkins
准备GIT仓库
应用
构建项目
简易构建
#### 构建任务
- 在jenkins服务器上安装git
```shell
[root@localhost ~]# yum install -y git
```
首页 -> 新建Item -> myweb / Freestyle project -> 确定 -> 源码管理 => git / Repository URL: http://192.168.113.101/devops/myweb.git -> 保存
```shell
# 在jenkins服务器上查看代码目录
[root@localhost ~]# ls /var/lib/jenkins/workspace
ls: 无法访问/var/lib/jenkins/workspace: 没有那个文件或目录
```
点击项目页面左边栏的Build Now(立即构建) -> Build History 下面的#1 -> 左边栏的控制台输出
```shell
# 在jenkins服务器上查看代码目录
[root@localhost ~]# ls /var/lib/jenkins/workspace
myweb
```
下载git插件
创建自由风格项目
设置参数
源码管理
构建工程
简易构建
#### 构建任务
- 在jenkins服务器上安装git
```shell
[root@localhost ~]# yum install -y git
```
首页 -> 新建Item -> myweb / Freestyle project -> 确定 -> 源码管理 => git / Repository URL: http://192.168.113.101/devops/myweb.git -> 保存
```shell
# 在jenkins服务器上查看代码目录
[root@localhost ~]# ls /var/lib/jenkins/workspace
ls: 无法访问/var/lib/jenkins/workspace: 没有那个文件或目录
```
点击项目页面左边栏的Build Now(立即构建) -> Build History 下面的#1 -> 左边栏的控制台输出
```shell
# 在jenkins服务器上查看代码目录
[root@localhost ~]# ls /var/lib/jenkins/workspace
myweb
```
#### 配置机器人发送消息
- 项目构建过程中,可以将整个构建过程通过机器人发送消息。
首页 -> Manage Jenkins -> Configure System -> 系统配置 -> 新增机器人 -> 输入名字、webhook地址以及关键字 -> 点击测试 -> 成功后保存
> web登:https://im.dingtalk.com/
- 修改myweb项目
首页 -> 点击项目 - > 左边栏 配置 -> 勾选机器人 -> 保存
构建项目时,构建过程将会通过机器人发送消息
#### 推送代码时自动构建项目
- 修改jenkins项目配置 -> 构建触发器 -> 勾选Build when a change is pushed to GitLab. GitLab webhook URL: http://192.168.113.102:8080/project/myweb -> 点击 高级 -> 点击generate生成Secret token并复制它 -> 保存
- 修改gitlab配置 -> 点击项目,如myweb -> 左边栏 设置 / 集成 -> 链接url http://192.168.113.102:8080/project/myweb / 安全令牌填写jenkins中生成的Secret token -> 点击增加web钩子。在页面中间部分找到创建的web钩子,点击test -> Push events测试,返回Hook executed successfully: HTTP 200表示成功。
- 测试
```shell
# 在jenkins服务器上删除构建目录
[root@localhost ~]# rm -rf /var/lib/jenkins/workspace/*
# 程序员推送代码
[root@localhost myprojects]# cd myweb/
[root@localhost myweb]# echo '<p>tedu nsd1911</p>' >> index.html
[root@localhost myweb]# git add .
[root@localhost myweb]# git commit -m "modify index.html"
[root@localhost myweb]# git push
```
程序员推送代码到gitlab服务器后,jenkins项目将会自动构建,并通过机器人发送构建消息。
```shell
[root@localhost ~]# ls /var/lib/jenkins/workspace/
myweb
[root@localhost ~]# ls /var/lib/jenkins/workspace/myweb/
index.html issue login.defs README.md
[root@localhost ~]# cat /var/lib/jenkins/workspace/myweb/index.html
<h1>My Test Web Site</h1>
<h2>my site 2.0</h2>
<p>tedu nsd1911</p>
```
检验结果
查看本地结果
案例:构建工程