ProHoster > Blog > administração > GitLab 11.11: diversas responsabilidades para solicitações de mesclagem e melhorias para containers
GitLab 11.11: diversas responsabilidades para solicitações de mesclagem e melhorias para containers
Mais opções de colaboração e notificações adicionais
No GitLab, procuramos constantemente novas maneiras de melhorar a colaboração em todo o ciclo de vida do DevOps. Temos o prazer de anunciar que com este lançamento apoiamos várias pessoas responsáveis por uma solicitação de mesclagem! Este recurso está disponível no nível GitLab Starter e realmente incorpora nosso lema: “Todos podem contribuir”. Sabemos que uma única solicitação de mesclagem pode ter muitas pessoas trabalhando nela para garantir que tudo esteja em ordem, e agora você tem a capacidade de atribuir vários proprietários de solicitações de mesclagem!
Reduza custos com suporte para contêineres Docker no Windows e provisionamento em nível de instância de clusters Kubernetes
Amamos recipientes! Os contêineres consomem menos recursos do sistema em comparação com as máquinas virtuais e melhoram a portabilidade dos aplicativos. Desde o lançamento do GitLab 11.11, oferecemos suporte Executor de contêiner do Windows para GitLab Runner, então agora você pode usar contêineres Docker no Windows e aproveitar recursos avançados de orquestração e gerenciamento de pipeline.
GitLab Premium (somente instâncias autogerenciadas) agora oferece cache de proxy de dependência para imagens Docker. Essa adição irá acelerar a entrega porque agora você terá um proxy de cache para imagens Docker usadas com frequência.
Os usuários de instâncias autogerenciadas do GitLab agora podem provisionar Cluster Kubernetes no nível da instância, e todas as equipes e projetos na instância o usarão em suas implantações. Esta integração do GitLab com o Kubernetes criará automaticamente recursos específicos do projeto para maior segurança.
O funcionário mais valioso deste mês (MVP) - Kia Mae Somabes (Kia Mei Somabes)
Nesta versão, adicionamos a capacidade de baixar pastas individuais de repositórios, em vez de todo o conteúdo. Agora você pode baixar apenas alguns dos arquivos necessários. Obrigado, Kia Mae Somabes!
Principais características do GitLab 11.11
Executor de contêiner do Windows para GitLab Runner
No GitLab 11.11, adicionamos um novo executor ao GitLab Runner para tornar os contêineres Docker utilizáveis no Windows. Anteriormente, era necessário usar um shell para orquestrar contêineres Docker no Windows, mas agora você pode trabalhar diretamente com contêineres Docker no Windows, da mesma forma que no Linux. Os usuários da plataforma Microsoft agora têm mais opções para orquestração e gerenciamento de pipeline.
Esta atualização inclui suporte aprimorado ao PowerShell no GitLab CI/CD, bem como novas imagens de suporte para diferentes versões de contêineres do Windows. É claro que seus próprios executores do Windows podem ser usados com GitLab.com, mas ainda não são ferramentas disponíveis publicamente.
Proxy de dependência de armazenamento em cache para registro de contêiner
PREMIUM, FINAL
As equipes costumam usar contêineres em pipelines de construção, e armazenar em cache um proxy para imagens e pacotes usados com frequência do upstream é uma ótima maneira de acelerar os pipelines. Com uma cópia local das camadas necessárias, acessível por meio do novo proxy de cache, você pode trabalhar de forma mais eficiente com imagens comuns em seu ambiente.
Por enquanto, o proxy de contêiner está disponível apenas para instâncias autogerenciadas no servidor web Puma (em modo experimental).
Várias pessoas responsáveis pelas solicitações de mesclagem
STARTER, PREMIUM, ULTIMATE, BRONZE, PRATA, OURO
É bastante comum que várias pessoas trabalhem em um recurso em uma ramificação compartilhada e em uma solicitação de mesclagem, por exemplo, quando os desenvolvedores front-end e back-end trabalham juntos ou quando os desenvolvedores trabalham em pares, como no Extreme Programming.
No GitLab 11.11, você pode atribuir várias pessoas para solicitações de mesclagem. Tal como acontece com vários proprietários de tarefas, você pode usar listas, filtros, notificações e APIs.
Configuração do cluster Kubernetes no nível da instância
CORE, STARTER, PREMIUM, ULTIMATE
O modelo de segurança e provisionamento no Kubernetes está evoluindo para permitir que um grande número de clientes sejam atendidos por meio de um cluster compartilhado.
No GitLab 11.11, os usuários de instâncias autogerenciadas agora podem provisionar um cluster no nível da instância, e todas as equipes e projetos na instância o usarão para suas implantações. Esta integração do GitLab com o Kubernetes criará automaticamente recursos específicos do projeto para maior segurança.
Notificações de implantação no Slack e no Mattermost
Agora você pode configurar notificações automáticas sobre eventos de implantação no canal da equipe graças à integração com chats Slack и Mattermost, e sua equipe estará ciente de todos os eventos importantes.
Os usuários convidados de seus projetos agora podem visualizar os lançamentos publicados na página Lançamentos. Eles poderão baixar artefatos publicados, mas não poderão baixar o código-fonte ou ver detalhes do repositório, como tags ou commits.
Outras melhorias no GitLab 11.11
Gráficos de commit serializados para melhor desempenho
Muitas operações do Git exigem a passagem do gráfico de commit, como calcular a base de mesclagem ou listar ramificações que contêm um commit. Quanto mais commits, mais lentas serão essas operações porque a travessia requer o carregamento de cada objeto do disco para ler seus ponteiros.
No GitLab 11.11, habilitamos o recurso de gráfico de commit serializado introduzido em versões recentes do Git para calcular e armazenar proativamente essas informações. Os rastreamentos em grandes repositórios agora são muito mais rápidos. O gráfico de commit será criado automaticamente durante a próxima coleta de lixo do repositório.
Leia sobre como o gráfico de commit serializado foi criado em série de artigos de um dos autores deste artigo.
Minutos adicionais do CI Runner: agora disponíveis para planos gratuitos
GRÁTIS, BRONZE, PRATA, OURO
No mês passado, adicionamos a capacidade de comprar minutos adicionais do CI Runner, mas apenas para planos pagos do GitLab.com. Nesta versão, os minutos também podem ser adquiridos em planos gratuitos.
Fazendo upload de arquivos de diretório para repositórios
Dependendo do tipo e tamanho do projeto, o arquivo de todo o projeto pode demorar muito para ser baixado e nem sempre é necessário, principalmente no caso de grandes monorepositórios. No GitLab 11.11, você pode baixar um arquivo com o conteúdo do diretório atual, incluindo subdiretórios, para selecionar apenas as pastas necessárias.
A proposta de alterações facilita a colaboração em solicitações de mesclagem, eliminando a necessidade de copiar e colar para aceitar uma alteração proposta. No GitLab 11.11, tornamos esse processo ainda mais fácil, permitindo que as discussões sejam resolvidas automaticamente quando uma sugestão é aplicada.
Contador de tempo na barra lateral do quadro de tarefas
As barras de tarefas da barra lateral devem ter a mesma aparência nas visualizações Quadro e Tarefa. É por isso que o GitLab agora tem um rastreador de tempo na barra lateral do quadro de problemas. Basta ir ao quadro de tarefas, clicar em uma tarefa e uma barra lateral com um contador de tempo será aberta.
Informações sobre implantações na API Environments
Adicionamos a capacidade de consultar a API de ambientes para obter informações específicas do ambiente para saber qual commit está implantado no ambiente no momento. Isso tornará a automação e os relatórios mais fáceis para usuários de ambientes no GitLab.
Correspondências de variáveis negativas para regras de pipeline
Agora você pode verificar igualdade negativa ou correspondência de padrões (!= и !~) no arquivo .gitlab-ci.yml ao verificar os valores das variáveis de ambiente, portanto, o controle do comportamento dos pipelines tornou-se mais flexível.
Execute todos os trabalhos manuais em um estágio com um clique
No GitLab 11.11, os usuários que possuem muitos trabalhos manuais em seus estágios agora podem concluir todos esses trabalhos em um estágio clicando em um botão "Jogar tudo" (“Run All”) à direita do nome do estágio na visualização Pipelines.
Criando um arquivo diretamente de uma variável de ambiente
Variáveis de ambiente são frequentemente usadas para criar arquivos, especialmente para segredos que precisam ser protegidos e só são acessíveis em um pipeline de ambiente específico. Para fazer isso, você define o conteúdo da variável como o conteúdo do arquivo e cria um arquivo no trabalho que contém o valor. Com uma nova variável de ambiente como file isso pode ser feito em uma única etapa, mesmo sem modificação .gitlab-ci.yml.
Endpoint da API para informações de vulnerabilidade
FINAL, OURO
Agora você pode consultar a API do GitLab em busca de todas as vulnerabilidades identificadas em um projeto. Com esta API, você pode criar listas de vulnerabilidades legíveis por máquina, filtradas por tipo, confiança e gravidade.
Capacidade completa de verificação dinâmica para DAST
FINAL, OURO
No GitLab, você pode testar dinamicamente a segurança do aplicativo (Dynamic Application Security Testing, DAST) como parte do pipeline de CI. A partir desta versão, você pode selecionar a verificação dinâmica completa em vez da verificação passiva padrão. A verificação dinâmica completa protege contra mais vulnerabilidades.
Instalando o Prometheus em clusters de nível de grupo
Esta versão do GitLab apresenta a capacidade de anexar um cluster Kubernetes a um grupo inteiro. Também adicionamos a capacidade de instalar uma instância do Prometheus por cluster para facilitar o monitoramento de todos os projetos no cluster.
Saiba mais sobre como ignorar vulnerabilidades no Painel de segurança
FINAL, OURO
Os painéis de segurança do GitLab permitem que os administradores visualizem vulnerabilidades ignoradas. Para agilizar seu fluxo de trabalho, adicionamos a capacidade de visualizar detalhes ignorados diretamente em seu painel de segurança.
Crie gráficos de métricas personalizados em seu painel
PREMIUM, ULTIMATE, PRATA, OURO
Crie novos gráficos com métricas de desempenho personalizadas diretamente no painel de métricas. Os usuários agora podem criar, atualizar e excluir visualizações de métricas no painel clicando no botão "Adicionar métrica" (“Adicionar Métrica”) no canto superior direito da barra de ferramentas do painel.
Problemas de notificação agora são abertos como GitLab Alert Bot
PREMIUM, ULTIMATE, PRATA, OURO
Agora, os problemas abertos a partir de notificações terão o autor definido como GitLab Alert Bot, para que você possa ver imediatamente que o problema foi criado automaticamente a partir de uma notificação importante.
Salvar automaticamente descrições épicas no armazenamento local
FINAL, OURO
As descrições épicas não foram salvas no armazenamento local, portanto, as alterações foram perdidas, a menos que você as salvasse explicitamente ao alterar a descrição épica. O GitLab 11.11 introduziu a capacidade de salvar descrições épicas no armazenamento local. Isso significa que agora você pode facilmente voltar a alterar sua descrição épica se ocorrer um erro, se distrair ou sair acidentalmente do navegador.
Suporte de espelhamento do GitLab para Git LFS
STARTER, PREMIUM, ULTIMATE, BRONZE, PRATA, OURO
Usando o espelhamento, você pode replicar repositórios Git de um local para outro. Isso facilita o armazenamento de uma réplica de um repositório localizado em outro lugar no servidor GitLab. O GitLab agora suporta espelhamento de repositórios com Git LFS, portanto esse recurso está disponível até mesmo para repositórios com arquivos grandes, como texturas de jogos ou dados científicos.
Permissões de leitura e gravação do repositório para tokens de acesso pessoal
Muitos tokens de acesso pessoal têm permissão para alterar no nível api, mas o acesso total à API pode conceder muitos direitos a alguns usuários ou organizações.
Graças à contribuição da comunidade, os tokens de acesso pessoal agora só podem ter permissões de leitura e gravação nos repositórios do projeto, em vez de acesso mais profundo no nível da API às áreas confidenciais do GitLab, como configurações e associação.
Com a API GraphQL, os usuários podem especificar exatamente quais dados precisam e obter todos os dados necessários em poucas consultas. A partir desta versão, o GitLab oferece suporte à adição de informações básicas de grupo à API GraphQL.
O GitLab adora os desenvolvedores do Salesforce e, para apoiar esta comunidade, permitimos que os usuários façam login no GitLab com credenciais do Salesforce.com. As instâncias agora podem configurar o GitLab como um aplicativo conectado ao Salesforce para usar o Salesforce.com para fazer login no GitLab com um clique.
SAML SSO agora é necessário para acesso à web
PREMIUM, ULTIMATE, PRATA, OURO
Nós estendendo o requisito de logon único (SSO) no nível do grupo, introduzido na versão 11.8, com validação rigorosa dos recursos do grupo e do projeto para garantir que os usuários só possam obter acesso quando estiverem logados com SAML. Esta é uma camada adicional de controle de acesso para organizações que valorizam a segurança e usam GitLab.com via SAML SSO. Agora você pode tornar o SSO um requisito, sabendo que os usuários do seu grupo estão usando o SSO.
Filtrar por dados recentemente criados ou modificados para a API Epics
FINAL, OURO
Anteriormente, não era fácil consultar dados criados ou alterados recentemente usando a API epics do GitLab. Na versão 11.11 adicionamos filtros adicionais created_after, created_before, updated_after и updated_beforepara garantir consistência com a API de tarefas e encontrar rapidamente épicos modificados ou recém-criados.
Hoje lançamos o GitLab Runner 11.11! GitLab Runner é um projeto de código aberto usado para executar trabalhos de CI/CD e enviar os resultados de volta ao GitLab.
No GitLab 11.5 adicionamos este requisito à documentação geográfica: gitlab-ee#8053.
No GitLab 11.6sudo gitlab-rake gitlab:geo:check verifica se o armazenamento com hash está habilitado e todos os projetos são migrados. Cm. gitlab-ee#8289. Se você estiver usando Geo, execute esta verificação e migre o mais rápido possível.
No GitLab 11.8 um aviso permanentemente desativado será exibido na página Área administrativa › Geo › Nós, se as verificações acima não forem permitidas. gitlab-ee!8433.
No GitLab 12.0 Geo usará requisitos de armazenamento com hash. Cm. gitlab-ee#8690.
Data de exclusão: 22 junho 2019 cidade
GitLab Geo trará PG FDW para GitLab 12.0
Isso é necessário para o Geo Log Cursor, pois melhora significativamente o desempenho de algumas operações de sincronização. O desempenho das consultas de status do nó geográfico também foi melhorado. As consultas anteriores tiveram desempenho muito ruim em grandes projetos. Veja como configurar isso em Replicação de banco de dados geográfico. No GitLab 12.0 Geo exigirá PG FDW. Cm. gitlab-ee#11006.
Data de exclusão: 22 junho 2019 cidade
As opções do Sentry para relatórios e registros de bugs serão removidas da interface do usuário no GitLab 12.0
Essas opções serão removidas da interface do usuário no GitLab 12.0 e estarão disponíveis no arquivo gitlab.yml. Além disso, você pode definir um ambiente Sentry para diferenciar entre diversas implantações. Por exemplo, desenvolvimento, preparação e produção. Cm. gitlab-ce#49771.
Data de exclusão: 22 junho 2019 cidade
Limitando o número máximo de pipelines criados por envio
Anteriormente, o GitLab criava pipelines para HEAD cada ramo na submissão. Isso é conveniente para desenvolvedores que enviam várias alterações de uma vez (por exemplo, para um branch de recursos e para um branch develop).
Mas ao enviar um repositório grande com muitas ramificações ativas (por exemplo, movimentação, espelhamento ou ramificação), você não precisa criar um pipeline para cada ramificação. A partir do GitLab 11.10 estamos criando máximo de 4 pipelines ao enviar.
Data de exclusão: 22 Maio 2019 cidade
Caminhos de código legado do GitLab Runner desatualizados
A partir do Gitlab 11.9, o GitLab Runner usa novo método clonando/chamando o repositório. Atualmente, o GitLab Runner usará o método antigo se o novo não for compatível. Veja mais detalhes em esta tarefa.
No GitLab 11.0, alteramos a aparência da configuração do servidor de métricas para o GitLab Runner. metrics_serverserá removido em favor listen_address no GitLab 12.0. Veja mais detalhes em esta tarefa.
Esses caminhos não estarão disponíveis no GitLab 12.0. Como usuário, você não precisa alterar nada além de garantir que sua instância do GitLab esteja executando a versão 11.9+ ao atualizar para o GitLab Runner 12.0.
Data de exclusão: 22 junho 2019 cidade
Parâmetro obsoleto para recurso de ponto de entrada para GitLab Runner
No GitLab 12.0 mudaremos para o comportamento correto como se a configuração do recurso estivesse desabilitada. Veja mais detalhes em esta tarefa.
Data de exclusão: 22 junho 2019 cidade
Suporte obsoleto para distribuição Linux atingindo EOL para GitLab Runner
Algumas distribuições Linux nas quais o GitLab Runner pode ser instalado cumpriram seu propósito.
No GitLab 12.0, o GitLab Runner não distribuirá mais pacotes para essas distribuições Linux. Uma lista completa de distribuições que não são mais suportadas pode ser encontrada em nosso documentação. Obrigado, Javier Ardo (Javier Jardón), para o seu contribuição!
Data de exclusão: 22 junho 2019 cidade
Removendo comandos antigos do GitLab Runner Helper
No GitLab 12.0, o GitLab Runner é iniciado usando novos comandos. Isso se aplica apenas a usuários que substituir imagem auxiliar. Veja mais detalhes em esta tarefa.
Data de exclusão: 22 junho 2019 cidade
Removendo o mecanismo legado git clean do GitLab Runner
No GitLab Runner 11.10 nós proporcionou uma oportunidade configurar como o Runner executa um comando git clean. Além disso, a nova estratégia de limpeza elimina o uso git reset e coloca o comando git clean após a etapa de descarregamento.
Como esta mudança de comportamento pode afetar alguns usuários, preparamos um parâmetro FF_USE_LEGACY_GIT_CLEAN_STRATEGY. Se você definir o valor true, ele restaurará a estratégia de limpeza herdada. Mais sobre como usar parâmetros de função no GitLab Runner pode ser encontrado na documentação.
No GitLab Runner 12.0, removeremos o suporte para a estratégia de limpeza legada e a capacidade de restaurá-la usando um parâmetro de função. Ver em esta tarefa.
Quando introduzimos modelos de projeto em nível de equipe na versão 11.6, acidentalmente disponibilizamos esse recurso Premium/Silver para todos os planos.
Nós corrigindo esse bug na versão 11.11 e dando 3 meses adicionais para todos os usuários e instâncias abaixo do nível Silver/Premium.
A partir de 22 de agosto de 2019, os modelos de projetos em grupo estarão disponíveis apenas para planos Silver/Premium e superiores, conforme descrito na documentação.
Data de exclusão: 22 2019 de agosto
O suporte para trabalhos em lote do Windows foi descontinuado
No GitLab 13.0 (22 de junho de 2020), planejamos remover o suporte para trabalhos em lote de linha de comando do Windows no GitLab Runner (por exemplo, cmd.exe) em favor de suporte aprimorado para Windows PowerShell. Mais detalhes em esta tarefa.
Nossa visão para o DevOps empresarial agora se alinhará à posição da Microsoft de que o PowerShell é a melhor opção para automatizar aplicativos empresariais em ambientes Windows. Se você quiser continuar usando cmd.exe, esses comandos podem ser chamados do PowerShell, mas não ofereceremos suporte direto a trabalhos em lote do Windows devido a diversas inconsistências que resultam em alta manutenção e sobrecarga de desenvolvimento.
Data de exclusão: 22 setembro 2019 cidade
Requer Git 2.21.0 ou superior
A partir do GitLab 11.11, o Git 2.21.0 é necessário para ser executado. Omnibus GitLab já vem com Git 2.21.0, mas os usuários de instalações originais com versões anteriores do Git terão que atualizar.
Data de exclusão: 22 Maio 2019 cidade
Modelo de serviço legado do Kubernetes
No GitLab 12.0, planejamos nos afastar do modelo de serviço Kubernetes no nível da instância em favor da configuração de cluster em nível de instância introduzida no GitLab 11.11.
Todas as instâncias autogerenciadas que usam o modelo de serviço serão migradas para um cluster em nível de instância ao atualizar para o GitLab 12.0.
Data de exclusão: 22 junho 2019 cidade
Desativando a correspondência de rótulos app nos painéis de implantação do Kubernetes
No GitLab 12.0, planejamos deixar de combinar por rótulo de aplicativo no seletor de implantação do Kubernetes. No GitLab 11.10 introduzimos novo mecanismo de correspondência, que procura correspondências por app.example.com/app и app.example.com/envpara exibir implantações no painel.
Para que essas implantações apareçam em seus painéis de implantação, basta enviar uma nova implantação e o GitLab aplicará os novos rótulos.
Data de exclusão: 22 junho 2019 cidade
Os pacotes do GitLab 12.0 serão assinados com uma assinatura estendida