CI/CD之搭建私有git仓库gitlab
Posted Tuki_a
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CI/CD之搭建私有git仓库gitlab相关的知识,希望对你有一定的参考价值。
Gitlab简介
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。
Gitlab官方文档:https://docs.gitlab.com/
CI/CD
-
持续集成
考虑一个应用程序,它的代码存储在 GitLab 的 Git 存储库中。开发人员每天多次推送代码更改。对于每次推送到存储库,可以创建一组脚本来自动构建和测试您的应用程序。这些脚本有助于减少在应用程序中引入错误的机会。这种做法称为持续集成。提交给应用程序的每个更改,甚至是开发分支,都会自动且连续地构建和测试。这些测试可确保更改通过您为应用程序建立的所有测试、指南和代码合规性标准。GitLab 本身就是一个使用持续集成作为软件开发方法的项目示例。对于对项目的每次推送,都会针对代码运行一组检查。 -
持续交付
持续交付是超越持续集成的一步。每次将代码更改推送到代码库时,不仅会构建和测试应用程序,还会持续部署应用程序。但是,通过持续交付,可以手动触发部署。持续交付会自动检查代码,但需要人工干预以手动和战略性地触发更改的部署。 -
持续部署
持续部署 是超越持续集成的另一个步骤,类似于持续交付。不同之处在于,不是手动部署应用程序,而是将其设置为自动部署。不需要人工干预。 -
GitLab CI/CD
GitLab CI/CD是 GitLab 的一部分,用于所有持续方法(持续集成、交付和部署)。使用 GitLab CI/CD,可以测试、构建和发布软件,而无需第三方应用程序或集成。
Gitlab CI&CD官方介绍:https://docs.gitlab.com/ee/ci/introduction/index.html
安装Gitlab
推荐使用国内镜像站点下载软件https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/,注意官方建议内存至少4G
[root@server1 ~]# yum install -y gitlab-ce-14.1.2-ce.0.el7.x86_64.rpm #我们暂时没有那么多的需求,安装ce社区版即可,ee是企业版
安装好后会显示如下界面
编辑配置文件
ip改为本机
重载服务(时间长)
[root@server1 gitlab]# gitlab-ctl reconfigure
#其他基本命令
gitlab-ctl start # 启动所有 gitlab 组件
gitlab-ctl stop # 停止所有 gitlab 组件
gitlab-ctl restart # 重启所有 gitlab 组件
gitlab-ctl status # 查看服务状态
gitlab-ctl tail# 重载服务
结束之后默认root的密码会存放在/etc/gitlab/initial_root_password
中
网页访问192.168.122.11
密码要到文件中去看,复制下来
[root@server1 gitlab]# vim /etc/gitlab/initial_root_password
使用root用户登录
设置中文
重设密码,密码不能少于8个字符
如果root密码忘记了,可以按如下步骤重设密码
[root@server1 ~]# gitlab-rails console -e production
user = User.where(username:"root").first
user.password="12345678"
user.password_confirmation="12345678"
user.save!
quit
查看gitlab状态可以看到gitlab是自带普罗米修斯监控的,node-exporter是普罗米修斯监控服务器的组件;还有logrotate 程序,logrotate是一个日志文件管理工具。用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用。
Gitlab使用
添加ssh密钥,并复制
[root@server1 gitlab]# ssh-keygen
[root@server1 gitlab]# cd
[root@server1 ~]# cd .ssh/
[root@server1 .ssh]# ls
id_rsa id_rsa.pub
[root@server1 .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSA3zOJdAeCPVZtLj/dM63oPk2xvtXCLieBcZjl7iGLddnGPkO33bFRGfx2NWfXZh5aEblFjYuW0jM+mB2UB/TWE9a9DRlyWWLDz3A5maVqa73yA22Z6dOLu/ujMF5tREJ6r0ZWLoBR79iUTmy7Ts3mYpuXMo8qLOphkA1MXMa17+VNFwkOYLpwUqDHeA+TAIvm4dJrVPWpf38dBevnN325veT41J2B7NjLqPPgekR9BPFc0zaylymoU/Ax9+8OoaFUGXLCEczEwQXYKzjdmtO1OAykb2oLzlRsf5TN5DdmPuqo8FCPfTfR2lAtQfuIFrX1ryTB4itAhcHEnqS87Yf root@server1
粘贴到gitlab里
如下添加好了
新建一个项目
设为私有的项目
现在可以上传本地仓库或者克隆gitlab的仓库
使用如下命令可以克隆,推送本地仓库到远程就不演示了,和gitee一样
以上是关于CI/CD之搭建私有git仓库gitlab的主要内容,如果未能解决你的问题,请参考以下文章
CI/CD持续集成与持续交付(上)-------- git,gitee远程共有仓库和gitlab私有仓库,jenkins
CI/CD持续集成与持续交付(上)-------- git,gitee远程共有仓库和gitlab私有仓库,jenkins
如何使用GitLab和Rancher构建CI/CD流水线–Part 1
基于docker搭建Jenkins+Gitlab+Harbor+Rancher架构实现CI/CD操作