docker 安装gitlab以及使用
一、安装及设置
- gitlab镜像拉取
- docker pull gitlab/gitlab-ce:latest (gitlab-ce是稳定版,默认pull最新latest版本)
- # 或者指定版本
- # sudo docker pull gitlab/gitlab-ce:<版本号>
复制代码 - 创建本地映射目次
在你的Ubuntu主机上,创建用于存储GitLab设置文件、日志和数据的目次:
- mkdir -p /srv/gitlab/config /srv/gitlab/logs /srv/gitlab/data
复制代码 - 运行GitLab-CE Docker容器
- docker run --detach \
- --hostname gitlab \
- --publish 443:443 --publish 80:80 --publish 222:22 \
- --name gitlab \
- --restart always \
- -v /srv/gitlab/config:/etc/gitlab \
- -v /srv/gitlab/logs:/var/log/gitlab \
- -v /srv/gitlab/data:/var/opt/gitlab
- gitlab/gitlab-ce:latest
- -d:后台运行
- -p:将容器内部端口向外映射,映射的端口可根据实际修改
- --name : 命令容器名称,可根据需要调整
- -v: 将容器内数据文件夹或者日志,配置等文件夹挂载到宿主机指定目录
- 运行成功后出现一串字符
复制代码 - 验证Gitlab-CE是否运行成功
- 访问和设置gitlab-ce
设置gitlab-ce访问地点
打开浏览器,输入http://<你的Ubuntu主机IP地点>(或https://<你的Ubuntu主机IP地点>,如果启用了HTTPS的话)来访问GitLab-CE。首次访问时,你必要设置管理员暗码。
如果必要,你可以通过修改/srv/gitlab/config/gitlab.rb文件来进一步设置GitLab-CE,比方更改external_url、设置SMTP邮件发送等。修改后,必要重启GitLab-CE容器以使设置见效:
- vim /sev/gitlab/config/gitlab.rb (gitlab.rb文件内容默认全是注释)
- #配置http协议所使用的访问地址,不加端口号默认为80,加端口号根据设置端口号添加,找到
- external_url 'http://192.168.1.155'
- #配置ssh协议所使用的访问地址和端口
- gitlab_rails['gitlab_ssh_host'] = '192.168.1.155'
- gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
- :wq #保存配置文件并退出
- #docker restart gitlab (重启gitlab容器)
复制代码 设置gitlab-ce注册邮箱
起首,确保你的邮箱服务(如QQ邮箱、163邮箱等)已经开启了SMTP服务,并且你能够获取到SMTP服务的授权码。这是因为出于安全考虑,大多数邮箱服务不答应在第三方应用中使用明文暗码。
设置GitLab CE的SMTP设置
接下来,必要编辑GitLab CE的设置文件(通常是/etc/gitlab/gitlab.rb),以设置SMTP相关的参数。以下是一个基于QQ邮箱的示例设置:
- vim /sev/gitlab/config/gitlab.rb
- gitlab_rails['smtp_enable'] = true
- gitlab_rails['smtp_address'] = "smtp.qq.com"
- gitlab_rails['smtp_port'] = 465 # 通常对于SMTPS使用465端口,对于STARTTLS使用587端
- gitlab_rails['smtp_user_name'] = "your_email@qq.com" # 你的邮箱地址
- gitlab_rails['smtp_password'] = "your_smtp_authorization_code" # 你的SMTP授权码
- gitlab_rails['smtp_domain'] = "qq.com"
- gitlab_rails['smtp_authentication'] = "login"
- gitlab_rails['smtp_enable_starttls_auto'] = true # 如果使用STARTTLS,则设置为true
- gitlab_rails['smtp_tls'] = true # 如果使用SMTPS(端口465),则设置为true
- gitlab_rails['gitlab_email_from'] = 'your_email@qq.com' # 发件人邮箱地址
- gitlab_rails['gitlab_email_display_name'] = 'GitLab CE' # 发件人显示名称
-
- 请注意,根据你的邮箱服务提供商和具体需求,上述参数可能需要进行相应的调整。
- 保存配置文件后,重启gitlab容器来确保配置生效
- docker restart gitlab
复制代码 测试SMTP设置
在GitLab CE的控制台中,你可以使用以下下令来测试SMTP设置是否成功:
- docker exec -it gitlab /bin/bash
- gitlab-rails console
- Notify.test_email('your_test_email@example.com', 'Subject', 'Body').deliver_now
复制代码 更换your_test_email@example.com、Subject和Body为你本身的测试邮箱地点、邮件主题和邮件内容。如果设置成功,你应该能在指定的测试邮箱中收到一封来自GitLab CE的测试邮件。
重置root账号暗码
- 进入gitlab 容器中
- docker exec -it gitlab /bin/bash
- 或者
- docker exec -it <容器id> /bin/bash
复制代码 设置修改root暗码
要重置您的root暗码,请起首使用root特权登录到服务器。使用以下下令启动Ruby on Rails控制台
#gitlab-rails console -e production
等待控制台加载完毕,有多种找到用户的方法,您可以搜索电子邮件或用户名
user = User.where(id: 1).first
如今,您可以更改暗码
user.password = ‘secret_pass’
user.password_confirmation = ‘secret_pass’
告急的是,您必须同时更改暗码和password_confirmation才气使其正常工作,别忘了保存更改
user.save!
exit
之后使用root就可以通过web端登岸。
二、gitlab使用
创建一个项目
第一次进入要输入新的root用户暗码,设置好之后确定就行

下面我们就可以新建一个项目了,点击Create a project

创建完成后:

- 用户使用
下载git.exe
双击git.exe安装git(一直点下一步,直到完成)
点击电脑桌面空白地方右键看到如下两行即安装成功
登录gitlab网页
url:http://192.168.1.155
填写账号暗码登录
- 设置ssh
- 1.打开本地git bash,使用如下命令生成ssh公钥和私钥对
- #ssh-keygen -t rsa -C 'xxx@xxx.com'
- 然后一路回车(-C 参数是你的邮箱地址)
- 2.然后输入命令:
- #cat ~/.ssh/id_rsa.pub
- 3.打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框
复制代码 - 从gitlab克隆代码
- 1).回到gitlab页面点击projects->your projects
- 2).选择一个需要克隆的项目,进入
- 3).点击按钮复制地址
- 4).新建一个文件夹,我在这里在我的电脑D盘下新建project文件夹
- 5).进入projects文件夹右键选择->Git Bash Here
- 6).设置用户名和邮箱
- #git config --global user.name "你的名字"
- #git config --global user.email "你的邮箱"
- 7).克隆项目
- #git clone ssh://git@192.168.1.155:222/coe/dotware-svr.git
- 8).查看projects文件夹,项目已经克隆下来了
复制代码 - 提交代码到gitlab
- 1).基于以上步骤,在克隆的项目文件夹下新增一个测试文件
- 2).查看同步状态
- 在项目文件夹下右键点击->Git Bash Here
- #git status
- 可以看到红色部分有需要提交的文件
- 3).提交代码
- #git add test.txt
- 然后输入以下命令提交并添加提交信息
- #git commit -m "message"
- 最后输出以下命令提交到gitlab
- #git push origin master
- 提交完成啦
- 再回到gitlab上看该项目就可以看到多了一个txt测试文件
复制代码- **docker中保存镜像,在另一台电脑加载(以gitlab镜像为例):**
- docker save -o gitlab.tar gitlab/gitlab-ce:latest #请替换为你实际使用的gitlab镜像和标签
- 将保存的镜像文件传输到另一台电脑,在另一台电脑上加载gitlab镜像
- docker load -i gitlab.tar
复制代码 参考:https://www.jianshu.com/p/080a962c35b6
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |