GitLab安装

1. 单机http安装

采用docker-compose方式安装。gitlab版本11.8.0-ce.0。

1.1. docker-compose.yaml

version: '2'
services:
  gitlab:
    image: 10.11.20.110:5002/library/gitlab-ce:11.8.0-ce.0
    container_name: gitlab
    restart: always
    hostname: 10.11.20.48
    environment:
      TZ: 'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://10.11.20.48:8060'
        gitlab_rails['gitlab_shell_ssh_port'] = 2204
        nginx['listen_port'] = 80
    ports:
      - '8060:80'
      - '2204:22'
      - '8443:443'
    volumes:
      - ./data/gitlab/config:/etc/gitlab
      - ./data/gitlab/logs:/var/log/gitlab
      - ./data/gitlab/data:/var/opt/gitlab

1.2. 安装步骤

# 调整docker-compose.yaml中认证信息
hostname: 10.11.20.48
external_url 'http://10.11.20.48:8060'

# 调整docker-compose.yaml中映射端口
容器内http 默认端口 80
容器内ssh  默认端口 22
容器内https默认端口 443

# 启动服务
docker-compose -f docker-compose.yaml up -d

# 默认控制台端口为8060, 启动后可以访问页面验证
http://10.11.20.48:8060

# 重置默认密码为root@123_

【注意事项】设置Outbound requests
设置Outbound requests为:Allow requests to the local network from hooks and services。
否则无法通过DevOps平台创建webhook。
设置方法 如下:
1.访问 http://部署主机IP:8060/admin/application_settings/network
2.点击"Outbound requests"
3.点击"Allow requests to the local network from hooks and services"前复选框
4.点击"Save changes"

2. 单机https安装

https的安装是基于1.2.http安装后进行操作。

2.1. create_ssl.sh

#!binsh
 
# create self-signed server certificate
read -p Enter your hostname or IP   DOMAIN
 
echo Create server key...
openssl genrsa -des3 -out $DOMAIN.key 1024
 
echo Create server certificate signing request...
SUBJECT=C=USST=MarsL=iTranswarpO=iTranswarpOU=iTranswarpCN=$DOMAIN
openssl req -new -subj $SUBJECT -key $DOMAIN.key -out $DOMAIN.csr
 
echo Remove password...
mv $DOMAIN.key $DOMAIN.origin.key
openssl rsa -in $DOMAIN.origin.key -out $DOMAIN.key
 
echo Sign SSL certificate...
openssl x509 -req -days 3650 -in $DOMAIN.csr -signkey $DOMAIN.key -out $DOMAIN.crt

echo TODO
echo Copy $DOMAIN.crt to etcgitlabssl$DOMAIN.crt
echo Copy $DOMAIN.key to etcgitlabssl$DOMAIN.key
echo Add nginx configuration in etcgitlabgitlab.rb

2.2. 生成证书

# 将生成证书的脚本 create_ssl.sh 拷贝到容器内
docker cp create_ssl.sh (gitlab容器名):/

# 进入gitlab容器
docker exec -it (gitlab容器名) bash

# 生成证书
./create_ssl.sh (hostname)

# 创建证书存放目录
mkdir -p /etc/gitlab/ssl/

# 将证书文件移动到证书目录
mv /(hostname)* /etc/gitlab/ssl/

2.3. 修改gitlab.rb配置

修改/etc/gitlab/gitlab.rb的https配置。

11 ##! For more details on configuring external_url see:
12 ##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
13 external_url 'https://10.11.20.48:8443'
 
979 # nginx['enable'] = true
980 # nginx['client_max_body_size'] = '250m'
981 nginx['redirect_http_to_https'] = true
982 nginx['redirect_http_to_https_port'] = 80

993 nginx['ssl_certificate'] = "/etc/gitlab/ssl/10.11.20.48.crt"
994 nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/10.11.20.48.key"
996 # nginx['ssl_ciphers'] = "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256"
 
1020 ##! Docs: https://docs.gitlab.com/omnibus/settings/nginx.html#setting-the-nginx-listen-port
1021 nginx['listen_port'] = 443
 
1030 # nginx['proxy_connect_timeout'] = 300
1031 nginx['proxy_set_headers'] = {
1032 "Host" => "$http_host_with_default",
1033 "X-Real-IP" => "$remote_addr",
1034 "X-Forwarded-For" => "$proxy_add_x_forwarded_for",
1035 "X-Forwarded-Proto" => "https",
1036 "X-Forwarded-Ssl" => "on",
1037 "Upgrade" => "$http_upgrade",
1038 "Connection" => "$connection_upgrade"
1039 }
1040 # nginx['proxy_cache_path'] = 'proxy_cache keys_zone=gitlab:10m max_size=1g levels=1:2'

1045 # nginx['real_ip_recursive'] = nil
1046 nginx['custom_error_pages'] = {
1047 '404' => {
1048 'title' => 'Example title',
1049 'header' => 'Example header',
1050 'message' => 'Example message'
1051 }
1052 }

2.4. 重新加载GitLab配置

# 进入gitlab容器
docker exec -it (gitlab容器名) bash

# 执行加载配置命令
gitlab-ctl hup nginx
gitlab-ctl reconfigure

访问http://10.11.20.48:8060会自动跳转到https://10.11.20.48:8443

3. 高可用安装

不需要

4. 安装遇到问题

5. 参考文档

gitlab-https安装:https://blog.csdn.net/londa/article/details/92074403

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值