从gitlab上拉代码_从gitlab上拉取代码并一键部署
一、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上拉取代码并一键部署相关推荐
- asp.net实现ftp上传代码(解决大文件上传问题)
asp.net实现ftp上传代码(解决大文件上传问题) 参考文章: (1)asp.net实现ftp上传代码(解决大文件上传问题) (2)https://www.cnblogs.com/LYunF/ar ...
- git 拉代码_一篇文章理清Git
Git的作者和简介 Git的作者也是著名的Linux的创始人Linus Torvalds(李纳斯 托沃兹) Git是一个开源的分布式版本控制系统.它其实就是一个工具,一般我们在使用的时候安装在wind ...
- azure上传代码_深入了解Azure Data Studio:更多代码和更少GUI
azure上传代码 In the previous two articles, Starting your journey with Azure Data Studio and Developing ...
- 00截断上传绕过_【文件上传与解析】文件上传与解析漏洞总结v1.0
点击上方"公众号" 可以订阅哦! Hello,各位小伙伴晚上好~ 这里是依旧勤劳写公众号的小编~ 今天本公众号将推出一个新的模块,那就是漏洞知识点总结模块!!!(此处应有掌声~) ...
- php网站商品图片上传代码,PHP实现图片上传代码
html代码 Document 上传图片: up.php代码 if (!empty($_FILES["img"]["name"])) { // 提取文件域内容名 ...
- file上传代码 ios_iOS-实现文件上传下载
iOS开发中会经常用到文件上传下载的功能,这篇文件将介绍一下使用asp.net webservice实现文件上传下载. 首先,让我们看下文件下载. 这里我们下载cnblogs上的一个zip文件.使用N ...
- 如何在label上显示字_如何地图上标注店面_新开的店铺要怎样上地图显示_怎么将公司标记在地图...
新开的店铺商铺商家商户企业工厂怎么标注地图位置?如何地图上标注店面_怎么将店铺标记在地图_新开的店铺要怎样上地图显示?还没有办好营业执照可以做?您可能会有很多地图疑问?请直接联系腾图通地图服务公司为您 ...
- linux禁止客户端上传文件_图片/文件上传如此简单|macOS 图床客户端 uPic
前言 相信很多人在写作(特别是需要多平台发布)的时候都会因为插图而增加工作量: 平台图片外链不允许在网站外部访问. 使用云图床服务上传流程复杂. 那么这些问题有没有办法解决呢,答案肯定是"有 ...
- 上传附件_留学落户|上传附件预审时一定一定要注意的问题!
点击上方蓝色字体,关注启铭君. www.minqifudao.com 启铭君相信大家都知道,从2019年留学落户"一网通办"新系统上线,可以在网上进行材料申报,"让数据多 ...
最新文章
- JRuby:谁说鱼与熊掌不可兼得
- app怎么嵌套vue页面_app内嵌vue单页面应用的一些坑
- 导致定时器失效_IIS进程回收导致定时器失效的解决方法(CMD命令)
- 违反了primarykey约束怎么解决_前期物业服务合同对主业有约束力吗?
- 计算机二级c语言考点分析,计算机二级C语言考点分析.doc
- mysql删除重复sql_mysql中删除完全重复数据的准确SQL语句
- 昨天又写到个结构体排序,用多种cmp
- php之clone 复制对象以及__clone魔术方法
- db2关闭下一句sql的日志_MySQL查询优化(3)-慢查询开启、日志分析
- Linux下查看物理CPU、逻辑CPU和CPU核数
- python中的classmethod_面试题:python 中 staticmethod 和 classmethod有什么区别
- python程序运行后没有反应_为什么我的电脑在运行这个python程序时速度变慢,没有反应?...
- git/gitflow git工作流
- ubuntu设置虚拟显示器且远程连接
- 中国.NET:各地微软技术俱乐部汇总(持续更新中...)
- 三国群英传服务器端架设修改,【三国OL单机假设】三国群英传架设单机方法
- 温度传感器DS18B20介绍
- 如何从 GRUB rescue 恢复 Win7,win7 USB恢复盘制作
- 计算机技术在美术方面的应用,计算机技术在美术设计的应用
- Jenkins高级篇之Pipeline语法篇-2-第一个Pipeline脚本练习
热门文章
- VUE2.x的浏览器兼容情况汇总
- Thread.getContextClassLoader与Thread.getClassLoader()区别
- 25 Refs转发机制与在高阶组件中的使用
- globals() 和 locals() 函数
- PostCSS自学笔记(二)【番外篇二】
- moss2010 sharepoint 2010配置人员搜索
- Linux系统rootpassword改动
- 【暴力】Codeforces Round #398 (Div. 2) A. Snacktower
- Swift 开发的工具类,主要是提供正则表达式及其它,Github会长期维护
- 关系数据库SQL之可编程性函数(用户自定义函数)