Nova versão do GitLab 11.4 com revisão por pares de solicitações de mesclagem e sinalizadores de recursos

Temos o prazer de anunciar o lançamento do GitLab 11.4 com atualizações incríveis projetadas para ajudar as equipes de desenvolvimento a trabalharem juntas de forma mais eficiente. A maioria das equipes de desenvolvimento do devOps procura diminuir o seu ciclo de trabalho. Portanto, essas melhorias são bem-vindas que reduzem a perda de tempo e o trabalho desnecessário e, assim, permitem acelerar a entrega de aplicativos e obter melhores resultados nos negócios.




O lançamento do GitLab 11.4 melhora a eficiência da revisão de código usando ferramentas como revisões de solicitação de mesclagem e a árvore de arquivos na lista de diferenças . Uma nova função de sinalizadores de recurso é proposta (versão alfa). Os pipelines de DevOps automático e IC tornaram-se ainda mais eficientes, pois têm a capacidade de migrar bancos de dados PostgreSQL e implantações agendadas incrementais . O próprio Git se tornou ainda mais rápido com o advento do suporte ao protocolo Git v2 .


Revisão de código


A ferramenta Revisão de solicitação de mesclagem reduzirá o caos de vários comentários de código e solicitações de mesclagem. O recurso de comentários em lote permite que o revisor insira vários comentários a pedido de um código ou mesclagem, finalize-os e envie-os em um pacote. Agora, as pessoas que se inscrevem neste projeto podem rastrear alterações com mais eficiência.


Para que um código de alta qualidade seja fornecido, é necessário que as pessoas mais adequadas para essa finalidade revisem e aprovem as alterações. No release 11.3 , o conceito de "proprietário do código" foi introduzido. Agora, com base no arquivo CODEOWNERS que contém informações sobre os proprietários do código, o GitLab sugere aqueles indivíduos que devem revisar e aprovar uma solicitação de mesclagem específica. Assim, torna-se possível revisar e aprovar alterações rapidamente e a um custo mínimo. Também é útil para determinar a separação de tarefas e funções em uma equipe quando é necessário definir revisores para partes específicas do código.


Ao revisar solicitações de mesclagem, agora você pode visualizar a árvore de arquivos. Para os revisores, a navegação entre vários arquivos modificados é simplificada e acelerada, e eles podem deixar comentários e comentários.


Russell Levy, co-fundador e diretor técnico do Chorus.ai , explica como a revisão e a navegação na árvore de arquivos ajudam sua equipe:


Analisamos cuidadosamente o código e, geralmente, cada solicitação de mesclagem de tamanho médio tem de 10 a 20 comentários, além de várias rodadas de discussões. O uso da função de revisão reduz o caos e atrasos no processo de revisão.
Ao trabalhar com as maiores solicitações de mesclagem, o novo recurso "árvore de arquivos na lista de diferenças" acelera significativamente o processo de revisão, pois pode ser usado para navegar facilmente pelo código para entender as dependências.

Sinalizadores de função


Estamos introduzindo uma versão alfa dos "sinalizadores de recursos", um sistema de ativar / desativar recursos. As equipes de desenvolvimento agora podem praticar a entrega contínua de aplicativos, implantando novos recursos em um ambiente de produção em pequenos pacotes e, assim, reduzindo o risco de uma implantação completa.


DevOps automático e transportadores de CI / CD


Também fornecemos a todos os usuários a capacidade de usar .gitlab-ci.yml include arquivos adicionais. Agora ele está disponível não apenas na versão Starter, mas também no Core. Isso permite que todas as equipes usem essas práticas recomendadas e torna o gerenciamento de pipelines de CI / CD mais simples e mais eficientes.


Mudanças cosméticas agradáveis


Juntamente com a comunidade GitLab, muitas das grandes melhorias incluídas nesta versão foram adicionadas. Eles incluíam: um novo layout de perfil, acesso rápido ao status do perfil, destacando comentários de @mentions , novas ações rápidas e a capacidade de fechar épicos.


Continue lendo para descobrir mais sobre todos os ótimos recursos da versão GitLab 11.4.


A pessoa mais valiosa deste mês ( MVP ) - Luke Piccho .


Luke adicionou a capacidade de baixar códigos de recuperação 2FA como um arquivo , o que simplifica o backup. Os códigos de recuperação 2FA são necessários para recuperar o acesso à sua conta GitLab se você perder o acesso ao telefone ou a senha secreta única.


Obrigado, Luke, por sua contribuição!


Principais recursos adicionados ao GitLab 11.4


Analisar solicitações de mesclagem


Disponível nas versões: PREMIUM, ULTIMATE, SILVER, GOLD


A revisão de código em solicitações de mesclagem é um recurso poderoso no GitLab. Os membros da equipe participam de diálogos relacionados a linhas de código específicas na lista de diferenças e podem até resolver inconsistências. No entanto, se as diferenças em uma solicitação de mesclagem específica forem grandes, o processo pode se tornar muito confuso. Freqüentemente, os revisores podem precisar deixar 10 ou mais comentários em um único ciclo de conversa. E pode acontecer que o 9º ou o 10º comentário inviabilize comentários anteriores. O resultado final é que o autor da solicitação de mesclagem recebe muitas notificações e deve classificá-las uma por vez.


Nesta edição, apresentamos a capacidade de revisar solicitações de mesclagem. Isso permitirá que o revisor crie quantos comentários de código de rascunho desejar na solicitação de mesclagem, verifique se todos são consistentes e os envie de uma só vez. Como os comentários de rascunho são salvos no GitLab, o revisor pode até espalhar seu trabalho por várias sessões. Ele pode, por exemplo, começar a revisar em seu computador desktop durante o horário de trabalho e depois mais tarde à noite para formar uma revisão final em seu tablet doméstico. Assim que os comentários preliminares são enviados, eles assumem a forma de comentários individuais comuns. Isso permite que membros individuais da equipe revisem o código na ordem que for mais conveniente para eles, mas, ao mesmo tempo, mantenham compatibilidade com toda a equipe.


Em iterações futuras, aprimoraremos esse recurso fornecendo uma visualização antes do envio em lote e também combinaremos todas as notificações geradas atualmente com base nesses comentários em uma notificação em lote .




Criando e alternando sinalizadores de recursos para aplicativos (versão alfa)


Disponível em: PREMIUM, ULTIMATE, SILVER, GOLD


Esse recurso permite criar sinalizadores de função e gerenciar os recursos do seu software diretamente no produto. Basta criar um novo sinalizador de função, verificá-lo em seu programa usando instruções simples da API e você terá a oportunidade de controlar o comportamento do programa no ambiente de produção a partir do GitLab usando o sinalizador.


Os sinalizadores de função são um sistema para ativar e desativar a funcionalidade do seu aplicativo. Eles permitem que as equipes entreguem continuamente implantando novos componentes em um ambiente de produção em pequenos lotes, para que os testes possam ser controlados. O fornecimento de componentes é separado no tempo de seu lançamento pelo cliente. Isso ajuda a reduzir o risco e facilita o controle da inclusão e desativação de determinadas funções.


Observe que esta é uma função alfa que está sendo introduzida pela primeira vez; portanto, recomendamos que você verifique essa função e forneça feedback, e também informamos que sua implementação pode mudar em versões futuras.




Árvore de arquivos para visualizar diferenças na solicitação de mesclagem


Disponível em: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


A revisão de código é uma técnica importante usada em todos os projetos bem-sucedidos, mas é difícil entender exatamente o que mudou na lista não estruturada de diferenças. O GitLab agora tem uma árvore de arquivos pesquisável com a qual você pode ver quais arquivos foram alterados e alternar de um para o outro.


A árvore de arquivos, como diff-stats , mostra a estrutura e o tamanho das alterações. Com sua ajuda, é mais conveniente visualizar as alterações e passar de uma diferença para outra. Uma pesquisa em árvore permite que os revisores restrinjam a visualização de código a um subconjunto específico de arquivos, especificando um caminho ou tipo de arquivo específico. Isso simplifica a revisão por pares para aqueles que se concentram apenas em um subconjunto específico de arquivos de uma solicitação de mesclagem.


Anteriormente, a lista de arquivos modificados era acessível por meio de uma lista suspensa pesquisável, o que era mais conveniente para navegar para um arquivo específico.




Capacidade de oferecer proprietários de código como aprovadores de solicitação


Disponível em: STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD


Nem sempre é óbvio quem é a pessoa mais apropriada para revisar as alterações de código. Agora, ao criar ou editar uma solicitação de mesclagem, os proprietários do código são indicados como pessoas recomendadas para aprovar a solicitação. Isso simplifica a nomeação de uma pessoa adequada.


O suporte para identificação de proprietários de código foi introduzido na versão GitLab 11.3 . Em versões futuras, o envolvimento dos proprietários do código aumentará no fluxo de trabalho da solicitação de mesclagem. Para isso, servirão as funções de atribuição automática e os requisitos de aprovação do proprietário.




Atualizando a aparência de uma página de perfil do usuário


Disponível em: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


Independentemente do seu envolvimento no GitLab, sua atividade é uma fonte significativa de informações e um indicador de participação, que é exibido diretamente na sua página de perfil pessoal. Seu perfil pessoal deve fornecer uma idéia simples do que você está interessado e do que está trabalhando.


Nesta edição, apresentamos uma aparência atualizada da página de perfil, refletindo suas atividades através do cronograma de contribuição pessoal anteriormente familiar, mas agora reduzido. A página também mostra suas atividades recentes e os projetos pessoais mais significativos no GitLab.




Definindo e exibindo status no menu do usuário


Disponível em: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


No lançamento do GitLab 11.2, introduzimos primeiro mensagens de status pessoais que permitem exibir sua disponibilidade ou humor no momento, ou simplesmente colocar uma imagem do seu animal favorito.


Nesta versão, a configuração do status tornou-se ainda mais simples e suave. Quando você seleciona o novo item “Definir status” no menu do usuário, uma nova janela modal é exibida, com a qual você pode definir e redefinir seu status diretamente no contexto. Além disso, o status definido é exibido no menu do usuário, além do nome completo e nome de usuário, incluindo o emoticon e a mensagem instalados.




A capacidade de usar a opção Incluir no .gitlab-ci.yml passou do Starter para o Core


Disponível em: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


Temos o prazer de anunciar que, começando com esta versão, o uso do operador "include" nos .gitlab-ci.yml está disponível na versão Core. Isso ajudará a garantir a compatibilidade de modelos e outros recursos comuns para usuários de versões gratuitas e pagas do GitLab, além de proporcionar uma oportunidade para todos os usuários conduzirem o desenvolvimento usando um método avançado usando fragmentos de código reutilizáveis ​​nos pipelines de CI / CD.




Executando only / except tarefas para alterações em um caminho específico ou em um arquivo específico


Disponível em: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


A necessidade dessa função é frequentemente afirmada nas solicitações do usuário. Temos orgulho em oferecer a oportunidade de usar only / except regras nos arquivos .gitlab-ci.yml para as tarefas nas quais as alterações ocorrem em um arquivo específico ou ao longo de um caminho (global) específico.


Isso fornecerá controle adicional para usuários cujos repositórios contenham vários tipos de recursos (ativos) ou montagens. É garantido que, para os tipos de alterações que foram feitas, apenas as etapas correspondentes a elas serão executadas; reduzindo assim o tempo de execução geral do pipeline.




Implantações incrementais agendadas adicionadas ao pipeline do Auto DevOps


Disponível em: PREMIUM, ULTIMATE, SILVER, GOLD


Nas versões anteriores, já era possível configurar implantações incrementais no Auto DevOps e, nesta versão, adicionamos um parâmetro que permite configurar implantações incrementais em uma programação . A implantação continuará automaticamente em uma determinada linha do tempo até que ocorra um erro.




Suporte do Kubernetes RBAC para aplicativos desenvolvidos pelo GitLab


Disponível em: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


Quando você configura sua infraestrutura pela primeira vez ou se conecta a uma já existente, a segurança é de extrema importância. O controle de acesso baseado em função (RBAC) tornou-se disponível ao público como parte da versão 1.8 do Kubernetes, fornecendo controles mais granulares de acesso aos recursos do Kubernetes.
Agora, a integração do GitLab ao Kubernetes permite criar um cluster habilitado para RBAC no GKE ou conectar-se a um cluster habilitado para RBAC existente. Isso fornece maior segurança da infraestrutura.




Suporte RBAC no pipeline Auto DevOps


Disponível em: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


O Auto DevOps agora oferece suporte à interface com clusters Kubernetes habilitados para RBAC e à implantação de aplicativos neles.
O Controle de Acesso Baseado em Função (RBAC) é uma ferramenta importante que permite aos operadores garantir a confiabilidade, segurança e eficiência de seu cluster Kubernetes. O uso do Auto DevOps em combinação com um cluster habilitado para RBAC garante que seus aplicativos aproveitem a segurança aprimorada da infraestrutura.




Migração de banco de dados PostgreSQL e suporte a inicialização para Auto DevOps


Disponível em: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


Ao usar o DevOps automático para descobrir, criar, testar, implantar e monitorar automaticamente seu aplicativo, são adicionados recursos adicionais. A partir da versão 11.4, o Auto DevOps oferece a capacidade de inicializar ou migrar um banco de dados PostgreSQL para o seu projeto.


Basta definir uma variável de projeto para inicializar ou migrar seu banco de dados PostgreSQL, e o Auto DevOps faz o resto.




Outras melhorias no GitLab 11.4


Lista de marcadores nas quais as notificações do usuário estão inscritas


Disponível em: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


Os rótulos no GitLab são uma ferramenta muito poderosa, pois podem ser aplicados a problemas, solicitações de mesclagem e épicos. Quanto mais tags você usar, mais difícil será mantê-las.


Na edição anterior, adicionamos a capacidade de pesquisar por tags na página da lista de tags do projeto. Nesta edição, você pode pesquisar por tags, classificar tags por nome, data de criação e data de atualização e até ver uma lista de tags para as quais você tem notificações. Esse recurso está disponível nas páginas da lista de etiquetas para o grupo e o projeto.




Filtragem de solicitação de mesclagem WIP


Disponível em: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


As solicitações de mesclagem são uma parte importante do GitLab; eles fornecem aos membros da equipe uma colaboração transparente no desenvolvimento de código. Em particular, incentivamos as equipes a compartilharem seu trabalho desde o início. Nesse caso, é aconselhável usar a função WIP (trabalho em andamento) para indicar que o trabalho ativo ainda está sendo realizado nessa solicitação de fusão e, nesse estágio, ainda não deve ser executado.


Nesta versão, será mais fácil para os usuários distinguir entre solicitações de mesclagem WIP e não WIP, graças a um filtro especialmente projetado para essa finalidade, que é aplicável nas listas de solicitações de mesclagem, tanto no nível do grupo como no nível do projeto. Isso permite que os usuários se concentrem nas solicitações que ainda estão no estágio inicial do trabalho, e não naquelas que estão nos estágios finais da revisão antes da mesclagem.




@mentions claramente destacadas para o usuário atual


Disponível em: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


Muitos usuários geralmente participam de uma longa discussão conjunta de um problema ou solicitação de mesclagem, dificultando a visualização rápida de comentários direcionados especificamente a você.
A partir desta versão, os comentários ( @mentions ) enviados a você (ou seja, o usuário atual) são destacados em uma cor especial. Isso permite que você veja quais comentários estão relacionados especificamente a você e ajuda a focar rapidamente neles.




Inserir tabelas e links com o clique de um botão


Disponível em: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


O GitLab oferece suporte ao uso das ferramentas de marcação GitLab Flavored Markdown (GFM) na maioria dos casos, quando você trabalha no GitLab, no qual você precisa inserir texto. O GFM combina formatação poderosa com sintaxe simples. Em particular, usando o GFM, você pode criar tabelas. Isso costumava ser difícil, especialmente para tabelas grandes, pois era necessário inserir muitos caracteres ou inserir a tabela anterior para formatá-la de acordo com suas necessidades. O GFM também suporta a incorporação de URLs. Mas às vezes você pode esquecer a sintaxe específica.


A partir deste release, você pode clicar no botão da tabela no editor GFM e uma nova tabela será adicionada automaticamente. Em seguida, você pode inserir valores facilmente ou expandir a tabela e formatá-la conforme necessário. Você pode usar esse recurso em descrições e comentários em todo o GitLab.


Agora você pode clicar no botão de link e, ao mesmo tempo, o esqueleto da sintaxe do link da URL será criado para você. Você pode facilmente colocar um link lá e gravar seu nome.
Obrigado a George Tsiolis pela capacidade de inserir tabelas!
Obrigado a Jan Beckmann pela capacidade de inserir links de URL!




Inclusão de novos problemas no cronograma de trabalho


Disponível em: STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD


Os horários de trabalho ajudam as equipes a acompanhar o trabalho à medida que progride na fase de trabalho. Normalmente, a quantidade de trabalho é determinada e acordada antes do início da fase. Às vezes, porém, podem ocorrer exceções importantes a essa regra (por exemplo, um erro que causou uma emergência ou uma correção de segurança) e uma nova quantidade de trabalho deve ser adicionada ao cronograma na forma de novos problemas.


Nesta versão, novos problemas que surgem durante o trabalho e levam a um salto na linha agora serão levados em consideração nos planejamentos de tarefas.




Pesos estendidos em publicações da API


Disponível em: STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD


No release anterior, expandimos os valores de peso permitidos da publicação, que agora podem ser quase qualquer coisa se for maior que zero.


API , API.


" "


: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


( ). .


, / .


!





: ULTIMATE, GOLD


( ) GitLab. «», «» «», . , , , , .


( ) , , API, .





: CORE, STARTER, PREMIUM, ULTIMATE


, GitLab - GitLab.


, . , , .





: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


, GitLab. « » — , , .
!





: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


, , .


GitLab 11.4 , . , , .
!





: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


-. . , , , .


« ».


!





: CORE, STARTER, PREMIUM, ULTIMATE


, .




- Docker


: CORE, STARTER, PREMIUM, ULTIMATE


- , Docker. Docker , , #3605 .




Auto DevOps


: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


11.4 Auto DevOps (GitLab.com) () , , , . Auto DevOps , .


, Auto DevOps, .



: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


when .gitlab-ci.yml . , , , , , , , , .




Nurtch JupyterHub


: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


, , .


JupyterHub, Kubernetes GitLab, Rubix Nurtch, DevOps. , .





: ULTIMATE, GOLD


, . , . , , .


GitLab 11.4 . « >CI/CD> », .





: ULTIMATE, GOLD


GitLab 11.4 . , , .




Git v2


: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


, , . Git v2 — Git, , , ( ) (GitLab). .


. , (, git fetch origin master ) . , 100 000 , .. 10 .


Git v2 Git v2.18.0 . git config , git config --global protocol.version 2 . Git v2 GitLab.com SSH, .


Geo UX


: PREMIUM, ULTIMATE


Geo .


GitLab 11.4 Geo , . « », «» . «», .


UX !




Prometheus 2.0 Omnibus GitLab


: CORE, STARTER, PREMIUM, ULTIMATE


Omnibus GitLab Prometheus, . Prometheus 2.x, . . , - , 1.x.


Prometheus 2.4.2 GitLab 11.4 Omnibus, .


• 11.4 Prometheus 2.
• . gitlab-ctl prometheus-upgrade , Prometheus , , . Prometheus .
• GitLab 12.0 Prometheus 2.0 . Prometheus 1.0 .
Prometheus 2.4.2, .


Geo


: PREMIUM, ULTIMATE


Geo . Geo GitLab 11.4:




Sidekiq


, GitLab Geo .


Geo SSH Git -


: PREMIUM, ULTIMATE, SILVER, GOLD


— Geo , GitLab. 11.3 SSH git push .


, Geo URL-.




GitLab Runner 11.4


: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


GitLab Runner 11.4! GitLab Runner — , CI/CD GitLab.


:


JSON
-
-


gitlab_runner_jobs_total
,
Fix K8S


GitLab Runner: CHANGELOG



: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


GitLab 11.4:


Markdown

, ,


diff
« » Gitaly


Omnibus


: CORE, STARTER, PREMIUM, ULTIMATE


redis 3.2.1. , . 11.4 gitlab-ctl restart redis , , .
• GitLab 11.4 Mattermost 5.3 , Slack . , . , , .
git 2.18.1, libpng — 1.6.35.
gnupg 2.2.10, gpgme 1.10.0, libgcrypt 1.8.3, npth 1.6, libgpg-error 1.32 libassuan 2.5.1.
trusted_certs 0644 , 0755 .



Docker GitLab Runner


GitLab 11.4 ( 22 2018 ) Docker 1.12 (API 1.24) Docker . 11.4 .


: 22 2018 .


Prometheus 1.x Omnibus GitLab


GitLab 11.4 ( 22 2018 ) Prometheus 1.0 Omnibus GitLab. Prometheus 2.0, 1.0. 2.0 , , .


GitLab 12.0 Prometheus 2.0, . Prometheus 1.0 .


: GitLab 12.0



GitLab 11.3 11.4, . .


, , , .


GitLab.com 34 , .


GitLab Geo Geo .


, Omniauth . , . , omniauth, 11.4. , , , Omniauth .



, :


GitLab Community Edition
GitLab Enterprise Edition
GitLab Runner



GitLab, . GitLab .



.


GitLab


GitLab : (SaaS) .


: .


Core : , GitLab .
Starter : , , , .
Premium : , , 24/7.
Ultimate : , .


SaaSGitLab.com : , GitLab; .


Free : . Free , Gold .
Bronze : , .
Silver : , DevOps, .
Gold : CI/CD. Gold , .

Source: https://habr.com/ru/post/pt427755/


All Articles