本次自动化部署平台基于jenkins+docker+k8s+gitlab
安装GitLab
下载docker镜像
docker pull beginor/gitlab-ce:11.0.1-ce.0
创建GitLab 配置
(etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级
mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data
运行GitLab容器
进入/mnt/gitlab/etc目录,运行
docker run --detach --publish 8443:443 --publish 8090:80 --name gitlab --restart unless-stopped -v /mnt/gitlab/etc:/etc/gitlab -v /mnt/gitlab/log:/var/log/gitlab -v /mnt/gitlab/data:/var/opt/gitlab \beginor/gitlab-ce:11.0.1-ce.0
参数说明:
–name=‘gitlab-ce’:为容器制定一个名称
-d:后台运行容器,并返回容器ID
-p:指定映射端口号,本文是将ssh的22端口映射为1022端口,web访问的80端口映射为80端口
-restart:docker服务启动后,容器也自启动,一般
服务都会设置为随系统启动,因此将restart的值设置为always意味着系统启动则gitlab也随之启动,若不希望如此可使用如下命令,停止Gitlab的启动:
docker update - -restart=no 容器ID
-volume:用来指定挂载目录,将config配置目录,data数据目录,logs日志目录挂载到宿主机上,以后备份方便
最后就是下载的容器的名称,这样就可以通过docker容器来运行一个gitlab服务器了
修改/mnt/gitlab/etc/gitlab.rb
把external_url改成部署机器的域名或者IP地址
将external_url 'http://自己服务器IP'
vi /mnt/gitlab/etc/gitlab.rb
修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml\
vi /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
找到关键字 * ## Web server settings *
将host的值改成映射的外部主机ip地址和端口
重启容器
# 进入gitlab bash
docker exec -it gitlab bash
# 重新应用gitlab的配置
gitlab-ctl reconfigure
# 重启gitlab服务
gitlab-ctl restart
docker stop gitlab
docker rm gitlab
重启docker
systemctl restart docker
到这一步我们再用上面的命令 重新启动一次该容器即可
docker run --detach --publish 8443:443 --publish 8090:80 --name gitlab --restart unless-stopped -v /mnt/gitlab/etc:/etc/gitlab -v /mnt/gitlab/log:/var/log/gitlab -v /mnt/gitlab/data:/var/opt/gitlab \beginor/gitlab-ce:11.0.1-ce.0
重启完成我们通过IP:8090就可以正常访问了
GitLab配置
配置用户信息
安装完成后首次进入默认账号密码为 root root 登录时需要修改
配置SSH 密钥
打开设置后在这里添加SSH密匙*(这里密匙自己去git生成)
邮箱配置
邮箱配置的目的是让Gitlab服务器具备发送邮件的功能,主要有发送邮箱验证码,修改用户邮箱地址等。这里使用QQ邮箱服务器发送,首先需要自己有一个QQ邮箱的地址,可以新建一个QQ小号,开通QQ邮箱,并需要开启pop/smtp服务功能,得到一个邮箱授权码,你的邮箱才能在第三方使用。
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'] = "yourname@qq.com"
gitlab_rails['smtp_password'] = "授权码"
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'] = "yourname@qq.com"
更新设置
gitlab-ctl reconfigure
测试邮件服务是否正常
打开gitlab控制台(这一步会花很久时间才能打开)
gitlab-rails console
发送邮件
Notify.test_email('接收方邮件地址','邮件标题','邮件内容').deliver_now
配置Git仓库
使用流程和github,gitee差不多 我们先新建一个仓库
创建完成我们用idea或者git拉取一下 能拉取就没问题了