80-Ubuntu-Gitlab部署与基础

    技术2022-08-11  141


    环境 #Ubuntu主机需要允许root远程ssh连接 #确保如下两条为 yes [root@gitlab-server ~]# egrep "^PasswordAuthentication|^PermitRootLogin" /etc/ssh/sshd_config PermitRootLogin yes PasswordAuthentication yes #主机网络配置 [root@gitlab-server ~]# cat /etc/netplan/01-netcfg.yaml # This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: eth0: addresses: [10.20.0.35/16] gateway4: 10.20.0.10 dhcp4: no dhcp6: no nameservers: addresses: [8.8.8.8] #配置国内清华软件源 [root@gitlab-server ~]# cat /etc/apt/sources.list #默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse #安装依赖库和相关基础工具 [root@gitlab-server ~]# apt update && apt install iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server \ > nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev ntpdate \ > tcpdump telnet traceroute gcc openssh-server lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev \ > zlib1g-dev ntpdate tcpdump telnet traceroute iotop unzip zip ipmitool -y #下载gitlab并进行部署 [root@gitlab-server ~]# cd /usr/local/src/ [root@gitlab-server src]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/bionic/main/g/gitlab-ce/gitlab-ce_12.3.0-ce.0_amd64.deb gitlab-ce_12.3.0-ce.0_amd64.deb 100%[===================================================================================>] 672.65M 1.34MB/s in 8m 29s 2020-06-30 16:20:19 (1.32 MB/s) - ‘gitlab-ce_12.3.0-ce.0_amd64.deb’ saved [705329186/705329186] #安装gitlab [root@gitlab-server src]# dpkg -i gitlab-ce_12.3.0-ce.0_amd64.deb Selecting previously unselected package gitlab-ce. (Reading database ... 72052 files and directories currently installed.) Preparing to unpack gitlab-ce_12.3.0-ce.0_amd64.deb ... Unpacking gitlab-ce (12.3.0-ce.0) ... Setting up gitlab-ce (12.3.0-ce.0) ... 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 reconfigure For a comprehensive list of configuration options please see the Omnibus GitLab readme https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md #gitlab配置文件,个人敏感信息已做 xxxxx 填充 [root@gitlab-server src]# grep "^[a-Z]" /etc/gitlab/gitlab.rb external_url 'http://10.20.0.35' gitlab_rails['gitlab_email_from'] = '160xxxxx59@qq.com' gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "160xxxxx59@qq.com" gitlab_rails['smtp_password'] = "fnrxxxxxxxxxhfbn" gitlab_rails['smtp_domain'] = "qq.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true user['git_user_email'] = "160xxxxx59@qq.com" alertmanager['admin_email'] = '19xxxxxx412@163.com'

    #smtp_password 填写的正是QQ邮箱生成的授权码,在下方可查看


    #邮箱授权码


    #配置完成,进行初始化服务 [root@gitlab-server src]# gitlab-ctl reconfigure #初始化过程较慢,内容已省略 ………………….. Running handlers: Running handlers complete Chef Client finished, 529/1417 resources updated in 04 minutes 37 seconds gitlab Reconfigured! [root@gitlab-server src]# echo $? 0

    gitlab命令行常用命令

    gitlab-rails该命令用于启动控制台进行特殊操作比如修改管理员密码、打开数据库控台( gitlab-rails dbconsole)等gitlab-psql进入数据库命令行gitlab-rake数据备份恢复等数据操作命令gitlab-ctl客户端命令行操作行gitlab-ctl stop停止 gitlabgitlab-ctl start启动 gitlabgitlab-ctl restar重启 gitlabgitlab-ctl status查看组件运行状态gitlab-ctl tail查看某个组件的日志gitlab-ctl status查看当前 gitlab 运行情况 [root@gitlab-server src]# lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 26078 root 7u IPv4 85411 0t0 TCP *:http (LISTEN) nginx 26079 gitlab-www 7u IPv4 85411 0t0 TCP *:http (LISTEN) #nginx的80端口已在初始化gitlab时就已经启动,若在初始化前有其它程序提前占用了该端口会导致gitlab初始化失败或无法访问

    #登录gitlab web界面:输入主机IP #首次登录需要立即更改密码,且至少8位


    #更改密码后进行登录,默认用户 root


    #一般情况下,企业当中都会关闭gitlab的注册功能 #我们也不例外


    #退出账号,回到登录界面发现有何不同啊


    #重新登陆,创建一个新用户


    #可惜,当我创建完成后,新创建的用户并没有正常收到邮件 #一定是哪里出现问题 #之后经过排查找出,由于在配置gitlab配置文件时 #将用于发送重置用户密码邮件的QQ邮箱账户提供的授权码填写错误导致 #果然还是能复制粘贴就不要手写,手敲就出错 #查阅问题解决相关链接在下方 https://blog.csdn.net/sinat_30026065/article/details/79531013


    #解决过程参考 #重新获取授权码并修改配置文件授权码

    [root@gitlab-server ~]# vim /etc/gitlab/gitlab.rb #进入gitlab终端控制台 [root@gitlab-server ~]# gitlab-rails console -------------------------------------------------------------------------------- GitLab: 12.3.0 (7099ecf77cb) GitLab Shell: 10.0.0 PostgreSQL: 10.9 -------------------------------------------------------------------------------- Loading production environment (Rails 5.2.3) irb(main):001:0> Notify.test_email('147xxxxx60@qq.com','test','123test').deliver_now #发送测试邮件 Notify#test_email: processed outbound mail in 2.4ms Sent mail to 147xxxxx60@qq.com (1301.0ms) Date: Tue, 30 Jun 2020 18:11:07 +0800 From: GitLab <16xxxxxx59@qq.com> Reply-To: GitLab <noreply@10.20.0.35> To: 147xxxxx60@qq.com Message-ID: <5efb0fbbc68a1_5443ff0cfad9990879f8@gitlab-server.mail> Subject: test 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>123test</p></body></html> #若显示以下类似信息,则表示没有问题 => #<Mail::Message:70303257079960, Multipart: false, Headers: <Date: Tue, 30 Jun 2020 18:11:07 +0800>, <From: GitLab <16xxxxxx59@qq.com>>, <Reply-To: GitLab <noreply@10.20.0.35>>, <To: 147xxxxx60@qq.com>, <Message-ID: <5efb0fbbc68a1_5443ff0cfad9990879f8@gitlab-server.mail>>, <Subject: test>, <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>

    #经过重新获取了新的授权码并修改gitlab配置文件后 #重启gitlab命令:gitlab-ctl reconfigure #删除账户重新创建之后正常收到了重置密码邮件


    #点击图片中标识,自动跳转至重置密码界面


    #重置密码成功后,又会收到一封邮件提示密码已修改


    #尝试登陆新账号


    #登录成功

    Processed: 0.012, SQL: 9