gitlab+jenkins=自动化构建

时间:2021-10-05 10:46:34

jenkins:运维持续集成工具,靠着丰富的插件挑大梁。

gitlab:git代码管理仓库web版,功能强大且丰富。

本文是记录自己工作中从搭建到使用~

前提是会点git~可以去廖老师的网站学习:www.liaoxuefeng.com

1.环境准备

服务器一台:CentOS7

内存:8G

CPU:2核以上

基础优化~不说了,主要是关防火墙和selinux

2.gitlab搭建

2.1源:

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

2.2yum安装并启动

yum install gitlab-ce -y

gitlab-ctl reconfigure

netstat -tunlp|grep 80                  #80和8080都开着就对了,访问 本机IP就ok了

第一次会让你改root密码,该完了登陆进去就可以了

gitlab+jenkins=自动化构建

2.3其他基本管理命令

gitlab-ctl reconfigure        #第一次启动加载配置
gitlab-ctl start                   # 启动
gitlab-ctl stop                   #停止
gitlab-ctl restart                #重启
gitlab-ctl status                #查看状态

gitlab-ctl tail                     #查看日志

3.jenkins

3.1安装jenkins

yum install yum-fastestmirror -y
wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins -y

vim /etc/sysconfig/jenkins

JENKINS_PORT="8001"                    #修改一下jenkins监听端口

JENKINS_HOME="/data/jenkins/"      #自定义jenkins数据目录也就是jenkins的家目录

mkdir /data/jenkins
systemctl restart jenkins
systemctl enable jenkins

访问:http://IP:8001

出现jenkins配置页面

根据步骤一步步来,先让你输入生成的密码,去指定的地方找吧,随后装推荐的插件,和默认admin,有啥问题回头找我吧。

gitlab+jenkins=自动化构建

出现一个逗B老头,登录上去

系统管理-系统用户-改你的密码

gitlab+jenkins=自动化构建

开始安装插件!

gitlab+jenkins=自动化构建

主页-系统管理-插件管理

我们安装几个插件 ,直接搜索就可以

ssh                #执行远程脚本

gitlab            #集成gitlab用

Build Authorization Token Root #构建授权token

Gitlab hook #钩子插件

3.2配置jenkins和gitlab密钥对

首先我们配置ssh密钥对,让jenkins和gitlab通信无需密码,直接用密钥认证

在linux终端

ssh-keygen -t rsa            #一路回车 会在/root/ 生成.ssh/目录 里边有rsa rsa.pub 两个文件

gitlab+jenkins=自动化构建

我们把id_rsa文件的内容拷贝,放到这。

gitlab+jenkins=自动化构建

gitlab+jenkins=自动化构建

gitlab+jenkins=自动化构建

gitlab+jenkins=自动化构建

点OK。

把.ssh目录的另一个rsa.pub放到这

先点右上角头像-settings

出现如图点ssh密钥

gitlab+jenkins=自动化构建

pub放进来 OK

gitlab+jenkins=自动化构建

3.3配置jenkins ssh服务器

jenkins主页面-系统管理-系统设置

gitlab+jenkins=自动化构建

3.4创建一个项目gitlab和jenkins

3.4.1gitlab

gitlab+jenkins=自动化构建

创建就行了 点点点就玩了,而且gitlab有步骤,按照步骤用git命令搞git仓库出来

3.4.2jenkins

取个名,项目名,最好可gitlab的项目名一致

gitlab+jenkins=自动化构建

在源码管理点git

gitlab+jenkins=自动化构建

这个RUL填写git项目的url就是这个 SSH的这个 点开你的项目就能看到了

gitlab+jenkins=自动化构建

触发器,当gitlab有提交时可以触发

gitlab+jenkins=自动化构建

ssh配置(可选)

如果你不需要执行自定义脚本的话这布跳过

gitlab+jenkins=自动化构建

保存!

4.gitlab hook配置

gitlab+jenkins=自动化构建

这第一行就写http://jenkins的地址/job/test_jenkins_gitlab/build?token=123456    #test_jenkins_gitlab 是jenkins的项目名,token是我刚才设置的

gitlab+jenkins=自动化构建

点下边ok

如果报错403 说明没有权限,其他的则是配置问题

403报错解决办法:我们把jenkins配置,系统管理-全局安全配置

照我的一致就没问题

gitlab+jenkins=自动化构建

配置好了之后重启一下,不重启也生效。

然后我们在linux终端上操作 上传代码

就可以自动构建jenkins项目了~

教程到此结束,主要是403的报错坑了我好久,百度谷歌都没用,最后还是自己看java的报错

如有其他问题可以微信我535068621