ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

gitlab的CI/CD实现

2021-09-11 01:00:26  阅读:235  来源: 互联网

标签:qq CI sudo gitlab CD systemctl ctl 服务器


1.前言

  搭建gitlab服务器至少需要2核4G的服务器,笔者在1核2G的服务器上尝试搭建过,但是基本上完全跑不起来,中途会有各种各样的问题,每次gitlab-ctl reconfigure的时候基本上都会卡死。

2.linux centos8搭建gitlab过程

安装gitlab:这里推荐清华大学的开源软件镜像站下载(https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8/)gitlab安装包

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8/gitlab-ce-12.10.0-ce.0.el8.x86_64.rpm

 

 2.1然后安装

rpm -i  gitlab-ce-12.10.0-ce.0.el8.x86_64.rpm

 安装成功后会出现这样的一个提示

2.2 如果不是云服务器,则需要打开防火墙,安装postfix等

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

  在执行sudo firewall-cmd --permanent --add-service=http时候有可能出现FirewallD is not running问题:意思是防火墙没有打开
  解决方案,执行命令:systemctl start firewalld开启防火墙,截图如下:

2.3 安装Postfix以发送通知电子邮件,依次执行命令

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

 gitlab的配置文件目录在/etc/gitlab/gitlab.rb

执行命令:vim  /etc/gitlab/gitlab.rb 
找到 external_url 'http://gitlab.example.com'
替换成你的Linux服务器的地址比如说:external_url 'http://192.168.1.1'

 

 

 配置发送邮件,注意qq邮箱的smtp_address为smtp.qq.com,smtp_password不是qq的登录密码,而是在qq邮箱设置里面开通smtp服务的授权码。

 

 配置好后可以进行邮件测试

输入命令gitlab-rails console

gitlab-rails console

irb(main):001:0> Notify.test_email('xxxx@qq.com', 'Message Subject', 'Message Body').deliver_now

 配置完成后输入命令gitlab-ctl reconfigure

gitlab相关操作及说明

/etc/gitlab/gitlab.rb          #gitlab配置文件
/opt/gitlab                    #gitlab的程序安装目录
/var/opt/gitlab                #gitlab目录数据目录
/var/opt/gitlab/git-data       #存放仓库数据
gitlab-ctl reconfigure         #重新加载配置
gitlab-ctl status              #查看当前gitlab所有服务运行状态
gitlab-ctl stop                #停止gitlab服务
gitlab-ctl stop nginx          #单独停止某个服务
gitlab-ctl tail                #查看所有服务的日志
gitlab-ctl start         #开启gitlab服务
gitlab-ctl restart       #重启gitlab服务
Gitlab的服务构成: nginx: 静态web服务器 gitlab-workhorse 轻量级反向代理服务器 logrotate 日志文件管理工具 postgresql 数据库 redis 缓存数据库 sidekiq 用于在后台执行队列任务(异步执行)

 gitlab依赖的服务

 

标签:qq,CI,sudo,gitlab,CD,systemctl,ctl,服务器
来源: https://www.cnblogs.com/helloworld-wang/p/15253541.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有