02【前端工程化初探】GitLab本地部署
概述
这篇文章先来预热一下,我们在自己的虚拟机里搭建一套GitLab环境,然后自己就可以使劲折腾。具体搭建步骤如下。
系统环境
系统:CentOS 8.1
内存:4G起步
硬盘:50G(仅供测试环境)
IP:192.168.0.104
具体操作步骤
一、CentOS 8.1安装
1、到CentOS官网(https://www.centos.org/)下载最新版的安装镜像,如下图所示:
2、使用VirtualBox安装CentOS 8.1的虚拟机。首先在VirtualBox中选择新建虚拟机,然后在弹出的面板中输入虚拟机相关的信息,包括虚拟机名称、存放目录、虚拟机类型、虚拟机内存、硬盘大小等,设置完后点击确定即可完成一个虚拟机的初始创建,如下:
3、初始化后的虚拟机是没有关联镜像的,所以我们接下来进行关联镜像。点击【设置】菜单,然后选择【存储】选项卡,打开存储设置面板,如下:
在此面板选择控制器下的“没有盘片”字样,然后点击图中位置进行镜像文件的选择和关联,如下:
点击确定后即可完成镜像文件的关联操作。
4、同样的在设置面板选择【系统】选项卡,然后将光驱启动设置为第一启动项,如下图所示:
5、点击【启动】菜单按钮,开始虚拟机的安装,如下:
6、点击启动按钮后,虚拟机CentOS 8.1的安装过程其实就和我们普通的CentOS系统安装没有任何区别了,我们只需要简单的配置下安装时候所需要的一些信息即可,比如我配置了安装桌面选项,如下图(这个过程中的有些参数如果有不明白的,直接网上找资料即可,资料是非常多的,没必要在此处做重复的介绍):
如果点击重启后又重新进入到了安装界面,我们只需要点击上方的【控制】菜单,然后打开设置面板,在存储选项卡下将我们之前添加的CentOS镜像盘片卸载掉即可,因为这时候系统已经安装好了,它就没有存在的必要了。卸载之后重启虚拟机即可正常进入系统了,如下:
7、如上所示,CentOS 8.1系统安装成功。
二、GitLab部署
通过以上操作我们完成了CentOS 8.1虚拟机的安装,接下来就开始部署GitLab。使用XShell等工具连接安装的CentOS 8.1虚拟机,在连接过程中如果发现虚拟机的IP是10.0.2.15或者说虚拟机压根就没有IP信息,这就需要我们为虚拟机配置网络信息和启动网卡,具体操作步骤请查阅网络资料即可。
虚拟机网络配置正常后,我们接下来进行GitLab的配置。
1、GitLab的安装部署其实直接看官网的文档即可,里面描写的很清楚,地址如下:
https://about.gitlab.com/install/#centos-8
2、首先我们使用以下命令来打开防火墙中的HTTP、HTTPS、SSH通道,如下:
sudo dnf install -y curl policycoreutils openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
# Check if opening the firewall is needed with: sudo systemctl status firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
3、然后通过以下命令来安装Postfix来实现邮件通知功能,如下:
sudo dnf install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
4、接下来进行安装和配置GitLab,如下:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://localhost" dnf install -y gitlab-ee
5、安装完成后,使用如下命令安装Vim编辑器:
yum install vim -y
6、使用如下命令配置gitlab的访问IP和端口:
vim /etc/gitlab/gitlab.rb
将我们安装是指定的localhost改成虚拟机IP,端口指定一个另外的端口,如上图所示。修改成功后,使用如下命令使配置生效,并且重启gitlab:
gitlab-ctl reconfigure
gitlab-ctl restart
7、通过以下命令开放8088端口:
firewall-cmd --zone=public --list-ports #查看开放端口
firewall-cmd --zone=public --add-port=8088/tcp --permanent #开放8088端口
firewall-cmd --reload #重新加载配置
#如果不需要,也可以直接关闭防火墙
systemctl stop firewalld.service
8、浏览器通过地址"http://192.168.0.104:8088/"地址来访问gitlab,初次访问会被重定向到密码修改界面,初始账户为:
初始账户: root 密码:5iveL!fe
登录修改密码后,页面会自动会到登录界面,我们用新密码登录即可进入到部署的GitLab,如下所示:
9、使用如下命令进入到虚拟机网卡设置目录,设置虚拟机静态IP,如下:
cd /etc/sysconfig/network-scripts/
vi ifcfg-enp0s3
然后在文件中做如下修改:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"#动态ip
#BOOTPROTO="dhcp"#静态IP
BOOTPROTO=static
IPADDR=192.168.0.104 ## 你想要的静态ip
NETMASK=255.255.255.0 #子网掩码为物理机子网掩码(subnet mask)
GATEWAY=192.168.0.1 #跟物理机网关相同DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="0dd666ac-c97e-4b6a-898e-0765ba16246d"
DEVICE="enp0s3"
ONBOOT="yes"
保存退出后,使用如下命令重启网卡:
nmcli c reload
至此,虚拟机静态IP设置成功。
10、使用如下命令进行邮箱配置:
vim /etc/gitlab/gitlab.rb
然后在配置文件中添加如下信息:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "2250685378@qq.com"
gitlab_rails['smtp_password'] = "ddddddddddwwwww"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '2250685378@qq.com'#修改gitlab配置的发信人
gitlab_rails['gitlab_email_from'] = "2250685378@qq.com"
user["git_user_email"] = "2250685378@qq.com" # 必须是一个具体的邮箱。不能瞎编
配置保存之后,使用如下命令进行配置生效和gitlab重启:
gitlab-ctl reconfigure
gitlab-ctl restart
重启成功后,使用如下命令开启虚拟机的465端口,如下:
firewall-cmd --zone=public --list-ports #查看开放端口
firewall-cmd --zone=public --add-port=465/tcp --permanent #开放465端口
firewall-cmd --reload #重新加载配置
#如果不需要,也可以直接关闭防火墙
systemctl stop firewalld.service
然后使用如下命令进行邮箱配置的测试:
gitlab-rails console
Notify.test_email('2250685378@qq.com','X北辰北','测试邮件').deliver_now
如果出现以下报错信息,是因为我们的邮箱没有开启SMTP服务导致:
我们打开QQ邮箱的设置界面,然后切换到【账户】选项卡,在页面底部选择打开相应的服务,打开后会给我们一段授权码,然后我们将授权码粘贴到gitlab的配置文件中,重新使之生效和启动gitlab,如下:
使用命令打开gitlab配置文件,替换配置文件中的邮箱密码为生成的授权码:
然后同样的,使用如下命令使配置生效和重启gitlab:
gitlab-ctl reconfigure
gitlab-ctl restart
gitlab重启后,我们使用上述的测试命令再次进行测试,如果邮件成功发送,则说明邮箱配置成功,如下:
11、打开"C:\Users\用户名\.ssh"目录,将里面id_rsa.pub文件里的信息复制粘贴到gitlab,就完成了gitlab的ssh配置,然后我们接下来进行测试。
12、我们在gitlab中新建一个项目,然后将它git clone到本地,如下:
然后修改里面的README文档或者自己新建一个html页面,使用git将它提交,如果成功提交,则说明我们的gitlab到目前为止完成了基础的配置,如下:
此时我们的GitLab环境安装部署成功。
总结
这篇文章在部署成功GitLab的同时,我们还配置了邮件发送,当我们提交代码后,邮箱会收到相应的提示信息。
02【前端工程化初探】GitLab本地部署相关推荐
- 项目管理 之六 详解 Gitlab 本地部署全过程、Gitlab Pages、企业版 PATCH
gitlab-ee 和 gitlab-ce 需要注意,Gitlab 分为 SaaS 和 Self-Managed 两种版本,其中,SaaS 即 gitlab.com 这个在线版本(这个其实就是官方 ...
- 前端类名优秀命名例子_这是一篇需要花费你15分钟阅读的干货!浅谈前端工程化...
01前端工程化的背景 随着业务的扩展.业务需求更加复杂.项目团队的壮大以及项目的增多等.制定一套适用于团队的前端工程化方案很有必要. 02前端工程化是什么 前端工程化是一个很广泛的话题.涉及的技术与解 ...
- 【学习日记2023.4.25】之 前后端分离_前端工程化_Vue组件库Element_Vue路由_打包部署
文章目录 1. 前后台分离开发 1.1 前后台分离开发介绍 1.2 YAPI 1.2.1 YAPI介绍 1.2.2 接口文档管理 2. 前端工程化 2.1 前端工程化介绍 2.2 前端工程化入门 2. ...
- 前端工程化实践:从开发到构建测试部署——由此及彼
前端工程化实践 前端工程化实践 什么叫前端工程化 从实践方面来说 从理论角度来讲 前端工程化的意义: 1.规范化(从源头处约束到优雅-聚沙成塔) 1. 制定各项开发规范,让工作有章可循 2. 针对于版 ...
- 【几乎最全/全网最长的 2 万 字】前端工程化完整流程:从头搭到尾(vue3 + vite + qiankun + docker + tailwindcss + iview......)
文章目录 一.完整构建流程 1.在指定目录下执行 pnpm init,初始化 package.json 2.执行 pnpm install vite -D,安装 vite. 3.package.jso ...
- 前端工程化实践总结 | QQ音乐商业化Web团队
蓝字关注,回复"加群"加入前端技术群 与大家一起成长 | 导语本文主要介绍在前端工程化的一些探索和实践,结合移动端的基础库重构和UI组件库开发这两个项目详细介绍工程化方案 . 随着 ...
- 前端进阶垫脚石-前端工程化
什么是前端工程化 前端工程化,就是降本提效的体现 广义上,前端工程化包含一切以降低成本.提高效率.保障质量为目的的手段 通过一系列的规范.流程.工具达到研发提效.自动化.保障质量.服务稳定.预警监控等 ...
- 【CSDN软件工程师能力认证学习精选】 什么是前端工程化?
CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...
- 前端工程化:从切图仔到前端 Leader,如何跨越式成长
前端的小伙伴应该能够很明显地感觉到,在面试过程中,各大公司面试官已经非常注重前端工程化能力的考察了. 前端工程化的演进可以极大地提升开发效率.前端发展到现在,社区涌现出大量的优秀框架和工具,得以将前端 ...
最新文章
- DeepMind悄咪咪开源三大新框架,深度强化学习落地希望再现
- 2020-08-20如何获取AWS的Access Key ID 和 Secret Access Key (Unable to find credentials)
- linux检测远程端口是否打开
- JDBC Statement PrepareStatement
- newlisp debugger
- 利用Python随机或暴力生成密码
- python virtualenv conda_在vscode中启动conda虚拟环境的思路详解
- Android编程之仿微信显示更多文字的View
- dubbo服务压力测试
- mat格式数据集转换为arff与txt格式
- java创建包顺序_Java中包含继承关系时对象的创建与销毁顺序详解(附源码)
- 禾川Q1系列PLC官方教程
- Line-in和Mic-in及Line-out的使用和介绍
- MATLAB实现遥感图像分类——K均值算法
- pano2vr 6.0转换为html,全景图转换器(Pano2VR)
- 【qstock量化】数据篇之宏观指标和财经新闻文本
- Microsoft Teams 思维导图的4大好处,你知道怎样创建吗?
- vb里的lbound和ubound的用法
- The requested resource (Servlet action is not available) is not available.这个问题让我通宵了一个晚上
- linux 的top命令详解