• 五、compose 部署 GitLab 应用


    1、我们部署的是sameersbn/docker-gitlab这个镜像。

    docker pull sameersbn/gitlab
    

    2、配置文件,我们不需要去run它,只需要先下载一个compose的配置文件。

    wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml
    

    打开这个文件,把它的内容按照你自己的需要修改,比如改改github登录的配置信息,邮件发送的配置信息等。

    比如我的配置如下:

    version: '2'
    
    services:
      redis:
        restart: always
        image: sameersbn/redis:4.0.9-1
        command:
        - --loglevel warning
        volumes:
        - /srv/docker/gitlab/redis:/var/lib/redis:Z
    
      postgresql:
        restart: always
        image: sameersbn/postgresql:10
        volumes:
        - /srv/docker/gitlab/postgresql:/var/lib/postgresql:Z
        environment:
        - DB_USER=gitlab
        - DB_PASS=password
        - DB_NAME=gitlabhq_production
        - DB_EXTENSION=pg_trgm
    
      gitlab:
        restart: always
        image: sameersbn/gitlab:11.8.2
        depends_on:
        - redis
        - postgresql
        ports:
        - "10080:80"  # 改为你想使用的本机端口
        - "10022:22"
        volumes:
        - /srv/docker/gitlab/gitlab:/home/git/data:Z
        environment:
        - DEBUG=false
    
        - DB_ADAPTER=postgresql
        - DB_HOST=postgresql
        - DB_PORT=5432
        - DB_USER=gitlab
        - DB_PASS=password
        - DB_NAME=gitlabhq_production
    
        - REDIS_HOST=redis
        - REDIS_PORT=6379
    
        - TZ=Asia/Kolkata  # 可以改为 Asia/Beijing,Rails 中不支持 Shanghai
        - GITLAB_TIMEZONE=Kolkata # 可以改为 Beijing,Rails 中不支持 Shanghai
    
        - GITLAB_HTTPS=false   # 如果需要使用 HTTPS,需要设为 true
        - SSL_SELF_SIGNED=false  # 如果需要使用自己签名的证书,需要设为 true
    
        - GITLAB_HOST=localhost  # 改为自己的域名,我的是 https://gitlab.kikakika.com
        - GITLAB_PORT=10080      # 改为自己的端口号
        - GITLAB_SSH_PORT=10022
        - GITLAB_RELATIVE_URL_ROOT=
        - GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string
        - GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string
        - GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string
    
        - GITLAB_ROOT_PASSWORD=
        - GITLAB_ROOT_EMAIL=
    
        - GITLAB_NOTIFY_ON_BROKEN_BUILDS=true
        - GITLAB_NOTIFY_PUSHER=false
    
        - GITLAB_EMAIL=notifications@example.com
        - GITLAB_EMAIL_REPLY_TO=noreply@example.com
        - GITLAB_INCOMING_EMAIL_ADDRESS=reply@example.com
    
        - GITLAB_BACKUP_SCHEDULE=daily
        - GITLAB_BACKUP_TIME=01:00
       # SMTP 用于发送邮件(忘记密码、通知等)
        - SMTP_ENABLED=false
        - SMTP_DOMAIN=www.example.com
        - SMTP_HOST=smtp.gmail.com
        - SMTP_PORT=587
        - SMTP_USER=mailer@example.com
        - SMTP_PASS=password
        - SMTP_STARTTLS=true
        - SMTP_AUTHENTICATION=login
        # IMAP 用于接收邮件
        - IMAP_ENABLED=false
        - IMAP_HOST=imap.gmail.com
        - IMAP_PORT=993
        - IMAP_USER=mailer@example.com
        - IMAP_PASS=password
        - IMAP_SSL=true
        - IMAP_STARTTLS=false
      # 用于通过 GitHub 等平台授权登录
        - OAUTH_ENABLED=false
        - OAUTH_AUTO_SIGN_IN_WITH_PROVIDER=
        - OAUTH_ALLOW_SSO=
        - OAUTH_BLOCK_AUTO_CREATED_USERS=true
        - OAUTH_AUTO_LINK_LDAP_USER=false
        - OAUTH_AUTO_LINK_SAML_USER=false
        - OAUTH_EXTERNAL_PROVIDERS=
    
        - OAUTH_CAS3_LABEL=cas3
        - OAUTH_CAS3_SERVER=
        - OAUTH_CAS3_DISABLE_SSL_VERIFICATION=false
        - OAUTH_CAS3_LOGIN_URL=/cas/login
        - OAUTH_CAS3_VALIDATE_URL=/cas/p3/serviceValidate
        - OAUTH_CAS3_LOGOUT_URL=/cas/logout
    
        - OAUTH_GOOGLE_API_KEY=
        - OAUTH_GOOGLE_APP_SECRET=
        - OAUTH_GOOGLE_RESTRICT_DOMAIN=
    
        - OAUTH_FACEBOOK_API_KEY=
        - OAUTH_FACEBOOK_APP_SECRET=
    
        - OAUTH_TWITTER_API_KEY=
        - OAUTH_TWITTER_APP_SECRET=
    
        - OAUTH_GITHUB_API_KEY=
        - OAUTH_GITHUB_APP_SECRET=
        - OAUTH_GITHUB_URL=
        - OAUTH_GITHUB_VERIFY_SSL=
    
        - OAUTH_GITLAB_API_KEY=
        - OAUTH_GITLAB_APP_SECRET=
    
        - OAUTH_BITBUCKET_API_KEY=
        - OAUTH_BITBUCKET_APP_SECRET=
    
        - OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL=
        - OAUTH_SAML_IDP_CERT_FINGERPRINT=
        - OAUTH_SAML_IDP_SSO_TARGET_URL=
        - OAUTH_SAML_ISSUER=
        - OAUTH_SAML_LABEL="Our SAML Provider"
        - OAUTH_SAML_NAME_IDENTIFIER_FORMAT=urn:oasis:names:tc:SAML:2.0:nameid-format:transient
        - OAUTH_SAML_GROUPS_ATTRIBUTE=
        - OAUTH_SAML_EXTERNAL_GROUPS=
        - OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL=
        - OAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME=
        - OAUTH_SAML_ATTRIBUTE_STATEMENTS_USERNAME=
        - OAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME=
        - OAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME=
    
        - OAUTH_CROWD_SERVER_URL=
        - OAUTH_CROWD_APP_NAME=
        - OAUTH_CROWD_APP_PASSWORD=
    
        - OAUTH_AUTH0_CLIENT_ID=
        - OAUTH_AUTH0_CLIENT_SECRET=
        - OAUTH_AUTH0_DOMAIN=
    
        - OAUTH_AZURE_API_KEY=
        - OAUTH_AZURE_API_SECRET=
        - OAUTH_AZURE_TENANT_ID=
    

    3、运行

    docker-compose up
    

    运行的时候会发现会下载其他的镜像,比如postgresql,还有redis。因为compose是允许不同的镜像容器互相链接的,从上面的配置文件中的内容也可以看出来。

    如果要以守护态运行,可以加-d参数。

     

    关闭后

    查看因搭建gitlab而生成的 docker-compost.yml 文件配置工具

     

    4、nginx配置

    这个镜像默认是会启用10080端口访问,我们可以用nginx反向代理到这个端口上。

    比如:gitlab.conf。

    upstream gitlab {
      server                    127.0.0.1:10080;
    }
    server {
      listen                    80;
      server_name               gitlab.rails365.net;
      server_tokens             off;
      root                      /dev/null;
      location / {
        proxy_read_timeout      300;
        proxy_connect_timeout   300;
        proxy_redirect          off;
        proxy_set_header        X-Forwarded-Proto $scheme;
        proxy_set_header        Host              $http_host;
        proxy_set_header        X-Real-IP         $remote_addr;
        proxy_set_header        X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header        X-Frame-Options   SAMEORIGIN;
        proxy_pass              http://gitlab;
      }
    }
    

      

  • 相关阅读:
    The connection to adb is down, and a severe error has occured
    《Head First 设计模式》学习笔记——适配器模式 + 外观模式
    CF1062F Upgrading Cities
    2018-8-10-win10-uwp-App-to-app-communication-应用通信
    2018-8-10-win10-uwp-App-to-app-communication-应用通信
    2019-8-31-dotnet-动态代理魔法书
    2019-8-31-dotnet-动态代理魔法书
    2019-8-31-PowerShell-使用-WMI-获取信息
    2019-8-31-PowerShell-使用-WMI-获取信息
    2018-11-2-win10-uwp-通过-win2d-画出笔迹
  • 原文地址:https://www.cnblogs.com/fger/p/10556205.html
Copyright © 2020-2023  润新知