docker搭建gitlab,注册后发邮件

一、基于docker-compose安装可以发邮件版的gitlab

新建 mkdir /usr/local/docker/gitlab目录,在此目录下新建docker-compose.yml , 配置如下:

1. 新建网易或qq版的docker-compose.yml

1.1 gitlab邮箱版(网易邮箱发送)

version: '3'
services:
    gitlab:
      image: 'twang2218/gitlab-ce-zh'
      hostname: '192.168.118.131'
      environment:
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://192.168.118.131:8088'
          gitlab_rails['gitlab_shell_ssh_port'] = 2222
          unicorn['port'] = 8088
          nginx['listen_port'] = 80
          external_url 'http://192.168.118.131:8088'
          gitlab_rails['gitlab_shell_ssh_port'] = 2222
          gitlab_rails['time_zone'] = 'Asia/Shanghai'
          # email setting
          gitlab_rails['smtp_enable'] = true
          gitlab_rails['smtp_address'] = "smtp.163.com"
          gitlab_rails['smtp_port'] = 25
          gitlab_rails['smtp_user_name'] = "网易邮箱"
          gitlab_rails['smtp_password'] = "网易邮箱密码"
          gitlab_rails['smtp_domain'] = "163.com"
          gitlab_rails['smtp_authentication'] = "login"
          gitlab_rails['smtp_enable_starttls_auto'] = true
          gitlab_rails['gitlab_email_from'] = "onnoaheng@163.com"
          gitlab_rails['smtp_tls'] = false
          gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
          user["git_user_email"] = "onnoaheng@163.com"
      ports:
        - '8088:80'
        - '443:443'
        - '2222:22'
      volumes:
        - ./config:/etc/gitlab
        - ./data:/var/opt/gitlab
        - ./logs:/var/log/gitlab

1.2 gitlab邮箱版(网易邮箱发送)

version: '3'
services:
    gitlab:
      image: 'twang2218/gitlab-ce-zh'
      restart: always
      hostname: '192.168.118.131'
      environment:
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://192.168.118.131:8088'
          gitlab_rails['gitlab_shell_ssh_port'] = 2222
          unicorn['port'] = 8088
          nginx['listen_port'] = 80
          external_url 'http://192.168.118.131:8088'
          gitlab_rails['time_zone'] = 'Asia/Shanghai'
          # email setting
          gitlab_rails['smtp_enable'] = true
          gitlab_rails['smtp_address'] = "smtp.qq.com"
          # 部署上阿里云服务器后如果25端口不行可以换465或者587端口尝试
          gitlab_rails['smtp_port'] = 465
          gitlab_rails['smtp_user_name'] = "qq邮箱"
          gitlab_rails['smtp_password'] = "授权码"
          gitlab_rails['smtp_domain'] = "qq.com"
          gitlab_rails['smtp_authentication'] = "login"
          gitlab_rails['smtp_enable_starttls_auto'] = true
          gitlab_rails['gitlab_email_from'] = "760171358@qq.com"
          gitlab_rails['smtp_tls'] = true
          gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
          user["git_user_email"] = "760171358@qq.com"
      ports:
        - '8088:80'
        - '443:443'
        - '2222:22'
      volumes:
        - ./config:/etc/gitlab
        - ./data:/var/opt/gitlab
        - ./logs:/var/log/gitlab

2. 配置好后,启动docker-compose,并访问地址:http://ip ,若端口号为8080,则http://ip:8080

端口默认是 80,若端口号为8080,则外部访问地址为 8080
命令如下:

docker-compose up

注意: 因gitlab启动较慢,需要较久的时间,要耐心等待。

访问效果如下:


image
  • 设置管理员初始密码,密码必须大于8位,我的是12345678
  • 配置完成后登陆,默认的管理员账号为root

3. 第一次使用GitLab的基本设置

image

再点击设置,进入设置。

1. 账号和限制,将Gravatar enabled(启用Gravatar头像)选项去掉,因为有时候获取头像需要翻墙,会造成加载缓慢或者访问不通。

2. 注册限制,将启用注册的勾去掉(主要看情况使用,但一般不用勾选)。

image

点击进入管理区域,为自己新建一个管理员账号

3. 为自己创建一个管理员账号,一般不会直接操作root账户,因为root账户的权限太大了。

image

同时权限级别为:管理员

4. 编辑用户的密码

image

如下:


image

同时权限级别为:管理员

5. root用户退出,管理员进行登陆,登陆之后重新设置密码(12345678)并再次进行重新登陆

二、gitlab 创建项目

1. 新建项目,并给项目取名字。

image

2. 初始化项目

image

3. 添加自述文件,内容如下

# 第一个gitlab项目

4. 将代码进行拉取,此后操作和github的使用一样,无非是拉取代码,创建分支,提交代码。

但,注意:在公司中,一般是拉取代码后,创建分支,实现相关功能后,提交代码(先不要推送),然后再次拉取代码,再将本地代码推送远端。

三、GitHub使用SSH免密登陆

1. 生成 SSH KEY

使用 ssh-keygen 工具生成,位置在 Git 安装目录下,我的是 C:\Program Files\Git\usr\bin,在此目录进入cmd,并输入命令:

ssh-keygen -t rsa -C "your_email@example.com" 

如:

ssh-keygen -t rsa -C "onnoaheng@163.com"

执行效果:


Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
/c/Users/Administrator/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa.
Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:HXH7EEJ6MX8Szr4k7ew3gEFVkXK8ags6vDzCo3BI9Kg onnoaheng@163.com
The key's randomart image is:
+---[RSA 2048]----+
|         .*.=ooo |
|         ..X.++  |
|  .     ..o Bo.. |
| . o     o.+ =.  |
|  o .   S oo+..  |
| o .      o=+.   |
|E o .. . . o+o   |
|   o  +.=  .. o  |
|    .. oo+  .. . |
+----[SHA256]-----+

2. 复制 SSH-KEY 信息到 GitLab

秘钥位置在:C:\Users\Administrator\.ssh 目录下,找到id_rsa.pub并使用编辑器打开,如:

image

登录 GitLab,点击“用户头像”-->“设置”-->“SSH 密钥”。即可实现免密登陆,为持续集成持续部署打下基础。

3. 修改git的网络配置:

右键--》TortoiseGit(T) --> 设置--》网络--》SSH客户端,更改SSH客户端的配置如下图所示

image

选择完成后点击应用按钮,有可能不生效,如果不生效勾选使用代理服务器按钮,再点击应用,应用生效后,再去掉代理服务器的勾选。

Linux 实现gitlab的免密登陆

1. 输入命令

ssh-keygen -t rsa -C "onnoaheng@163.com"

输入命令完成后点击三次回车,输出结果如下:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:3UC2c5VnaUyCRpDVg9ikrqgVHrMMBwpTxhd4ehlNNGI onnoaheng@163.com
The key's randomart image is:
+---[RSA 2048]----+
| .o.E=+  .@++.+o.|
| oo.+... =.* +o+o|
|o  = o   .= . oo |
|..o +   .. =     |
| . o =  S.. .    |
|    = * .        |
|     * .         |
|    o            |
|   .             |
+----[SHA256]-----+

2.进入/root/.ssh/目录

cd /root/.ssh/

cat id_rsa.pub

结果如下:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+e3rwv/k1K+iDw0Ab0h1ljJY1LLi+hPS8vulPPeyE3PXgNj1u5zC2C65xjpE9WATtaw2EW62dgVBp2enp2ArNUDiwga4HO7cbLOVzB5b6eW0MK2xjK8Km8DprZMiGla0NbOWucEMnVtjedb/e74UuhG/As6iASyxDbzMg75oA6j1u0PmuS15RZLjbfigTlzwxy1HK1O32yJ1lbH78TdnP4YtwrFZ0bJ3A1PqUDTU7TaYrRetugSOWS8/u8ZnoXfnLYKfSPDlW8e+e6znMJbm8pEPPEJ4nnKRNr12KB77/bER0DlqrU+NkQ1sDD7ZeRplup7b+vgn5UxacheuYEbb5 onnoaheng@163.com

3.进入gitlab进行如下操作

image

gitlab基本调试命令


docker exec -it gitlab-email_gitlab_1 bin/bash

进入容器后,可以使用下列命令进行调试邮箱发送所出现的问题

gitlab-rails console production

查看ActionMailer delivery_method以确保其符合您的预期。如果配置了SMTP,则应显示:smtp。如果您使用的是Sendmail,则应显示:sendmail:
ActionMailer::Base.delivery_method

如果您使用的是SMTP,请检查邮件设置:
ActionMailer::Base.smtp_settings

Notify.test_email('onnoaheng@163.com', 'Hello World', 'This is a test message').deliver_now
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335