Gitlab-ce安装及git使用

gitlab安装

docker-compose形式

version: '3.6'
services:
  web:
    image: 'registry.fine.com/kubernetes/gitlab/gitlab-ce:v1'
    restart: always
    hostname: 'registry.fine.com'
    environment:
      TZ: 'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.5.128' # 端口是镜像内80 http访问,若使用https需要配置证书,并在/etc/gitlab/gitlab.rb做配置
        # Add any other gitlab.rb configuration here, each on its own line
    ports:
      - '8880:80'
      - '6443:443'
      - '2222:22'
    volumes:
      - '/data/app_data/gitlab/config:/etc/gitlab'
      - '/data/app_data/gitlab/logs:/var/log/gitlab'
      - '/data/app_data/gitlab/data:/var/opt/gitlab'
    shm_size: '256m'

启动

docker-compose up -d

配置私有证书

#!/bin/bash
gitlab_cert=/data/app_data/gitlab/config/certs
openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650  -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=registry.fine.com"  -key ca.key -out ca.crt
openssl genrsa -out registry.fine.com.key 4096
openssl req -sha512 -new     -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=registry.fine.com"     -key registry.fine.com.key -out registry.fine.com.csr
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1=registry.fine.com
IP.1=192.168.5.128  # gitlab-ce 服务ip, 缺少gitlab-runner register将认证失败
EOF
openssl x509 -req -sha512 -days 3650     -extfile v3.ext     -CA ca.crt -CAkey ca.key -CAcreateserial     -in registry.fine.com.csr -out registry.fine.com.crt
openssl x509 -inform PEM -in registry.fine.com.crt -out registry.fine.com.cert
[ ! -d ${gitlab_cert} ] && mkdir -p ${gitlab_cert}
cp registry.fine.com.crt registry.fine.com.key registry.fine.com.cert  ${gitlab_cert}

配置gitlab.rb

  • vim /etc/gitlab/gitlab.rb(对应映射在外部的目录)在文件末尾加上
external_url"https://192.168.5.128" # 镜像内部端口443
nginx['redirect_http_to_https']= true
nginx['ssl_certificate']= "/etc/gitlab/certs/registry.fine.com.crt"
nginx['ssl_certificate_key']= "/etc/gitlab/certs/registry.fine.com.key"

重启gitlab-ce

docker-compose restart

git 使用

git跳过证书认证

export GIT_SSL_NO_VERIFY=true
git config --global http.sslVerify "false"

删除本地分支

git branch -d <branch-name>

删除远程分支

git push origin --delete <branch-name>

创建本地分支

git checkout -b <branch-name>

创建远程分支

git checkout -b <branch-name>
git checkout <branch-name>
git push -u origin  

git推送步骤

git init
git remote add origin <仓库URL>
git add .
git commit -m “提交说明”
git checkout -b <branch-name>
git checkout <branch-name>
git push -u origin  <branch-name>

gitlab-runner register使用

将生成的证书拷贝到gitlab-runner

cp /data/app_data/gitlab/config/certs/* /etc/gitlab-runner/certs

gitlab-runner注册带有私有证书gitlab

gitlab-runner register --tls-cert-file /etc/gitlab-runner/certs/registry.fine.com.cert --tls-ca-file /etc/gitlab-runner/certs/registry.fine.com.crt --tls-key-file /etc/gitlab-runner/certs/registry.fine.com.key
Docker可以用来轻松地在容器中运行GitLab CE(Community Edition),这是一个开源的Git服务,提供了代码托管、持续集成/持续部署等功能。下面是使用Docker安装GitLab CE的基本步骤: 1. **安装Docker**: 首先确保你的系统上已经安装了Docker。如果你的系统是Linux,可以使用包管理器如apt或yum;如果是Windows或Mac,可以从Docker官网下载并安装。 2. **获取GitLab CE镜像**: 使用Docker Hub上的官方镜像,你可以运行`docker pull gitlab/gitlab-ce`来下载最新的GitLab CE镜像。 3. **运行GitLab容器**: 创建一个Docker运行命令,指定所需的端口映射和数据卷,以保存配置和数据。例如: ``` docker run -d \ --name gitlab \ -p 80:80 -p 443:443 -p 2222:22 \ --restart always \ -v /path/to/data:/var/opt/gitlab \ -v /path/to/config:/etc/gitlab \ gitlab/gitlab-ce ``` 这里 `-d` 表示后台运行,`-p` 映射端口,`--restart always` 确保容器重启时继续运行,`-v` 挂载主机目录到容器中的路径。 4. **设置环境**: 容器启动后,可能需要访问GitLab Web界面进行初始化设置,包括数据库连接信息、邮件服务器配置等。首次启动时,可能还需要完成一些基础的配置步骤。 5. **安全和认证**: 为了保护GitLab,确保配置了适当的安全措施,包括HTTPS(通常映射的443端口)和密码策略。 6. **监控和日志**: 为持久监控和问题排查,你可能需要查看Docker容器的日志和使用第三方工具对GitLab进行性能监控。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值