Ambiente para construir: a. linux-gitlab estruturas ambientais particulares

prefácio

Antes de aprender gitlab o ambiente de compilação, você primeiro precisa entender a relação entre seus três Git, gitlab, GitHub

Git é um sistema de controle de versão de código-fonte que permite acompanhar as mudanças em mudanças locais e empurre ou puxe de recursos remotos.
GitHub é um serviço gratuito disponível ao público, que exige todo o código (a menos que você tem uma conta paga) público. Qualquer um pode ver que você empurrou para o código GitHub e fornecer recomendações para melhorias.
Gitlab github é um serviço semelhante, as organizações podem usá-lo para fornecer repositório de gerenciamento git interno. É um sistema de gerenciamento de Git-repositório de auto-hospedado que pode manter a privacidade do código de utilizador, e pode facilmente implantar alterações no código.

Em termos simples, github é a maior do mundo plataforma gay de código aberto amigável, livre e aberto para o código. gitlab é de construir a plataforma de gerenciamento de código da empresa para a plataforma de gerenciamento de código proprietário.
Porque a empresa não quer que outras pessoas vejam, o que requer uma empresa para construir a plataforma gitlab para uso pessoal interno.

Preparando o Ambiente:

centos 7
gitlab 10

dependências de instalação

Adicionar gitlab Depois de alguns 10.x mais dependente, e que pretende iniciar o serviço sshd, então vamos adicionar uma dependência para iniciar sshd, firewall adicionar serviços

sudo yum install -y curl policycoreutils-python openssh-server openssh-clients 
sudo systemctl enable sshd 
sudo systemctl start sshd  

# 防火墙这2步可以不用管 # sudo firewall-cmd –permanent –add-service=http # sudo systemctl reload firewalld

geração sufixo é substituir sendmail convencional. Em comparação com o sendmail, velocidade sufixo. Desempenho e estabilidade são superiores.
Hoje, muitos dominante agora serviço de correio estão de fato usando postfix. Quando precisamos de um servidor leve é o e-mail, postfix é uma opção.

  • ação postfix falta gama são os usuários da Internet em geral. Tentando influenciar o sistema de e-mail sobre a maior parte da Internet, por isso é livre.
  • postfix sendmail cerca de três vezes mais rápido do que o desempenho. execução Postfix de um PC desktop pode enviar e receber milhões de mensagens por dia.
  • postfix é compatível com o sendmail, sendmail para que os usuários podem facilmente migrar para o postfix. Suporte Postfix / var [/ spool] / mail, / etc / aliases, NIS, e ~ / arquivo .forward.
  • postfix é projetado para ainda ser capaz de trabalhar sob carga pesada. Quando o número de crescimento de processamento de correio não vai seguir o processo de execução postfix acrescentou.
  • postfix por mais de um programa pequeno dúzia consistindo de cada programa é completado função específica.

configuração gitlab necessário para usar e-mail, assim instalar o postfix

yum -y install postfix

Após a instalação, iniciar postfix

systemctl começar postfix

启动 过程 中 如果 报错: Job para postfix.service falhou porque o processo de controle saiu com o código de erro. Consulte "systemctl estado postfix.service" e "journalctl -XE" para mais detalhes.

Solutions, /etc/postfix/main.cf aberta vim, modificar a seguinte dois, você pode fazer o backup antes da próxima modificação

# 修改 /etc/postfix/main.cf的设置  
  
inet_protocols = ipv4  
inet_interfaces = all  

Após a edição, começar de novo, o erro não vai, e está programado para iniciar a partir do postfix start

systemctl permitir postfix

Ver estado start-up, consulte Active: ativo (em execução) que foi devidamente iniciado

[Root @ yoyo ~] # systemctl estado postfix

Complete a seguinte operação

[root@yoyo ~]# yum -y install policycoreutils-python openssh-server openssh-clients
[root@yoyo ~]# systemctl enable sshd 
[root@yoyo ~]# systemctl start sshd

[root@yoyo ~]# yum -y install postfix
[root@yoyo ~]# systemctl start postfix Job for postfix.service failed because the control process exited with error code. See "systemctl status postfix.service" and "journalctl -xe" for details. [root@yoyo ~]# cp /etc/postfix/main.cf /etc/postfix/main.cf.bak [root@yoyo ~]# vim /etc/postfix/main.cf # 修改inet_protocols = ipv4 和inet_interfaces = all [root@yoyo ~]# systemctl start postfix [root@yoyo ~]# systemctl enable postfix [root@yoyo ~]# systemctl status postfix ● postfix.service - Postfix Mail Transport Agent Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2019-01-15 15:37:28 CST; 5min ago Process: 3171 ExecStart=/usr/sbin/postfix start (code=exited, status=0/SUCCESS) Process: 3167 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited, status=0/SUCCESS) Process: 3164 ExecStartPre=/usr/libexec/postfix/aliasesdb (code=exited, status=0/SUCCESS) Main PID: 3244 (master) CGroup: /system.slice/postfix.service ├─3244 /usr/libexec/postfix/master -w ├─3245 pickup -l -t unix -u └─3246 qmgr -l -t unix -u Jan 15 15:37:27 yoyo systemd[1]: Starting Postfix Mail Transport Agent... Jan 15 15:37:28 yoyo postfix/postfix-script[3242]: starting the Postfix mail system Jan 15 15:37:28 yoyo postfix/master[3244]: daemon started -- version 2.10.1, configuration /etc/postfix Jan 15 15:37:28 yoyo systemd[1]: Started Postfix Mail Transport Agent. [root@yoyo ~]# 

instalação gitlab

Download de centos 7 sistema: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7

Baixar a versão mais recente para encontrar gitlab-ce-11.6.3-ce.0.el7.x86_64.rpm

Faça o download e instalar o pacote rpm

[root@yoyo ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
[root@yoyo ~]# mkdir /usr/local/gitlab
[root@yoyo ~]# mv gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm /usr/local/gitlab/
[root@yoyo ~]# cd /usr/local/gitlab/
[root@yoyo gitlab]# rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm warning: gitlab-ce-11.6.3-ce.0.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f27eab47: NOKEY error: Failed dependencies: policycoreutils-python is needed by gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm # 如果出现上面这个报错就执行yum install policycoreutils-python [root@yoyo gitlab]# yum -y install policycoreutils-python [root@yoyo gitlab]# rpm -i gitlab-ce-11.6.3-ce.0.el7.x86_64.rpm warning: gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f27eab47: NOKEY It looks like GitLab has not been configured yet; skipping the upgrade script. *. *. *** *** ***** ***** .****** ******* ******** ******** ,,,,,,,,,***********,,,,,,,,, ,,,,,,,,,,,*********,,,,,,,,,,, .,,,,,,,,,,,*******,,,,,,,,,,,, ,,,,,,,,,*****,,,,,,,,,. ,,,,,,,****,,,,,, .,,,***,,,, ,*,. _______ __ __ __ / ____(_) /_/ / ____ _/ /_ / / __/ / __/ / / __ `/ __ \ / /_/ / / /_/ /___/ /_/ / /_/ / \____/_/\__/_____/\__,_/_.___/ Thank you for installing GitLab! GitLab was unable to detect a valid hostname for your instance. Please configure a URL for your GitLab instance by setting `external_url` configuration in /etc/gitlab/gitlab.rb file. Then, you can start your GitLab instance by running the following command: sudo gitlab-ctl reconfigure For a comprehensive list of configuration options please see the Omnibus GitLab readme https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

Depois de concluída a instalação, haverá um endereço oficial documento gitlab https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

Configurar e iniciar gitlab-ce

gitlab Depois de concluída a instalação, você precisa definir um endereço de acesso (ou nome de domínio) para abrir /etc/gitlab/gitlab.rb, o padrão external_url = 'http://git.example.com'modificar para seu próprio endereço IP:http://xxx.xx.xxx.xx

[Root @ yoyo conf] # vim /etc/gitlab/gitlab.rb

O external_url padrão original

## GitLab URL
##! URL on which GitLab will be reachable. ##! For more details on configuring external_url see: ##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab external_url 'http://git.example.com'

Url modificado para atender a sua própria definição, um porto de criar a sua própria, e não tem um conflito

## GitLab URL
##! URL on which GitLab will be reachable. ##! For more details on configuring external_url see: ##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab external_url 'http://47.104.x.x:8100'

Depois de editar: WQ salvar e sair, execute o seguinte comando para fazer o efeito de configuração take

[Root @ yoyo conf] # gitlab-CTL reconfigure

Iniciar gitlab

[Root @ yoyo conf] start # gitlab-CTL

[root@yoyo ~]# gitlab-ctl start
ok: run: gitaly: (pid 6638) 186s
ok: run: gitlab-monitor: (pid 6656) 186s ok: run: gitlab-workhorse: (pid 6659) 186s ok: run: logrotate: (pid 6703) 185s ok: run: nginx: (pid 6709) 185s ok: run: node-exporter: (pid 6715) 184s ok: run: postgres-exporter: (pid 6720) 184s ok: run: postgresql: (pid 7324) 44s ok: run: prometheus: (pid 6752) 171s ok: run: redis: (pid 6761) 171s ok: run: redis-exporter: (pid 6765) 170s ok: run: sidekiq: (pid 7299) 45s ok: run: unicorn: (pid 7476) 18s

Após o arranque, a entrada do navegador http://47.104.x.x:8100é gitlab login Início, se 502 aparece de página, é necessário modificar a porta padrão 8080

502 problema

Abrir gitlab Início surgem 502 questões

Esse problema ocorre principalmente porque a porta 8080 está ocupada, antes de instalar o tomcat porta padrão 8080, -ntpl netstat ver a situação da porta

[root@yoyo ~]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9100          0.0.0.0:* LISTEN 6715/node_exporter tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 801/java tcp 0 0 0.0.0.0:8060 0.0.0.0:* LISTEN 6709/nginx: master tcp 0 0 127.0.0.1:9121 0.0.0.0:* LISTEN 6765/redis_exporter tcp 0 0 127.0.0.1:9090 0.0.0.0:* LISTEN 6752/prometheus tcp 0 0 127.0.0.1:9187 0.0.0.0:* LISTEN 6720/postgres_expor tcp 0 0 0.0.0.0:8100 0.0.0.0:* LISTEN 6709/nginx: master tcp 0 0 127.0.0.1:8101 0.0.0.0:* LISTEN 7495/unicorn master tcp6 0 0 :::3306 :::* LISTEN 1370/mysqld 

Para matar 8080, 8080 correspondente à porta 801 é pip

[Root @ yoyo ~] # kill -9 801

Sob reiniciar o serviço, você pode acessar uma atualização de página

[Root @ yoyo ~] # gitlab-CTL restart

A fim de conflitos a evitar a porta 8080, você pode modificar a porta padrão sob unicórnio, /etc/gitlab/gitlab.rb aberto arquivo de configuração vim

Adicionar uma Unicorn [ 'porta'] = 8101, modificado como se segue

## GitLab URL
##! URL on which GitLab will be reachable. ##! For more details on configuring external_url see: ##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab external_url 'http://47.104.x.x:8100' unicorn['port'] = 8101

Depois de editar: wq Salvar e sair, execute o comando reconfigure gitlab-CTL, para que a configuração tenha efeito, e depois reiniciar o serviço

[root@yoyo conf]# gitlab-ctl reconfigure
[root@yoyo conf]# gitlab-ctl stop
[root@yoyo conf]# gitlab-ctl start

Em seguida, o browser será capaz de acessar a home page para ver gitlab Acesso

gitlab configuração Ver

configuração gitlab principalmente dois lugares no etc / gitlab / gitlab.rb

external_url 'http://47.104.x.x:8100'

unicorn['port'] = 8101

Ver mais informações de configuração, consulte os detalhes específicos em /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: 47.104.x.x  port: 8100  https: false

operações relacionadas

Início do serviço: gitlab-CTL começar a
visualizar o estado: estado gitlab-CTL
parou de serviço: parada gitlab-CTL
para reiniciar o serviço: gitlab-CTL restart
permitir a configuração tenha efeito: reconfigure gitlab-CTL

Acho que você gosta

Origin www.cnblogs.com/liushui0306/p/12455673.html
Recomendado
Clasificación