Jenkins+gitlab自动构建Job并推送钉钉消息提示

本文详细介绍了如何使用Jenkins和GitLab实现自动化构建流程,包括Jenkins和GitLab的安装配置,以及如何设置自动触发Jenkins任务,通过GitLab webhook实现代码提交后的自动构建,并通过钉钉机器人接收构建状态通知。

实现功能:

  • 代码提交gitlab,自动触发Jenkins任务
  • Jenkins任务完成后发送钉钉消息通知
jenkins安装

下面是自动化安装jenkins的脚本:

#和jdk安装包在同一级目录下执行安装
#auth:    xinaho.zhang
#date:    2020.07.12
###################################################################################################3
VERSION=2.239

#java -version 
if [ ! -f /usr/bin/java ];then
  cd /usr/local/src
  yum install -y jdk-8u191-linux-x64.rpm &> /dev/null  
  touch /etc/profile.d/jdk.sh
cat > /etc/profile.d/jdk.sh << EOF
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
EOF
. /etc/profile.d/jdk.sh
fi

wget https://mirror.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-${VERSION}-1.1.noarch.rpm
yum install jenkins-${VERSION}-1.1.noarch.rpm -y

systemctl start jenkins

cat > /var/lib/jenkins/hudson.model.UpdateCenter.xml << EOF
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
  </site>
</sites>
EOF
/usr/bin/sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/updates/default.json && /usr/bin/sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /var/lib/jenkins/updates/default.json

systemctl restart jenkins

gitla安装

1.配置gitlab国内yum源安装gitlab:

vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

#清除并更新yum缓存
yum clean all && yum repolist


# 安装gitlab依赖软件
yum install curl policycoreutils openssh-server openssh-clients postfix


# 安装gitlab
yum install gitlab-ce  #安装gitlab,默认安装安装的为最新版本,安装时可以指定具体的版本进行安装。如果没有关闭防火墙需要配置防火墙

2.配置启动gitlab

#修改gitlab配置文件” /etc/gitlab/gitlab.rb”,绑定自己主机ip地址
# 将external修改为自己主机ip地址
external_url 'http://192.168.88.30'
# 启动gitlab并使修改的配置生效
gitlab-ctl reconfigure
#第一次启动配置可能需要好几分钟,建议gitlab主机配置内存2核4G以上

3.登录gitlab
直接在浏览器中输入部署gitlab服务器的iP即可登录(#80端口是在初始化gitlab的时候启动的,因此如是之前有程序占用会导致初始化失败或无法访问):
在这里插入图片描述
在这里插入图片描述
gitlab常用操作命令:

gitlab-ctl status:查看gitlab状态
gitlab-ctl start:启动gitlab
gitlab-ctl stop:停止gitlab
gitlab-ctl restart:重启gitlab
gitlab-ctl tail servername:查看gitlab集成的服务日志

配置jenkins连接gitlab

jenkins安装常用插件: GitLab Plugin
在系统管理->系统配置里添加gitlab连接信息
在这里插入图片描述
其中 Credentials选项添加Gitlab API token 凭据:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加钉钉提示机器人

打开钉钉点击头像选择机器人管理:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
完成后会生成一个token地址:
在这里插入图片描述
我们就可以在jenkins服务器上测试这个消息推送:

#其中access_token就是填我们在上部生成的token
curl 'https://oapi.dingtalk.com/robot/send?access_token=900f9db712ef5b75458f3bad6ca6ed1ebcc2ee1b64ae68693535d9af1ef28f79' \
   -H 'Content-Type: application/json' \
   -d '{"msgtype": "text","text": {"content": "测试警报,我就是我, 是不一样的烟火"}}'
#content里一定要写上我们自定义的关键词,否则报错

不出意外的话钉钉会收到提示消息
在这里插入图片描述

创建jenkins job

在gitlab里新创建一个测试项目:
在这里插入图片描述
然后我们通过我们的IDE或其他工具push一些文件上去:
在这里插入图片描述
在jenkins里面创建一个job:
在这里插入图片描述
然后我们选择构建触发器,并记录下URL:
在这里插入图片描述
在gitlab-setting里选择webhook:
在这里插入图片描述
在webhook里URL填上次jenkins里记录的URL,Token在下面高级选项里生成
在这里插入图片描述

在这里插入图片描述
添加webhook:
在这里插入图片描述
然后在jenkins job里添加上我们的钉钉推送命令:
在这里插入图片描述

然后我们保存jenkins job,在push一些代码到gitlab上去测试:
在这里插入图片描述
构建成功后:我们钉钉就会收到提示信息:
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值