Jenkins系列之三——centos7.4+GitLab+Jenkins部署
GitLab介绍
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
系统环境准备
建议:内存4G以上不然带不动
1 2 3 4 | [root@hejianlai-jenkins ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@hejianlai-jenkins ~]# uname -r 3.10.0-693.el7.x86_64 |
#关闭firewalld和NetWorkManager
1 2 | [root@hejianlai-jenkins ~]# systemctl stop firewalld [root@hejianlai-jenkins ~]# systemctl stop NetWorkManager |
#永久关闭
1 2 | [root@hejianlai-jenkins ~]# systemctl disable firewalld [root@hejianlai-jenkins ~]# systemctl disable NetWorkManager |
#关闭selinux
1 2 | [root@hejianlai-jenkins ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config [root@hejianlai-jenkins ~]# setenforce 0 |
#更换阿里源和下载epel源
1 2 3 | [root@hejianlai-jenkins ~]#mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup [root@hejianlai-jenkins ~]#wget -O /etc/yum.repos.d/CentOS-Base.repo http: //mirrors.aliyun.com/repo/Centos-7.repo [root@hejianlai-jenkins ~]#wget -O /etc/yum.repos.d/epel.repo http: //mirrors.aliyun.com/repo/epel-7.repo |
#yum源更新,重启系统
1 | [root@hejianlai-jenkins ~]# yum update && reboot |
#安装相应工具
1 2 | [root@hejianlai-jenkins ~]yum install curl policycoreutils openssh-server openssh-clients postfix -y [root@hejianlai-jenkins ~]systemctl start postfix |
#新建GitLab源
1 2 3 4 5 6 7 8 9 10 | [root@hejianlai-jenkins ~]# vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=gitlab-ce baseurl=http: //mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 repo_gpgcheck=0 gpgcheck=0 enabled=1 gpgkey=https: //packages.gitlab.com/gpg.key [root@hejianlai-jenkins ~]# yum makecache [root@hejianlai-jenkins ~]# yum install -y gitlab-ce |
#安装git工具
1 | [root@hejianlai-jenkins ~]# yum install git -y |
#加载配置文件并启动,时间稍长
1 | [root@hejianlai-jenkins ~]# gitlab-ctl reconfigure |
#gitlab-ctl其他命令
1 2 3 4 5 | 启动:gitlib-ctl start 关闭:gitlab-ctl stop 重启:gitlab-ctl restart 重载配置:gitlab-ctl reconfigure 查看状态:gitlab-ctl status |
#查看端口保证80端口不被占用
1 2 3 4 | [root@hejianlai-jenkins ~]# lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 700 root 7u IPv4 16903 0t0 TCP *:http (LISTEN) nginx 804 gitlab-www 7u IPv4 16903 0t0 TCP *:http (LISTEN) |
1 | /etc/gitlab/gitlab.rb |
浏览器登录gitlab,输入http://ip进入下图:
先输入密码,然后Register填写账户信息进入新建项目
填写ssh认证
测试拉取代码
1 2 3 4 5 6 7 8 9 10 | [root@hejianlai-jenkins ~]# git clone git@hejianlai-jenkins:web/web-demo.git Cloning into 'web-demo' ... remote: Counting objects: 6, done. remote: Compressing objects: 100% (3/3), done. remote: Total 6 (delta 0), reused 0 (delta 0) Receiving objects: 100% (6/6), done. [root@hejianlai-jenkins ~]# ls anaconda-ks.cfg epel-release-latest-7.noarch.rpm web-demo [root@hejianlai-jenkins ~]# ls web-demo/ index.html README.md |
上传代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | [root@hejianlai-jenkins web-demo]# echo "test" >>test.txt [root@hejianlai-jenkins web-demo]# git config --global user.email "you@example.com" [root@hejianlai-jenkins web-demo]# git config --global user.name "Your Name" [root@hejianlai-jenkins web-demo]# git add * [root@hejianlai-jenkins web-demo]# git commit -m "add test.txt" [master 5df66f7] add test.txt 1 file changed, 1 insertion(+) create mode 100644 test.txt [root@hejianlai-jenkins web-demo]# git push warning: push. default is unset; its implicit value is changing in Git 2.0 from 'matching' to 'simple' . To squelch this message and maintain the current behavior after the default changes, use: git config --global push. default matching To squelch this message and adopt the new behavior now, use: git config --global push. default simple See 'git help config' and search for 'push.default' for further information. (the 'simple' mode was introduced in Git 1.7.11. Use the similar mode 'current' instead of 'simple' if you sometimes use older versions of Git) Counting objects: 4, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 314 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@hejianlai-jenkins:web/web-demo.git 18a57cf..5df66f7 master -> master |
GitLab上查看:
#安装JenKins
1 2 3 4 5 6 7 8 9 | [root@hejianlai-jenkins web-demo]# sudo wget -O /etc/yum.repos.d/jenkins.repo https: //pkg.jenkins.io/redhat-stable/jenkins.repo [root@hejianlai-jenkins web-demo]# sudo rpm --import https: //pkg.jenkins.io/redhat-stable/jenkins.io.key [root@hejianlai-jenkins web-demo]# yum install java jenkins –y #JenKins默认端口为8080,因为gitlab已经占用我们需要更改。 [root@hejianlai-jenkins web-demo]# vim /etc/sysconfig/jenkins JENKINS_PORT= "8080" ---> JENKINS_PORT= "8081" |
#启动JenKins
1 2 | [root@hejianlai-jenkins web-demo]# /etc/init.d/jenkins start Starting jenkins (via systemctl): [ OK ] |
#浏览器登录JenKins,地址:http://192.168.247.135:8081/
正在启动;
进入有个密码路径,系统上查看这个文件并把密码复制粘贴才能登录;
选择推荐安装;
创建一个管理员
开始使用jenkins
下面实现持续集成
进入主页--创建一个新任务
输入项目名称---构建一个自由风格的软件项目---确认
General--填写项目描述
源码管理--安装git插件--授权认证
ssh私钥认证我们在系统上查看粘贴进去即可。
Credentials—选择root
查看gitlab版本
1 2 | [root@hejianlai-jenkins ~]# rpm -aq|grep gitlab gitlab-ce-10.6.0-ce.0.el7.x86_64 |
点击立即构建
点击控制台输出查看
控制台输出,SUCCESS则构建成功
如对您有帮助,支持下呗!
微信

支付宝

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?