即将开始一个项目,随手记录一下项目开发的过程,以备日后复盘~

首先是项目的准备工作,因为涉及到多人合作及前后端分离,所以我准备先部署一个Gitlab用作代码管理,YApi用作接口管理。

根据服务器系统具体的版本选择下载镜像(此处为Centos7版本)
Gitlab镜像文件

rpm -ivh gitlab-ce-10.7.2-ce.0.el7.x86_64.rpm
warning: gitlab-ce-10.7.2-ce.0.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f27eab47: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...1:gitlab-ce-10.7.2-ce.0.el7        ################################# [100%]
It looks like GitLab has not been configured yet; skipping the upgrade script.*.                  *.***                 ********               *****.******             ***************            ********,,,,,,,,,***********,,,,,,,,,,,,,,,,,,,,*********,,,,,,,,,,,.,,,,,,,,,,,*******,,,,,,,,,,,,,,,,,,,,,*****,,,,,,,,,.,,,,,,,****,,,,,,.,,,***,,,,,*,._______ __  __          __/ ____(_) /_/ /   ____ _/ /_/ / __/ / __/ /   / __ `/ __ \/ /_/ / / /_/ /___/ /_/ / /_/ /\____/_/\__/_____/\__,_/_.___/Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:sudo gitlab-ctl reconfigureFor a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

配置文件 /etc/gitlab/gitlab.rb, 编辑如下:

[root@vm1 ~]# vim /etc/gitlab/gitlab.rb
[root@vm1 ~]# grep "^external_url" /etc/gitlab/gitlab.rb
external_url 'http://192.168.60.119'   绑定监听的域名或IP

使用gitlab-ctl reconfigure 自动配置,并安装数据库,初始化信息(第一次时间比较长)
注: 第一次初始化后会产生当前gitlab的配置文件 /var/opt/gitlab/gitlab-rails/etc/gitlab.yml ,在后期维护的过程中尽量配置 /var/opt/gitlab/gitlab-rails/etc/gitlab.yml 文件,然后gitlab-ctl restart 即可生效新的配置;如果没有必要不建议做第二次初始化。

[root@vm1 ~]# gitlab-ctl reconfigure   <生成 /var/opt/gitlab/ 各种子配置>
......

使用gitlab-ctl start 启动gitlab服务,如下所示:

[root@vm1 ~]# gitlab-ctl start
ok: run: gitaly: (pid 22896) 2922s
ok: run: gitlab-monitor: (pid 22914) 2921s
ok: run: gitlab-workhorse: (pid 22882) 2922s
ok: run: logrotate: (pid 22517) 2987s
ok: run: nginx: (pid 22500) 2993s
ok: run: node-exporter: (pid 22584) 2974s
ok: run: postgres-exporter: (pid 22946) 2919s
ok: run: postgresql: (pid 22250) 3047s
ok: run: prometheus: (pid 22931) 2920s
ok: run: redis: (pid 22190) 3053s
ok: run: redis-exporter: (pid 22732) 2962s
ok: run: sidekiq: (pid 22472) 3005s
ok: run: unicorn: (pid 22433) 3011s

修改配置文件,添加smtp邮件功能。需要注意的是,如果你在这里填写明文密码,一定要将 gitlab_rails[‘smtp_authentication’] = “plain” 这一项设置正确,默认的值是 login,要修改为 plain。

### Email Settingsgitlab_rails['gitlab_email_enabled'] = truegitlab_rails['gitlab_email_from'] = 'your_email@your_domain'gitlab_rails['gitlab_email_display_name'] = 'GitLab'gitlab_rails['gitlab_email_reply_to'] = 'your_email@your_domain'
# gitlab_rails['gitlab_email_subject_suffix'] = ''
### GitLab email server settings
###! Docs: https://docs.gitlab.com/omnibus/settings/smtp.html
###! **Use smtp instead of sendmail/postfix.**gitlab_rails['smtp_enable'] = truegitlab_rails['smtp_address'] = "smtp.your_domain"gitlab_rails['smtp_port'] = 465gitlab_rails['smtp_user_name'] = "your_email@your_domain"gitlab_rails['smtp_password'] = "your_email_password"gitlab_rails['smtp_domain'] = "your_domain"gitlab_rails['smtp_authentication'] = "plain"gitlab_rails['smtp_enable_starttls_auto'] = truegitlab_rails['smtp_tls'] = true###! **Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert'**
###! Docs: http://api.rubyonrails.org/classes/ActionMailer/Base.htmlgitlab_rails['smtp_openssl_verify_mode'] = 'none'# gitlab_rails['smtp_ca_path'] = "/etc/ssl/certs"
# gitlab_rails['smtp_ca_file'] = "/etc/ssl/certs/ca-certificates.crt"
user['git_user_email'] = "your_email@your_domain"

重载配置

[root@vm1 ~]# gitlab-ctl reconfigure

使用gitlab-rails console命令进行发送邮件测试,如下所示:

[root@vm1 ~]# gitlab-rails console
Loading production environment (Rails 4.2.10)
irb(main):001:0>  Notify.test_email('user@destination.com', 'Message Subject', 'Message Body').deliver_nowNotify#test_email: processed outbound mail in 2219.5msSent mail to user@destination.com (2469.5ms)
Date: Fri, 04 May 2018 15:50:10 +0800
From: Admin <username@domain.cn>
Reply-To: Admin <username@domain.cn>
To: user@destination.com
Message-ID: <5aec10b24cfaa_93933fee282db10c162d@vm1.mail>
Subject: Message Subject
Mime-Version: 1.0
Content-Type: text/html;charset=UTF-8
Content-Transfer-Encoding: 7bit
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>Message Body</p></body></html>=> #<Mail::Message:70291731344240, Multipart: false, Headers: <Date: Fri, 04 May 2018 15:50:10 +0800>, <From: Admin <username@domain.cn>>, <Reply-To: Admin <username@domain.cn>>, <To: user@destination.com>, <Message-ID: <5aec10b24cfaa_93933fee282db10c162d@vm1.mail>>, <Subject: Message Subject>, <Mime-Version: 1.0>, <Content-Type: text/html; charset=UTF-8>, <Content-Transfer-Encoding: 7bit>, <Auto-Submitted: auto-generated>, <X-Auto-Response-Suppress: All>>
irb(main):002:0>quit

因为公司内网服务器端口都没有开放,而我又懒得走流程去申请,所以下面提供不需要邮箱验证的修改方法

进入Gitlab安装目录,修改前建议备份service目录~
/opt/gitlab/embedded/service/

[root@vm1 ~]# vim gitlab-rails/app/models/user.rb        # 删掉 devise后面的confirmable
[root@vm1 ~]# vim gitlab-rails/app/views/devise/confirmations/almost_there.haml  # 删掉最后3行,即含有new_user_confirmation_path的块
[root@vm1 ~]# vim gitlab-rails/app/views/devise/shared/_signup_box.html.haml     # 删掉最后4行,即含有new_user_confirmation_path的块

到此一个Gitlab就搭建完毕,可以正常使用了。

项目实践日记(Gitlab的搭建及配置)相关推荐

  1. Amazon EKS基于GitLab的CICD实践一 GitLab的部署和配置篇

    在容器化,微服务,基础设施即代码(IaC)以及DevOps的理念不断被大家所接受和理解,摆在大家面前的是如何在实际的工作中应用和实践这些理念. 本文将讨论基于GitLab来实现针对公有云基础设施(亚马 ...

  2. windows nginx 停止和启动_大数据离线项目实践之nginx服务器搭建

    gcc 安装 编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装yum install gcc-c++ -y PCRE pcre-devel 安装 PCRE(Perl Compatible R ...

  3. GitLab私服搭建及使用实践

    GitLab私服搭建及使用实践 一 . 环境 CentOS 7 内存配置4G (官方要求2G , 但是2G 经常会出现502问题 ) 二. gitlab 私服搭建 安装依赖的openssh-serve ...

  4. elementui 搭建布局页面路由_【项目实践】使用Vue.js和ElementUI快速实现后台管理系统的界面布局...

    前言 大家都知道,后台管理界面不需要很酷炫的动画效果,也不需要花里胡哨的界面布局,只需要简洁易用.清爽明了的界面以便于管理数据.而现在普遍的后台管理系统的界面布局都差不多,上中下结构,然后左边是导航栏 ...

  5. qiankun 传统项目配置_微前端 qiankun 项目实践

    原标题:微前端 qiankun 项目实践 作者:zxh1307 https://juejin.im/post/5ea55417e51d4546e347fda9 导语 最近在做微前端的项目 , 过程中真 ...

  6. 怎么把项目推到gitlab上_Gitlab利用Webhook+jenkins实现自动构建与部署

    之前部署了Gitlab的代码托管平台和Jenkins的代码发布平台.通常是开发后的代码先推到Gitlab上管理,然后在Jenkins里通过脚本构建代码发布. 这种方式每次在发版的时候,需要人工去执行j ...

  7. DockOne微信分享( 九十):猎豹移动基于CoreOS在AWS上的项目实践

    本文讲的是DockOne微信分享( 九十):猎豹移动基于CoreOS在AWS上的项目实践[编者的话]本次分享介绍基于AWS的EC2服务如何设计和搭建适合自己业务的架构方案实现全球多region部署,介 ...

  8. 基于Spark的机器学习实践 (三) - 实战环境搭建

    0 相关源码 1 Spark环境安装 ◆ Spark 由scala语言编写,提供多种语言接口,需要JVM ◆ 官方为我们提供了Spark 编译好的版本,可以不必进行手动编译 ◆ Spark安装不难,配 ...

  9. 大数据项目实践:基于hadoop+spark+mongodb+mysql开发医院临床知识库系统

    一.前言 从20世纪90年代数字化医院概念提出到至今的20多年时间,数字化医院(Digital Hospital)在国内各大医院飞速的普及推广发展,并取得骄人成绩.不但有数字化医院管理信息系统(HIS ...

  10. springmvc 项目完整示例05 日志 --log4j整合 配置 log4j属性设置 log4j 配置文件 log4j应用...

    log4j 就是log for java嘛,老外都喜欢这样子,比如那个I18n  ---internationalization  不就是i和n之间有18个字母... http://logging.a ...

最新文章

  1. NR 5G 安全与秘钥简述
  2. 将mysql日期格式转换_如何将日期时间格式转换为mysql日期格式?
  3. JavaString库
  4. Temporal Segment Networks(TSN)实验及错误日志
  5. unity 如何获取到屏幕中间_Unity通用渲染管线Shader日志输出工具
  6. 6、mysql中字段
  7. 【转载】儒林外史人物——荀玫
  8. Vue3.0 备受热捧!2020 前端开发进阶必读
  9. 基于JAVA+Servlet+JSP+MYSQL的校园门户信息管理系统
  10. centos7下docker设置阿里云镜像(自定义阿里云镜像)
  11. 嵌入式笔试题目及解析
  12. Mac OX 下方便的微信语音,图片,视频等导出方式
  13. MySQL服务器的超级管理员名称是_mysql服务器忘记了超级管理员root密码
  14. Cython使用技巧
  15. amazon aws 亚马逊云服务概述
  16. Android 图片文件读取
  17. 31.SUM() 函数
  18. 1987 三 比尔·哈利 Bill Haley
  19. python11.网络通信过程
  20. 常用的软件工程相关技术标准

热门文章

  1. 基于simulink的Active anti-islanding-AFD主动反孤岛模型仿真
  2. 07-24 什么是串口
  3. jvm虚拟机及创建对象流程
  4. linux-mount-iso
  5. 扬州鉴真国际半程马拉松
  6. Ubuntu18.04 tc指令模拟网络丢包与延时
  7. 遇见未知的自己 - 张德芬
  8. 【C++】实现自旋锁互斥(TAS 算法和 CAS 算法)
  9. 网页和移动端使用一键添加qq群组件
  10. 清明节html网页,清明节