一、gitlab安装

GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

1、基础环境准备

[root@linux-node2 ~]# yum install curl policycoreutils openssh-server openssh-clients postfix[root@linux-node2 ~]# systemctl start postfix

2、安装gitlab-ce

首先配置yum源,使用国内的镜像vi /etc/yum.repos.d/gitlab-ce.repo[gitlab-ce]name=gitlab-cebaseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/repo_gpgcheck=0gpgcheck=0enabled=1gpgkey=https://packages.gitlab.com/gpg.key

通过yum安装gitlab-ce[root@linux-node2 ~]# yum makecache[root@linux-node2 ~]# yum install gitlab-ce

3、配置并启动gitlab-ce

使用gitlab-ctl配置gitlab

[root@linux-node2 ~]# gitlab-ctl reconfigure

查看gitlab状态

[root@linux-node2 ~]# gitlab-ctl statusrun: gitlab-workhorse: (pid 4824) 795s; run: log: (pid 4800) 804srun: logrotate: (pid 4812) 796s; down: log: 0s, normally up, want uprun: nginx: (pid 4806) 798s; run: log: (pid 4805) 798srun: postgresql: (pid 4679) 854s; run: log: (pid 4678) 854srun: redis: (pid 4659) 860s; run: log: (pid 4658) 860srun: sidekiq: (pid 4796) 806s; run: log: (pid 4795) 806srun: unicorn: (pid 4770) 808s; run: log: (pid 4769) 808s[root@linux-node2 ~]#

二、gitlab管理与使用

第一次登录gitlab,需要为root用户修改密码,root用户也是gitlab的超级管理员。

使用root用户和刚才创建的密码登录后,你就可以探索gitlab的奥秘了,可以点击图中红框的按钮进入管理区域。

在内网搭建服务器,运维人员自己根据需求创建用户,而不是用户自己注册;因此需要将注册的功能取消掉。如图,点击Admin Area---》settings

将Sign-up enabled功能取消掉

在页面左下角点击save。

在gitlab中有项目和组的概念;一个组里面可以包含不同的人,因此可以先创建组。

搭建私有的代码仓库,因此需要选择Private

页面右下角,点击create group

接下来在组里创建项目

创建项目后,需要添加认证,以便于拉取代码

在README.md中随便添加一些内容,便于测试。

将linux-node1节点的www用户的公钥复制到SSHKeys内

注意,添加title时,命名最好规范一些,比如linux-node1-www表示linux-node1下www用户的公钥

拉取代码的方式可以是通过http和SSH,这里我们选择SSH方式

登陆到linux-node1,切换到www用户,执行git clone,拉取代码,如下

可以看到在gitlab页面上编辑的README.md里面的内容

添加一个测试文件,里面随意写一些内容,进行测试。先git add *,将文件添加到索引库中。接下来使用git commit命令将依据索引库中的内容来进行文件的提交。第一次使用git commit –m “add index.html”时,会提示添加邮箱和姓名之类的提示,按照自己的情况添加即可。

使用git show查看commit后的版本号

截取前六位,这样我们就可以使用短的版本号,进行代码的拉取

将上一个博客中shell脚本进行改造,代码版本获取如图所示:

最后通过在gitlab上拉取代码,使用deploy1.sh脚本进行自动化部署,如图所示:

部署成功后,在浏览器中进行验证。Index.html中的内容确实为刚才所填写的内容。

至此,在gitlab上拉取代码后,自动化部署完毕。

从gitlab上拉代码_从gitlab上拉取代码并一键部署相关推荐

  1. asp.net实现ftp上传代码(解决大文件上传问题)

    asp.net实现ftp上传代码(解决大文件上传问题) 参考文章: (1)asp.net实现ftp上传代码(解决大文件上传问题) (2)https://www.cnblogs.com/LYunF/ar ...

  2. git 拉代码_一篇文章理清Git

    Git的作者和简介 Git的作者也是著名的Linux的创始人Linus Torvalds(李纳斯 托沃兹) Git是一个开源的分布式版本控制系统.它其实就是一个工具,一般我们在使用的时候安装在wind ...

  3. azure上传代码_深入了解Azure Data Studio:更多代码和更少GUI

    azure上传代码 In the previous two articles, Starting your journey with Azure Data Studio and Developing ...

  4. 00截断上传绕过_【文件上传与解析】文件上传与解析漏洞总结v1.0

    点击上方"公众号" 可以订阅哦! Hello,各位小伙伴晚上好~ 这里是依旧勤劳写公众号的小编~ 今天本公众号将推出一个新的模块,那就是漏洞知识点总结模块!!!(此处应有掌声~) ...

  5. php网站商品图片上传代码,PHP实现图片上传代码

    html代码 Document 上传图片: up.php代码 if (!empty($_FILES["img"]["name"])) { // 提取文件域内容名 ...

  6. file上传代码 ios_iOS-实现文件上传下载

    iOS开发中会经常用到文件上传下载的功能,这篇文件将介绍一下使用asp.net webservice实现文件上传下载. 首先,让我们看下文件下载. 这里我们下载cnblogs上的一个zip文件.使用N ...

  7. 如何在label上显示字_如何地图上标注店面_新开的店铺要怎样上地图显示_怎么将公司标记在地图...

    新开的店铺商铺商家商户企业工厂怎么标注地图位置?如何地图上标注店面_怎么将店铺标记在地图_新开的店铺要怎样上地图显示?还没有办好营业执照可以做?您可能会有很多地图疑问?请直接联系腾图通地图服务公司为您 ...

  8. linux禁止客户端上传文件_图片/文件上传如此简单|macOS 图床客户端 uPic

    前言 相信很多人在写作(特别是需要多平台发布)的时候都会因为插图而增加工作量: 平台图片外链不允许在网站外部访问. 使用云图床服务上传流程复杂. 那么这些问题有没有办法解决呢,答案肯定是"有 ...

  9. 上传附件_留学落户|上传附件预审时一定一定要注意的问题!

    点击上方蓝色字体,关注启铭君. www.minqifudao.com 启铭君相信大家都知道,从2019年留学落户"一网通办"新系统上线,可以在网上进行材料申报,"让数据多 ...

最新文章

  1. JRuby:谁说鱼与熊掌不可兼得
  2. app怎么嵌套vue页面_app内嵌vue单页面应用的一些坑
  3. 导致定时器失效_IIS进程回收导致定时器失效的解决方法(CMD命令)
  4. 违反了primarykey约束怎么解决_前期物业服务合同对主业有约束力吗?
  5. 计算机二级c语言考点分析,计算机二级C语言考点分析.doc
  6. mysql删除重复sql_mysql中删除完全重复数据的准确SQL语句
  7. 昨天又写到个结构体排序,用多种cmp
  8. php之clone 复制对象以及__clone魔术方法
  9. db2关闭下一句sql的日志_MySQL查询优化(3)-慢查询开启、日志分析
  10. Linux下查看物理CPU、逻辑CPU和CPU核数
  11. python中的classmethod_面试题:python 中 staticmethod 和 classmethod有什么区别
  12. python程序运行后没有反应_为什么我的电脑在运行这个python程序时速度变慢,没有反应?...
  13. git/gitflow git工作流
  14. ubuntu设置虚拟显示器且远程连接
  15. 中国.NET:各地微软技术俱乐部汇总(持续更新中...)
  16. 三国群英传服务器端架设修改,【三国OL单机假设】三国群英传架设单机方法
  17. 温度传感器DS18B20介绍
  18. 如何从 GRUB rescue 恢复 Win7,win7 USB恢复盘制作
  19. 计算机技术在美术方面的应用,计算机技术在美术设计的应用
  20. Jenkins高级篇之Pipeline语法篇-2-第一个Pipeline脚本练习

热门文章

  1. VUE2.x的浏览器兼容情况汇总
  2. Thread.getContextClassLoader与Thread.getClassLoader()区别
  3. 25 Refs转发机制与在高阶组件中的使用
  4. globals() 和 locals() 函数
  5. PostCSS自学笔记(二)【番外篇二】
  6. moss2010 sharepoint 2010配置人员搜索
  7. Linux系统rootpassword改动
  8. 【暴力】Codeforces Round #398 (Div. 2) A. Snacktower
  9. Swift 开发的工具类,主要是提供正则表达式及其它,Github会长期维护
  10. 关系数据库SQL之可编程性函数(用户自定义函数)