一、Gitlab搭建
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、yum安装
yum install gitlab-ce -y gitlab-ctl reconfigure #第一次启动重载配置 netstat -tunlp|grep 80 #查看80端口
网页打开http://IP:80
3、管理命令
gitlab-ctl reconfigure #第一次启动加载配置 gitlab-ctl start # 启动 gitlab-ctl stop #停止 gitlab-ctl restart #重启 gitlab-ctl status #查看状态 gitlab-ctl tail #查看日志
二、java环境安装
1、把下载jdk包解压
tar zxvf jdk-8u211-linux-x64.tar.gz mv jdk1.8.0_211 /usr/local/jdk1.8
2、配置环境变量
vim /etc/profile JAVA_HOME=/usr/local/jdk1.8/ JAVA_BIN=/usr/local/jdk1.8/bin JRE_HOME=/usr/local/jdk1.8/jre PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar source /etc/profile
3、查看java安装完成没
java -version
三、安装Jenkins
1、安装下载完的rpm包
yum install jenkins-2.190.1-1.1.noarch.rpm -y
2、修改Jenkins的配置文件
vim /etc/sysconfig/jenkins JENKINS_HOME="/data/jenkins" #修改目录 JENKINS_USER="root" #修改执行的用户,用jenkins用户会出现权限问题 JENKINS_PORT="8001" #修改下端口号
3、创建目录,启动
mkdir /data/jenkins systemctl restart jenkins
这时候报错了,找不到java启动文件
Starting Jenkins bash: /usr/bin/java: No such file or directory
解决办法:
vim /etc/init.d/jenkins candidates=" /usr/local/jdk1.8/bin/java /etc/alternatives/java /usr/lib/jvm/java-1.8.0/bin/java /usr/lib/jvm/jre-1.8.0/bin/java /usr/lib/jvm/java-1.7.0/bin/java /usr/lib/jvm/jre-1.7.0/bin/java /usr/lib/jvm/java-11.0/bin/java /usr/lib/jvm/jre-11.0/bin/java /usr/lib/jvm/java-11-openjdk-amd64 /usr/bin/java "
4、重启下服务
systemctl daemon-reload systemctl restart jenkins
打开网页http://ip:8001
出现Jenkins离线的情况,解决办法:
cd /data/jenkins/updates/ vim default.json {"connectionCheckUrl":"http://www.baidu.com/"改成百度
cd /data/jenkins/ vim hudson.model.UpdateCenter.xml <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
重启服务:
systemctl restart jenkins
安装推荐的软件就可以
主页-系统管理-插件管理
我们安装几个插件 ,直接搜索就可以
ssh #执行远程脚本
gitlab #集成gitlab用
Build Authorization Token Root #构建授权token
Gitlab hook #钩子插件
四、配置jenkins和gitlab秘钥对
配置秘钥对,让Jenkins和gitlab通信无需验证
在服务器执行ssh-keygen
系统管理-凭据-添加凭据-导入私钥
把公钥放入gitlab中
五、配置Jenkins的ssh服务器
jenkins主页面-系统管理-系统设置
六、创建一个gitlab和Jenkins项目
1、gitlab
创建就行了 点点点就玩了,而且gitlab有步骤,按照步骤用git命令搞git仓库出来
2、jenkins
取个名,项目名,最好可gitlab的项目名一致
在源码管理点git
这个RUL填写git项目的url就是这个 SSH的这个 点开你的项目就能看到了
触发器,当gitlab有提交时可以触发
ssh配置(可选)
如果你不需要执行自定义脚本的话这布跳过
保存!
七、gitlab hook配置
这第一行就写http://jenkins的地址/job/test_jenkins_gitlab/build?token=123456 #test_jenkins_gitlab 是jenkins的项目名,token是我刚才设置的
点下边ok
如果报错403 说明没有权限,其他的则是配置问题
403报错解决办法:我们把jenkins配置,系统管理-全局安全配置
照我的一致就没问题