实现功能:
- 代码提交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上去测试:

构建成功后:我们钉钉就会收到提示信息:


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

被折叠的 条评论
为什么被折叠?



