Gitlab和gitlab-runner安装和注册
目录
Git和SVN的区别
Gitlab CI/CD工作原理及使用步骤
Gitlab安装
gitlab-runner安装和注册
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
公司内部一般会在自己的内网进行搭建Gitlab服务管理项目代码,一个研发队伍的成员正常包括:需求分析、设计、美工、程序员、测试、实施、运维。
GitLab的用户权限有以下五种:
- Guest:可以创建issue、发表评论,不能读写版本库
- Reporter:可以克隆代码,不能提交,可以赋予测试、产品经理此权限
- Developer:可以克隆代码、开发、提交、push,可以赋予开发人员此权限
- MainMaster:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,一般GitLab管理员或者CTO才有此权限
- Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限
Gitlab中的组和项目有三种访问权限:Private、Internal、Public
- Private:只有组成员才能看到
- Internal:只要登录的用户就能看到,开源项目和组设置的是Internal
- Public:所有人都能看到
Git和SVN的区别
1)Git是分布式,SVN不是:分布式的操作模式,可使代码保持最新且在传输的过程中不会丢失,在没有网络环境也可提交代码文件及查看历史版本记录、创建项目分支等。支持每个开发人员从中心版本库/服务器上chect out代码后在自己的机器上克隆一个自己的版本;
2)GIT把内容按元数据方式存储(体积更小),而SVN是按文件
3)Git分支简单,支持在同一个工作目录下快速的在几个分支间切换,容易发现未被合并的分支;SVN合并分支后需确认是否已经合并,会存在某些分支有被遗漏的情况;
4)GIT没有一个全局的版本号,而SVN有(SVN的版本号实际是任何一个相应时间的源代码快照)
5)GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时,降低对版本库的破坏。
6)SVN更适用于项目管理(按目录进行分类管理), Git更适用于代码管理;
Gitlab CI/CD工作原理及使用步骤
持续集成(Continuous Integration):频繁的将代码集成到主干,每次集成都通过自动化的构建(包括编译、发布、自动化测试)来验证。具有持续部署和持续交付(Continuous delivery)功能,可用于构建、测试和部署应用程序,其工作目录就在该项目的根目录。
测试:代码仓库对commit操作配置了钩子(hook),只要提交代码或者合并进主干,就会跑自动化测试。
- 单元测试:针对函数或模块的测试
- 集成测试:针对整体产品的某个功能的测试,又称功能测试
- 端对端测试:从用户界面直达数据库的全链路测试
具体使用的操作步骤:
A.将.gitlab-ci.yml
(自动部署的集成脚本)文件添加到远程仓库的根目录;
B.对GitLab
项目进行配置可使用Runner
设置好以上两个步骤后,每次push
代码到Git
仓库,Runner
都会自动触发CI pipeline
,CI
连接Runner
服务器,找到关联的Runner Service
,Runner
负责更新代码到本地,并执行集成脚本。让整个流水线运行起来,如下图所示:
C.Runner分类
- Shared Runners:所有工程都能够使用,只有系统管理员能够创建Shared Runner,使用公平的队列处理作业,防止项目创建数百个可能导致消耗掉所有共享资源的情况
- Specific Runners:只能为指定的工程服务,使用FIFO队列处理作业
- Group Runners:所有项目都可访问一组Runner,使用FIFO队列处理作业
Gitlab安装
1.Ubuntu20.04下的gitlab-ctl服务安装,root用户操作如下:
# 1.更新apt源
root@dj:/# apt update# 2.安装wget
root@dj:/# apt-get install wget# 3.下载gitlab-ce软件包
root@dj:/# wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/xenial/gitlab-ce_12.1.4-ce.0_amd64.deb/download.deb# 4.安装软件
root@dj:/# dpkg -i gitlab-ce_12.1.4-ce.0_amd64.deb# 5.修改外部url,改为对应的服务器ip地址
root@dj:/# vim /etc/gitlab/gitlab.rb
external_url 'http://xx.xx.xx.xx:8888' #此地址根据部署的服务器ip地址进行更改# 6.重新配置gitlab服务
root@dj:/# gitlab-ctl reconfigure# 7.重启gitlab服务
root@dj:/# gitlab-ctl restart# 8.访问测试
使用浏览器访问页面http://xx.xx.xx.xx:8888
在第一次访问时,会看到为管理帐户设置密码的初始提示,修改下root管理员密码之后就可以正常使用了
2.gitlab-ctl相关补充其它命令,如下:
# 启动
$ gitlab-ctl start # 停止
$ gitlab-ctl stop# 状态
$ gitlab-ctl status# 重启
$ gitlab-ctl restart# 重载配置
$ gitlab-ctl reconfigure# gitlab服务的备份路径
/var/opt/gitlab/backups
gitlab-runner安装和注册
1.Ubuntu20.04下安装gitlab-runner,root用户操作如下:
# 1.下载gitlab-runner二进制可执行源文件 x86-64
root@dj:/# curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64"# 2.给源文件可执行权限
root@dj:/# chmod +x /usr/local/bin/gitlab-runner# 3.创建一个gitlab-runner用户
root@dj:/# useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash# 4.安装gitlab-runner
root@dj:/# gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner# 5.启动gitlab-runner
root@dj:/# systemctl start gitlab-runner
# 启动gitlab-runner还可执行命令:
$ sudo gitlab-runner start# 6.运行gitlab-runner
root@dj:/# gitlab-runner run
2.Ubuntu20.04下注册gitlab-runner,root用户操作如下:
1)获取specific Runner的路径:进入gitlab项目->设置->CI/CD->Runners->手动设置 specific Runner
注册令牌与注册URL的获取地址界面:
2)获取Group Runner的路径:进入gitlab对应组里面->设置->CI/CD->Runners->手动设置 Group Runners
注册令牌与注册URL的获取地址界面:
注册gitlab-runner的具体操作步骤如下:
# 1.使用root用户进行操作注册
root@dj:/# gitlab-runner register# 2.根据提示输入相关配置
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
#(输入GitLab实例URL)
Please enter the gitlab-ci token for this runner:
#(输入runner注册令牌)
Please enter the gitlab-ci description for this runner:
#(输入说明)
Please enter the gitlab-ci tags for this runner (comma separated):
#(输入runner标签 可在gitlab的UI页面修改)
Registering runner... succeeded runner=JbkzB1Zy
Please enter the executor: docker-ssh, parallels, docker+machine, kubernetes, custom, docker, shell, ssh, virtualbox, docker-ssh+machine:
#(输入runner脚本执行方式,一般都是shell)
注册成功后在gitlab的相应组和项目页面: 设置->CI/CD->Runners页面会出现一个刚注册的Runner和tags标签,tags标签为刚才输入的tag标签内容# 3.重启gitlab-runner
root@dj:/# gitlab-runner restart# 4.查看已注册成功的Runner列表
root@dj:/# gitlab-runner list上传项目代码,CI/CD流水线运行成功后,会在服务器地址/home/gitlab-runner/builds处看见该Runner。
此时自动部署是否会成功取决于项目的yaml文件是否有误,重点检查yaml文件
解决流水线卡住问题,现象如下:此处的runner为灰色
解决方案:编辑Runner,勾选上“运行未标记的作业”即可运行项目
注册成功的runner在Gitlab页面上的显示:
3.gitlab-runner相关补充其它命令,如下:
# 停止gitlab-runner服务
$ sudo gitlab-runner stop
$ systemctl stop gitlab-runner# 运行gitlab-runner服务
$ gitlab-ruuner run# 卸载gitlab-runner服务
# 1.停止运行gitlab-runner
$ gitlab-runner stop
# 2.查看gitlab-runner服务状态
$ systemctl status gitlab-runner
# 3.卸载gitlab-runner
$ gitlab-runner uninstall
# 以下命令最好不要进行使用,一定要注意、注意、注意
$ rm -rf /etc/gitlab-runner
$ rm -rf /usr/local/bin/gitlab-runner
$ rm -rf /usr/bin/gitlab-runner
$ rm -rf /etc/sudoers.d/gitlab-runner
# 注意:如果使用了以上命令进行卸载了gitlab-runner后,进行重新注册gitlab-runner即可# 查看Linux系统下gitlab-runner用户所对应的文件路径
[root@dongjian-devops builds]# cat /etc/passwd
gitlab-runner:x:997:994:GitLab Runner:/home/gitlab-runner:/bin/bash# CI/CD流水线不正常时,运行非gitlab-runner用户所属的文件夹,进行以下命令查看
# 杀死不属于以下进程的进程号
[root@dongjian-devops ~]# ps aux | grep gitlab-runner
root 4400 0.6 0.0 153248 23900 ? Ssl 13:01 0:00 /usr/local/bin/gitlab-runner run --working-directory /home/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --user gitlab-runner
Gitlab和gitlab-runner安装和注册相关推荐
- GitLab 简易指引(二):GitLab Runner 安装与配置
本文为[原创]文章,转载请标明出处. 原文链接:https://weyunx.com/2019/01/23... 原文出自微云的技术博客 准备工作 下载安装包 # Linux x86-64 sudo ...
- CICD之 gitlab和gtilab runner
gitlab官网地址 官网文档地址 https://docs.gitlab.com/runner/install/docker.html 一.gitlab 1.gitlab安装 方式一:rpm包安装( ...
- 使用docker安装gitlab以及gitlab简单使用
使用docker安装gitlab以及gitlab简单使用 docker 安装gitlab以及使用 1.创建主机映射目录 2.gitlab镜像拉取 3.运行gitlab镜像 4.配置 5.配置ssl支持 ...
- centos gitlab mysql_CentOS-7下yum安装GitLab-CE
GitLab介绍 gitlab 不用说,大家都知道是做什么的,gitlab 分为 Gitlab Community Edition(gitlab社区版又称gitlab-ce).Gitlab Enter ...
- linux中GIT组件,GitLab在Linux下安装
一.GitLab简介 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务. GitLab 是利用 Ruby on Rails 一个开源的版本管 ...
- 手把手gitlab最详细版安装教程centos7下安装(最新版),修复gitlab
1.服务器要求,8G内存以上,4核心cpu以上 2. 新建 /etc/yum.repos.d/gitlab_gitlab-ce.repo ,内容: [gitlab-ce] name=Gitlab CE ...
- Gitlab 服务器搭建,maven安装与jdk安装,linux下安装git
Gitlab 服务器搭建 资源地址: 链接:https://pan.baidu.com/s/1SOLyixV7UkkLj0WWQqanDQ 提取码:fjcl 官网地址 首页:https://abou ...
- git、gitlab+jenkens版本控制的安装、升级与灾备
文章目录 ☆1. git仓库版本管理系统 环境 Git的工作区.暂存区和版本库的含义 1.安装和配置 git 2. 创建版本库 3.git仓库添加文件 4. git 修改文件名称并提交 5. git的 ...
- gitlab服务器社区版安装与使用
1. 下载 下载地址为:https://packages.gitlab.com/gitlab/gitlab-ce 下载需要版本:gitlab-ce-10.8.4-ce.0.el7.x86_64 ...
- Git学习二、GitLab官网,安装自己的一个私有Gitlab代码管理库
Git学习一.TortoiseGit 安装后,文件夹前面不显示相关状态图标解决办法 Git学习二.GitLab官网,安装自己的一个私有Gitlab代码管理库 Git学习三.Git与SVN的差异,Git ...
最新文章
- 计算机组成微程序设计,计算机组成原理微程序设计.doc
- 快速提升网站SEO优化排名技巧有哪些?
- 绿色计算在数据中心的应用及节能效果浅析
- 算法--微软面试:整数的二进制表示中1的个数(Java实现)
- linux 查看系统版本 32位 or 64位
- 中奖人员信息向上滚动
- 区块链参考资源, 雷达 信号处理
- 工作区、暂存区、版本库、远程仓库
- 【kafka】kafka 如何开启 kafka.consumer的监控指标项
- Java Socket 编程
- ArcGIS API 4.x 加载高德底图
- java8新特性和汪文君Google Guava实战
- 航摄像片生成DSM(Pix4d)2021.5.21
- win10商店下载位置_win10应用商店下载的东西在哪
- Python 代码库之Tuple如何append添加元素
- LaTex 编译 bib 参考文献
- 相邻染色问题java_浅析一类要求相邻不同的环上染色问题
- 后端利用MultipartFIle类型参数接受文件上传
- 安捷伦自动测试软件,安捷伦精干的测试工具
- java8 GC日志分析