docker搭建gitlab

作者: FyK_21f8 | 来源:发表于2021-04-05 22:12 被阅读0次

    1 拉取docker镜像

    docker pull beginor/gitlab-ce
    

    查看下载好的镜像

    [root@ch01 /]# docker images
    REPOSITORY            TAG       IMAGE ID       CREATED        SIZE
    beginor/gitlab-ce       latest     5595d4ff803e   2 years ago     1.5GB
    

    2 准备gitlab宿主机的挂载目录

    # 可更换自己想要的路径
    mkdir -p /opt/gitlab-data/{config,data,logs}
    

    以上在本机建立的3个目录是为了gitlab容器通过挂载本机目录启动后可以映射配置文件,数据文件,日志文件到本机,然后后续就可以直接在本机查看和编辑了,不用再进容器操作

    3 启动gitlab(关键步骤)

    docker run -d --name gitlab  --restart always -p 8443:443 -p 8090:80 -p 8822:22 -v /opt/gitlab-data/config:/etc/gitlab -v /opt/gitlab-data/data:/var/opt/gitlab -v  /opt/gitlab-data/logs:/var/log/gitlab beginor/gitlab-ce:latest
    

    4 修改gitlab的host

    # 编辑配置文件
    vim /opt/gitlab-data/config/gitlab.rb
    

    external_url注释放开,并将之设置成你的ip,gitlab_rails['gitlab_ssh_host']改成你的ip,gitlab_rails['gitlab_shell_ssh_port']改成映射的22端口

    # 配置http协议所使用的访问地址及端口,不加端口号默认为80
    external_url 'http://192.168.211.135'
    
    # 配置ssh协议所使用的访问地址和端口
    gitlab_rails['gitlab_ssh_host'] = '192.168.211.135'
    # 此端口是run时22端口映射的8822端口
    gitlab_rails['gitlab_shell_ssh_port'] = 22
    

    重启

    # 重启gitlab容器
    $ docker restart gitlab
    

    4 配置gitlab
    访问192.168.211.135:8090,会看到gitlab的页面,设置一下密码,搞个gitlab123456玩一下。

    image.png

    4.1 创建群组
    点击扳手,进入配置,创建用户组。模拟一个新项目


    image.png

    设置一下名称,选择私有,点击最后的创建群组。


    image.png

    4.2 创建用户并添加用户到群组
    点击扳手,选择创建用户,设置一下相关信息


    image.png

    创建完后,点击编辑。修改一下用户的密码。


    image.png

    将刚才新建的用户添加到群组中。


    image.png

    4.3 创建项目
    点击扳手,新建项目。


    image.png

    在新建页面,选择刚才新建的群组,再设置一下项目名称,选择私有,创建。


    image.png

    可以看到,项目已经创建完成了。


    image.png

    4.4 设置一下SSH

    切换一下用户登录刚才创建的新用户。第一次登录会要求重置密码。


    image.png

    然后我们通过终端生成一下证书,在终端(cmd/git bash都可以吧)中输入ssh-keygen命令,一路enter,可以生成缺省的rsa方式的sshkey

    # 生成RSA加密的key
    ssh-keygen
    
    image.png

    查看生成的密钥

    # ~表示用户目录,比如我的windows就是C:\Users\Administrator,并复制其中的内容
    $ cat ~/.ssh/id_rsa.pub
    
    image.png

    复制红框内容到个人设置中的SSH密钥中并保存


    image.png

    生成密钥后,SSHkey的警告就消失了


    image.png

    4.5 拉取代码

    本地设置一下git的全局配置

    $ git config --global user.name "你的名字"
    $ git config --global user.email "你的邮箱"
    

    最好在项目里面初始化一点代码,比如写点README之类的,要不然后面push和pull会出点小问题。

    在项目里面复制代码路径。


    image.png

    gitclone 拉代码。


    image.png

    接下来的更新,推送可自行测试了,主要会出现账号权限问题,因为初始化的master分支是受保护的分支,默认是不能直接推送的,需要提交合并请求,也可以提高账号的权限,或者新建个dev之类的分支。

    5 从master分支创建新分支

    5.1 切换到master分支

    # 如果只有master就不搞了
    git checkout master
    

    5.2 在当前分支上创建新分支,命令为dev

    git checkout -b dev
    

    5.3 把dev分支push到远端

    git push origin dev
    

    5.4 拉取远端分支

    git pull
    

    这时候会提示没有跟踪信息,所以还要跟踪分支

    5.5 跟踪远端dev分支

    git branch --set-upstream-to=origin/dev
    

    5.6 再次pull代码

    git pull
    

    5.7 删除远端dev分支

    # 删除远端
    git push origin --delete dev
    
    # 删除本地
    git branch -d dev
    

    6 回滚代码
    6.1 查看历史版本

    # 会出现很多版本号
    git log
    

    6.2 回退到特定版本

    git reset --hard <版本号>
    

    6.3 推送到远端

    # git push 会报错,因为当前版本号比远端的版本号低, -f 强制提交
    git push -f
    

    ps:master分支是不能强推的

    相关文章

      网友评论

        本文标题:docker搭建gitlab

        本文链接:https://www.haomeiwen.com/subject/kbgfkltx.html