Ambiente de integração contínua (1) - instalação e uso do servidor de hospedagem de código Gitlab

1. Introdução ao GitlabInsira a descrição da imagem aqui

Site oficial: https://about.gitlab.com/

GitLab é um projeto de código aberto para um sistema de gerenciamento de armazém. Ele usa o Git como uma ferramenta de gerenciamento de código e constrói um serviço da web com base nisso. O GitLab, como o GitHub, é um trabalho de terceiros baseado em Git. É gratuito e de código aberto (baseado no protocolo MIT). Semelhante ao Github, você pode registrar usuários, enviar seu código, adicionar SSHKey e assim por diante. A diferença é que o GitLab pode ser implantado em seu próprio servidor e todas as informações, como o banco de dados, estão em suas mãos. É adequado para o desenvolvimento colaborativo dentro da equipe. Simplificando, o GitLab pode ser considerado uma versão pessoal do GitHub.

2. Instalação do Gitlab (instalação yum)

2.1 Dependências relacionadas à instalação

yum -y install policycoreutils openssh-server openssh-clients postfifix

2.2 Configure o sshd para iniciar na inicialização

Observação: esta etapa pode ser ignorada, obviamente os serviços ssh são iniciados automaticamente

systemctl enable sshd 

2.3 Configure o postfifix para iniciar automaticamente após a inicialização e inicie, o postfifix suporta a função de envio do gitlab

systemctl enable postfix.service && systemctl start postfix.service

2.4. Abra os serviços ssh e http, recarregue o firewall

Nota: Se você desligar o firewall, você não precisa fazer a configuração acima

firewall-cmd --add-service=ssh --permanent 
firewall-cmd --add-service=http --permanent
firewall-cmd --reload

2.5 Baixe o pacote gitlab e instale-o

cd /root/pkg
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.7.8-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-13.7.8-ce.0.el7.x86_64.rpm

ou

cat << EOF > /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
gpgcheck=0
enabled=1
EOF
yum makecache     #更新yum源 
yum -y install gitlab-ce          #安装最新版本的gitlab
yum list gitlab-ce --showduplicates | sort -r  #查看仓库中所有gitlab版本
yum -y intsall gitlab-ce-12.3.5-ce.0.el7       #安装指定版本的gitlab

2.6 Modificar a configuração do gitlab

1) Estrutura do diretório

/opt/gitlab     主目录
/etc/gitlab     配置文件目录
/var/log/gitlab 日志目录

2) Modifique o arquivo de configuração gitlab

vim /etc/gitlab/gitlab.rb

#gitlab基本配置:
#外部访问url(并非必须配置;经过编译后,自动将这个配置编译到nginx配置,nginx就无需配置了)
external_url 'http://10.99.200.110:8888'
nginx['listen_port'] = 8088

3) Configure o nome de domínio (se o arquivo de configuração acima /etc/gitlab/gitlab.rb foi modificado, ele pode ser ignorado)

vim /var/opt/gitlab/nginx/conf/gitlab-http.conf (se o serviço não foi reconfigurado, não existe esse arquivo de configuração)
a porta para acesso à rede externa. Se o servidor já tiver um servidor ocupando 80, então ele pode ser alterado aqui para outro

listen *:8088;
server_name gitlab.test.domain.com;
set $http_host_with_default "gitlab.test.domain.com:8088"

Nota complementar: como esta configuração nginx personalizada será regenerada ao compilar a configuração gitlab /etc/gitlab/gitlab.rb, desde que a configuração gitlab esteja bem configurada, o nginx acima não precisa ser personalizado.

2.7 Recarregue a configuração e inicie o gitlab

gitlab-ctl reconfigure
gitlab-ctl restart
相关命令
gitlab-ctl restart               #重新启动gitLab
gitlab-ctl start                 #启动全部服务
gitlab-ctl restart               #重启全部服务
gitlab-ctl stop                  #停止全部服务
gitlab-ctl restart nginx         #重启单个服务
gitlab-ctl status                #查看全部组件的状态
gitlab-ctl show-config           #验证配置文件
gitlab-ctl uninstall             #删除gitlab(保留数据)
gitlab-ctl cleanse               #删除所有数据,重新开始
gitlab-ctl tail <svc_name>       #查看服务的日志
gitlab-ctl tail                  #查看所有日志
gitlab-ctl tail nginx/gitlab_access.log     #查看nginx访问日志
gitlab-rake gitlab:check SANITIZE=true --trace  #检查gitlab
gitlab-rails console production      #进入控制台 ,可以修改root 的密码

2.8 Adicionar porta ao firewall

Nota: Se você desligar o firewall, você não precisa fazer a configuração acima

firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload

3. Instalação do Gitlab (instalação da versão docker)

3.1 instalação docker

Referência de instalação do Docker

3.2 instalação do gitlab

docker search gitlab-ce      #查找镜像
docker pull gitlab/gitlab-ce       #拉取镜像
mkdir -p /home/GitLab/{
    
    config,data,log}  #创建相关目录
chmod -R 755 /home/GitLab/{
    
    config,data,log}  #权限
docker run -itd  -h 192.168.16.119 -p 443:443 -p 80:80 -p 222:22 --name GitLab --restart always -v /home/GitLab/config:/etc/gitlab -v /home/GitLab/log:/var/log/gitlab -v /home/GitLab/data:/var/opt/gitlab gitlab/gitlab-ce   #启动容器

Descrição do parâmetro:

-d:后台运行
-p:将容器内部端口向外映射
–name:命名容器名称
-v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

Insira a descrição da imagem aqui
A configuração no passo de configuração da instalação do yum é a mesma, então não vou repetir aqui.Os arquivos de configuração foram persistidos e são locais.

3.3 Script de backup

Escreva um script de backup

#!/bin/bash
case $1 in
  start)
    docker exec  GitLab gitlab-rake gitlab:backup:create;;
esac

Insira a descrição da imagem aqui
Escrever tarefas cronometradas

echo '00 03 * * 6 /home/GitLab/gitlab_data_backup.sh start' >>  /var/spool/cton/root

4. Faça login na página inicial

Na primeira vez que você visitar o GitLab, será necessário esperar pacientemente. O 502 pode aparecer devido ao serviço incompleto; o sistema redirecionará a página para a página de redefinição de senha, você precisará inserir a senha da conta de administrador inicial e do administrador o nome do usuário é root, a senha inicial é 5iveL! fe (a senha inicial pode ser obtida no log). Depois de redefinir a senha, a nova senha é a que você acabou de inserir.

Redefinir a senha
imagem
Página de login A página
imagem
após o login
imagem

5. Precauções e solução de problemas anormais

  1. O login de instalação padrão requer a redefinição da senha do root. Você pode definir uma senha complexa e fazer login sozinho.
  2. O próprio Gitlab usa a porta 80. Se o servidor tiver 80 habilitado antes da instalação, um erro será relatado após a instalação. É necessário alterar a porta padrão do gitlab. Modifique o item de configuração external_url'http: // localhost: 8088 'no arquivo de configuração /etc/gitlab/gitlab.rb.
  3. Se você quiser apenas usar a porta 80, tudo bem. Se você alterar a porta, poderá ajustar o arquivo de configuração nginx para definir o proxy reverso nginx.
  4. Aqui você pode vincular seu próprio nome de domínio gitlab ou rede pública, IP de rede interna para substituir localhost para acesso à rede pública, dependendo da sua situação real. Por segurança, o gitlab geralmente é implantado na intranet. O local de implantação específico, decida de acordo com sua situação real. (Por motivos de segurança, não é recomendado definir o IP público para exposição. Você pode configurar a vinculação de IP para retorno ou outras regras para acesso de evitação de IP por meio do nginx.) O nome de domínio do endereço gitlab de teste deste site é: gitlab.test .domain.com.
  5. O próprio Unicorn usa a porta 8080, se você não usar a 8080 lá, não será necessário modificá-la mais tarde. Se 8080 estiver habilitado no servidor antes da instalação, um erro será relatado após a instalação. É necessário alterar a porta padrão do unicórnio: modifique o unicórnio ['listen'] = '127.0.0.1' unicórnio ['port'] = 3000 item de configuração no arquivo de configuração /etc/gitlab/gitlab.rb.
  6. Cada vez que você reconfigura, você precisa executar sudo gitlab-ctl reconfigure para torná-lo efetivo.
  7. Localização do log: / var / log / gitlab Você pode acessar o log de acesso e o log de erros, etc., para revisão de acesso e solução de problemas de exceção.
  8. Se gitlab-ctl reconfigure relatar um erro.

imagem
Tente este comando e execute gitlab-ctl reconfigure novamente

cat /etc/sysctl.conf /etc/sysctl.d/*.conf | sysctl -e -p -
  1. Quando o navegador visitar, ele reportará um erro 502 de vez em quando, e é necessário aumentar a memória virtual do servidor
dd if=/dev/zero of=/var/swap bs=1024 count=2048000 #增加2G左右SWAP
mkswap /var/swap #设置交换文件
swapon /var/swap #激活启用交换分区
echo "/var/swap swap swap defaults 0 0" >> /etc/fstab #加入开机自启

6. Uso do servidor de hospedagem de código Gitlab (adicionar grupo, criar usuário, criar projeto)

6.1 Criar grupo de projeto e projeto

Criar grupo de
Insira a descrição da imagem aqui
projeto Criar projeto
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

6.2 Criação e autorização de conta

Criar uma conta Depois que a
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
conta for criada, altere a senha,
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
adicione o usuário ao projeto e autorize
Insira a descrição da imagem aqui

6.3 Criar um novo armazém

git clone http://10.99.200.110:8888/test/deam-test.git
cd deam-test
touch README.mdgit add README.md
git commit -m "add README"
git push -u origin master

Insira a descrição da imagem aqui

6.4 Associar projetos locais ao gitlab

cd existing_folder  #existing_folder是已有的目录
git init
git remote add origin http://10.99.200.110:8888/test/web_deam.git
git add .
git commit -m "Initial commit"
git push -u origin master

Insira a descrição da imagem aquiInsira a descrição da imagem aqui
Está tudo aqui. Para obter mais informações, consulte a conta pública pessoal do WeChat ALL No Linux, vamos digitalizá-la!
Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/weixin_44729138/article/details/115020279
Recomendado
Clasificación