admin

docker-compose安装配置gitlab-配置项目-用户-ssh免密登录

admin 高可用/自动化 2024-11-04 18224浏览 0


一.通过DockerHub拉取Gitlab镜像

docker pull gitlab/gitlab-ce:latest

二.创建目录

mkdir -p /opt/gitlab/{data,logs,config}  && cd /opt/gitlab/

三.编辑yml文件

vi gitlab.yml

version: '3'
services:
  gitlab:
    image: swr.cn-east-2.myhuaweicloud.com/helowin/gitlab-ce:latest
    hostname: 192.168.9.237
    restart: always
    privileged: true
    environment:
      GITLAB_OMNIBUS_CONFIG: | 
        #prometheus['enable'] = false
        #prometheus_monitoring['enable'] = false
        #nginx['enable'] = false
        #nginx['listen_address'] = ["*"]
        #nginx['listen_port'] = 80
        #nginx['client_max_body_size'] = "200m"
        #redis['enable'] = false
        #italy['enable'] = false
        #postgresql['enable'] = false
        #external_url 'http://git.helowin.group:8011'
        #letsencrypt['enable'] = false
        #nginx['redirect_http_to_https'] = false
        external_url 'http://192.168.9.237'
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
        # Add any other gitlab.rb configuration here, each on its own line
    ports:
      - '80:80'
      - '2222:22'
      - '443:443'
    volumes:
      - /opt/gitlab/config:/etc/gitlab
      - /opt/gitlab/logs:/var/log/gitlab
      - /opt/gitlab/data:/var/opt/gitlab

注:如上可选参数很多,可以根据自己需要自定义修改(对应配置文件,比如可以关闭pormetheus占用资源比较多,可以考虑关闭)


启动:

docker-compose -f gitlab.yml up -d


查看密码,密码可以通过 /etc/gitlab/initial_root_password文件查看

(docker ps 查看容器id,操作容器查看密码):

docker exec -it 768e487ba13d grep 'Password:' /etc/gitlab/initial_root_password

gm1.jpg


# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

用户登录:

g1.jpg

中文显示

a2.jpg

新建用户

gu.jpg

设置密码

gu1.jpg新建群组-邀请成员

z1.jpg






z2.jpg

z3.jpg


新建项目-邀请用户或组

y1.jpgy2.jpg


添加ssh公钥(linux生成公钥,然后复制这里)

ssh免密上传代码到gitlab仓库

1、开发者电脑生成秘钥对

ssh-keygen -t rsa #指定生成的秘钥类型为rsa


2、gitlab配置免密上传,将id_rsa.pub公钥复制到gitlab

复制公钥,即复制/~/.ssh/id_rsa.pub文件的内容,粘贴到gitlab的界面上保存,如下所示:

管理员登录gitlab-右上角-展开管理员头像-Edit profile -左侧SSh keys:key2.jpg


linux客户端简单操作gitlab

拉取镜像:git clone http://192.168.9.237/root/mhsj.git

image.png


新建一个2.txt文件 echo "test" > 2.txt

[root@192 mhsj]# git commit -m "add 2.txt"     

[root@192 mhsj]# git config --global user.name "herb"   (提示全局用户说明)

[root@192 mhsj]# git push   (推送)


错误汇总:

错误:

gitlab sshd: no hostkeys available -- exiting.

解决

[root@192 mhsj]# docker exec -it 58ddddcca088 /bin/bash

root@192:/# ssh-keygen -A

ssh-keygen: generating new host keys: DSA 

root@192:/# service ssh start

 * Starting OpenBSD Secure Shell server sshd                                                                    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Permissions 0777 for '/etc/ssh/ssh_host_rsa_key' are too open.

It is required that your private key files are NOT accessible by others.

This private key will be ignored.

cuo1.jpg

版权声明

本站《作品展示》类文章均为原创,转载必须注明出处,技术分享类文章部分来源于网络,版权归原作者所有,若侵权请留言。