docker搭建gitlab

1. 搭建gitlab

shell 复制代码
# 1. 获取镜像
docker pull gitlab/gitlab-ce:latest

# 2. 创建并启动容器
# 映射了2个端口,都是需要用到的
docker run -itd -p 9980:80 -p 9922:22 --restart always --privileged=true --name gitlab gitlab/gitlab-ce
# 进入容器
docker exec -it gitlab /bin/bash

# 3. 修改配置
vi /etc/gitlab/gitlab.rb
# 增加以下条配置,docker主机的ip是192.168.1.190,ssh端口号9922
external_url '192.168.1.190'
gitlab_rails['gitlab_ssh_host'] = '192.168.1.190'
gitlab_rails['gitlab_shell_ssh_port'] = 9922

#退出保存,使配置生效
gitlab-ctl reconfigure

# 继续修改
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
# 找到以下配置,并修改
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: 192.168.1.190
    port: 9980
    https: false


# 重启gitlab
gitlab-ctl restart

# 4. 设置root用户密码
gitlab-rails console
user = User.where(id:1).first
# 设置密码
user.password='12345678'
user.save

# 到此,配置ok

2. 配置ssh

  1. 生成ssh密钥
shell 复制代码
ssh-genkey -t ecdsa -C "邮箱地址"

然后一直确认就可以,建议不要用-t rsa,openssh不建议使用,好多问题。

会在~/.ssh/下生成两个文件:id_ecdsa、id_ecdsa.pub

  1. 创建用户

使用root用户登陆 http://192.168.1.190:9980,创建用户,账号邮箱需与生成ssh时的一致。

  1. 用户设置ssh
    使用新创建的用户登陆gitlab,进入 http://192.168.1.190:9980/-/profile/keys ,添加key,将 id_ecdsa.pub 中的内容填入即可。

3. 创建仓库并同步

git全局设置

shell 复制代码
git config --global user.name "名称"
git config --global user.email "邮箱"

git单项目设置(适合不同项目不同用户名称使用)

shell 复制代码
git config user.name "名称"
git config user.email "邮箱"

创建新仓库

shell 复制代码
git clone ssh://git@192.168.1.190:9922/android/rk3568-app.git
cd rk3568-app
git switch --create main
touch README.md
git add README.md
git commit -m "add README"
git push --set-upstream origin main

将文件夹push到空仓库

shell 复制代码
cd existing_folder
git init --initial-branch=main
git remote add origin ssh://git@192.168.1.190:9922/android/rk3568-app.git
git add .
git commit -m "Initial commit"
git push --set-upstream origin main

将文件夹push到已存在的仓库

shell 复制代码
cd existing_repo
git remote rename origin old-origin
git remote add origin ssh://git@192.168.1.190:9922/android/rk3568-app.git
git push --set-upstream origin --all
git push --set-upstream origin --tags

关联远程仓库

shell 复制代码
git init --initial-branch=main
git remote add origin ssh://git@192.168.1.190:9922/android/rk3568-app.git
git fetch

# 拉取远程库
git checkout -b main origin/main
git pull origin main
相关推荐
南猿北者25 分钟前
Docker Volume
运维·docker·容器
涔溪3 小时前
Docker简介
spring cloud·docker·eureka
内核程序员kevin4 小时前
在Linux环境下使用Docker打包和发布.NET程序并配合MySQL部署
linux·mysql·docker·.net
kayotin5 小时前
Wordpress博客配置2024
linux·mysql·docker
运维&陈同学6 小时前
【模块一】kubernetes容器编排进阶实战之k8s基础概念
运维·docker·云原生·容器·kubernetes·云计算
mit6.8247 小时前
[Docker#4] 镜像仓库 | 部分常用命令
linux·运维·docker·容器·架构
诡异森林。9 小时前
Docker--Docker是什么和对Docker的了解
运维·docker·容器
老大白菜9 小时前
goframe开发一个企业网站 验证码17
运维·docker·容器·golang·goframe
IsToRestart11 小时前
Docker 的常用命令有哪些?
java·docker·eureka
华纳云IDC服务商12 小时前
香港服务器怎么搭建docker加速器
运维·服务器·docker