gitlab+jenkins 搭建

继前一篇gitlab,这一篇介绍jenkins搭建并与gitlab进行集成---这里不是详细的步骤

环境
系统:centos 7.3

jenkins版本:jenkins-2.176.1-1.1.noarch

# vim /etc/selinux/config
SELINUX=disabled
# setenforce 0
# getenforce

官方安装文档

https://pkg.jenkins.io/redhat-stable/

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
# systemctl start jenkins
http://**:8080/

第一次打开界面后,会根据提示 添加

# cat /var/lib/jenkins/secrets/initialAdminPassword

选择安装插件--推荐安装,全部成功

--这里如果遇到offline,详细参考文章末尾处理

实例配置
Jenkins URL: http://*:8080/

创建用户,实例配置后,进行使用jenkins

--插件管理

--凭据管理

 --创建任务

--github配置(如果这里添加添加报错,详细见文章末尾)

--构建触发器

 --gitlab --user settings --access tokens

创建Personal Access Tokens=****************
# curl -X PUT --header "PRIVATE-TOKEN: *************"   'http://*****/api/v4/application/settings?allow_local_requests_from_hooks_and_services=true'

创建gitlab hook

--RUL是在jenkins对应任务中的rul,token是上面generate生成的token

在sourcetree客户端等执行git的一系列操作

然后push

在jenkins

 

目前就测试到这里

 --错误处理

--运行:立即构建,控制台输出
--1
 > git fetch --tags --progress git@*:dba/mysql_test.git +refs/heads/*:refs/remotes/origin/*
ERROR: Error cloning remote repo 'origin'
hudson.plugins.git.GitException: Command "git fetch --tags --progress git@*:dba/mysql_test.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
fatal: Could not read from remote repository.

解决

解决:
--1 在gitlab添加ssh key
user settings--ssh keys/
[root@jenkins ~]# cat .ssh/id_rsa.pub ##添加该密钥
--2 在jenkins的工程
源码管理-git-URL= git@**:root/hq_test.git credentials=root,
[root@jenkins ~]# cat .ssh/id_rsa ##添加该密钥

2 offine处理

分别使用看谁能下载

wget https://updates.jenkins.io/update-center.json
wget http://updates.jenkins.io/update-center.json

看哪一个能ping通,就修改为哪一个,再重启jenkins

# systemctl stop jenkins
# systemctl start jenkins
[root@localhost opt]# find / -name "hudson.model.UpdateCenter.xml"
/home/data/jenkins/hudson.model.UpdateCenter.xml
[root@localhost opt]# vim /home/data/jenkins/hudson.model.UpdateCenter.xml 
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>http://updates.jenkins.io/update-center.json</url>
  </site>
</sites>
原文地址:https://www.cnblogs.com/yhq1314/p/11158701.html