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>
复制代码
posted @   春困秋乏夏打盹  阅读(439)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示