janeiro 24, 2021

Jovany Negócio

DevOps Engineer | Product Owner | Project Manager | Community Builder | DevOps Days Luanda Organizer

 

Primeiro, para quem não sabe, eu trabalho numa startup de tecnologia e educação. No mês passado, completei 2 anos nessa mesma Startup, então decidi partilhar com vocês a minha experiência sobre as vantagens e desvantagens de se trabalhar numa Startup, especialmente no nosso mercado angolano.

O que é uma Startup?

De acordo com o wikipedia, uma startup é uma "empresa" recém-criada ainda em fase de desenvolvimento que é normalmente de base tecnológica, mas pode aparecer em vários sectores.

Separei 3 vantagens e desvantagens de se trabalhar em uma startup. Sem mais delongas vamos ao que te trouxe aqui.

Vantagens.

1- Autonomia:

Geralmente nas empresas tradicionais você tem aquela obrigação de estar lá todos os dias das 8h às 16h ou 17h, cumprir a formalidade e aquela burocracia toda. Nas startups isso é diferente, você não é obrigado a isso.

Por exemplo, eu geralmente trabalho em casa, vou no escritório quando é necessário ou quando há uma reunião presencial. Me sinto muito mais autônomo quando acordo a qualquer momento e me visto como eu quiser para poder trabalhar em casa.

2- Redes de Contacto ou Networking:

Tem uma frase do Henrique Bastos que é meu instrutor que eu carrego comigo:

"As melhores oportunidades vêm das conexões humanas que você forma ao longo da sua carreira."

Trabalhar nesses ambientes te dão a oportunidade de você se conectar com pessoas de várias áreas. Eu particularmente, já tive a oportunidade de conhecer profissionais muito interessantes que hoje alguns acabaram por se tornar parceiros de alguns projectos que hoje tenho orgulho.

3- Aprender o tempo todo:

Se você gosta muito de aprender, estar sempre actualizado, entender como as coisas funcionam, sobre o que está por vir, quais são as novas tendências e tecnologias do mercado, isso pode ser uma boa vantagem para você. Nesse ecossistema das startup tudo pode acontecer, então você é obrigado a estar sempre de olhos abertos e bem mesmo.

Desvantagens

1- Apagar fogo a qualquer momento:

As startups começam com poucas pessoas, às vezes uma acaba por exercer 3 ou 4 funções diferentes, a dependência da empresa por você é muito maior. A tua carga horária de trabalho pode ser muito pesada no início, incluindo finais de semana e feriados em que você pode receber uma chamada para resolver um problema.

2- Falta de infraestrutura:

As Startups normalmente possuem pouco dinheiro, inclusive para investir em infraestruturas ou em outros recursos. Limitações dos recursos, sejam recursos humanos ou mão de obra, instalações ou ferramentas. Você precisará encontrar soluções viáveis dentro do orçamento existente e precisará estar aberto para executar diversas funções.

Soluções, hoje já existem em Luanda alguns coworking que oferecem espaços (embora pequenos), para que algumas Startups possam alugar e manter uma infraestrutura melhor.

3- Assumir altos riscos ou instabilidade:

Na verdade, isso não é uma desvantagem exclusivamente das startups, como diz o meu amigo Andrade Caetano: o mercado é agressivo, e ele está certo. O mercado de Luanda particularmente é muito "violento", Luanda é capital de Angola e a cidade mais populosa, basicamente é aqui onde todas as coisas do país acontecem, você tem sempre novos projectos, novas ideias (que podem não dar certo), novas empresas a fechar, algumas a demitir. A instabilidade no mercado das startups é muito maior do que nas outras empresas tradicionais.

Só para ter uma ideia, de acordo com o Ministério da Economia, a taxa de mortalidade anual das empresas em Angola ronda os 70%, ou seja, por cada 100 empresas criadas, no prazo de um ano, apenas 30 sobrevivem.

 

Pessoal, hoje eu quero falar sobre um assunto que acho muito interessante. Geralmente quando usamos o Git, temos aquela vontade de escrever poucos comandos porque os processos de add, comitar, fazer o pull são sempre os mesmos. Se você já desejou que os comandos do Git fossem mais curtos, então esse artigo é para você.

Hoje vamos falar sobre o “Git Alias/Apelidos ou Atalhos”. Vai ser um artigo simples e directo.

Mas antes deixe-me dar uma pequena definição sobre o Git.

Para quem não sabe, o Git é um software ou sistema de controle de versão distribuído, criado em 7 de abril de 2005 pelo Finlandês Linus Torvalds, o mesmo criador do Linux.

Neste artigo não vou ensinar como usar o Git, se você já está familiarizado com essa ferramenta, eu recomendo que você leia este meu artigo

Eu já disse várias vezes nos meus artigos, que eu sou uma pessoa muito preguiçosa, pois quando uma tarefa é chata ou muito repetitiva, eu tenho sempre aquela vontade de arranjar formas de automatizar tudo. Foi assim que conheci o Docker, Ansible e hoje eu vim mostrar o “Git Alias''.

Exemplo: quando eu estou naquele ciclo de desenvolvimento e quero fazer um commit, ao invés de executar o git commit -m “mensagem do commit” eu faço: git cm -m “nome da mensagem” ou para ver o estado do meu repositório local,  faço: git st ao invés de git status. Gostou ?

Então, como fazer isso? na verdade é muito simples.

$ git config --global alias.ck checkout

$ git config --global alias.br branch

$ git config --global alias.cm commit

$ git config --global alias.st status

Todos os alias serão gravados no arquivo .gitconfig, e com isso o alias será gravado em todos seus repositórios. Sem o parâmetro --global, o alias será aplicado no .gitconfig do seu repositório em que você estiver a trabalhar naquele momento.

Quer ver ?

A seguir vai abrir esse arquivo de configuração onde você pode ver todos os alias que você criou anteriormente e também podes criar outros a partir desse mesmo arquivo.

Indo além, você pode criar um alias para ver o seu último commit:

$ git config --global alias.last 'log -1 HEAD'

$ git last

Esse segundo comando ou alias, vai servir para ver o seu último commit do seu repositório ou projecto.

Você pode ver mais exemplos aqui na documentação oficial do Git. Forte Abraços!

 

Mais um novo artigo no Portal de T.I, depois de alguns dias sem novos artigos. Nos últimos dias eu estava muito apertado (ocupado), mudanças de computador, lançamento da nova plataforma da empresa, novos contratos, enfim. Mas estou de volta e hoje eu vou mostrar algumas plataformas de cursos que têm me ajudado bastante na minha carreira profissional nos últimos anos.

AVISO: Esse artigo não está a ser patrocinado por nenhuma dessas empresas, eu não vou receber nenhum valor monetário por esse artigo. Estou escrever porque: Eu quero e essas plataformas realmente me ajudaram muito.

Mês passado eu fiz um poste o no meu facebook em que eu dizia que deletei a minha conta em algumas plataformas de cursos como Udemy, Edx e Coursera para poder me focar em outras que achei melhor para mim. Seguem abaixo:

Alura
Para começar, aqui vai uma das plataforma que eu não fico sequer um dia sem acessar, Alura tem cursos de tecnologia e negócios digitais. Você pode estudar, praticar, discutir no fórum e mergulhar em uma comunidade.

A maior plataforma brasileira de cursos de tecnologia fundada pelos irmãos Silveira, Paulo e o Ricardo. São 1193 cursos, 100% em português. E novos lançamentos todas as semanas. Eu aprendo muito sobre infraestrutura (DevOps), programação (backend, frontend), gestão estratégica, marketing digital e vendas.

Alura também tem um canal no youtube e podcast onde convidam vários profissionais que falam sobre diferentes tipos de tecnologia principalmente aquela que são ensinadas dentro da plataforma.

Curiosidade: Eu já ouvi todos os podcast da Alura que é o “hipster.tech”, e a próxima meta é fazer todos os cursos relacionado a infraestrutura e DevOps.

BukaApp
“Conectamos pessoas que precisam aprender com pessoas que amam ensinar.”
A Buka é um startup angolana que tem como missão tornar o conhecimento acessível, divertido e recompensador para todos. A Buka tem lançado alguns cursos do seu novo programa “profissões do futuro” aonde você pode aprender sobre marketing digital, marketing estratégico, startups e o mercado angolano. Você pode fazer esses cursos que geralmente são lecionados por profissionais muito respeitado do mercado angolano. Os cursos actualmente são 100% online, pagos em kwanza.

Detalhe: Tem um curso gratuito sobre desenvolvimento de jogos 2D sem programação para crianças e adolescentes, esses curso é oferecido em parceria com a Unitel.


StartSe
“Somos uma escola de negócios para quem quer transformar seu futuro hoje.”
Há 4 anos, a StartSe vem ajudando os profissionais e as empresas a se manterem competitivos e relevantes nesta nova economia acelerada. Nesses novos tempos, os desafios são inúmeros e inusitados. Ninguém parece estar imune. Independente da sua profissão ou sector da experiência anterior ou recursos financeiros disponíveis, todos nós estamos a ser desafiados a nos adaptar, reaprender rápido, logo e continuamente. É por isso que acreditamos no aprendizado contínuo e a busca por desenvolver novas habilidades durante a vida toda. 

Digital Innovation One
A DIO oferece cursos e bootcamps gratuitos e também pagos sobre diversos assuntos da área de T.I, além de lives e desafios dentro da própria plataforma.

O primeiro curso que que fiz nessa plataforma foi sobre mentalidade empreendedora e trabalho remoto ou o famoso “home office”. O site também oferece vagas de empregos de várias empresas do Brasil, após se cadastrar você irá preencher o seu perfil como se tivesse a montar um curriculum.

Curiosidade: Nesse site, se você convidar alguém para se cadastrar, fazer curso, e se um dia essa pessoa for contratado você ganha uma comissão (bônus) de 350 reais. #ficadica

Python Pro
Python Pro é uma plataforma que oferece um bootcamp completo sobre Python e Django, o instrutor Renzo Nuccitelli tem muita experiência em programação e mercado de T.I.
É apaixonado por dar aulas e ajudar programadores iniciantes a entrarem no mercado de trabalho.
Os três primeiros módulos do BootCamp você pode acessar gratuitamente onde você aprende:

1 - Python Birds: Nesse primeiro módulo o objetivo é introduzir programação Procedural e Orientação a Objetos desenvolvendo um jogo em Python.
2 - PyTools: Aqui você aprende um conjunto de ferramentas básicas, mas poderosas que Pythonistas experientes usam no dia-a-dia, como o framework pytest e outras ferramentas como git e travis-ci.
3 - Django: Alunos com conhecimento intermediário de Python interessados em aprender sobre desenvolvimento de aplicações web com o framework Django.

Já a partir do quarto módulo que é sobre Entrevistas Técnicas você aprende sobre como ocorre o processo seletivo de empresas estrangeiras e as questões técnicas que são feitas durante a entrevista técnica.
Detalhe: O Renzo foi professor de programação por 5 anos na FATEC e ainda trabalhou durante 2 anos como engenheiro de qualidade na Red Hat, ou seja, o brada entende mesmo do assunto.

Henriquebastos.net

Henrique Bastos é instrutor, palestrante, desenvolvedor e consultor com experiência internacional. Apaixonado por programação há mais de 20 anos, é especialista em Python, Django e Métodos Ágeis, membro da Django Software Foundation e da Python Software Foundation.

Eu conheci o Henrique em 2016 pelo Youtube nas palestras da Python Brasil, a forma dele de abordar sobre o mercado de trabalho, carreira de programador, desenvolvimento de software e autonomia, chamaram-me muita atenção na época.

Antes a plataforma era “Welcome to The Django” pois o curso era voltado a programação com Python e Django, mas não se engane o curso vai muito além da programação: Tem um capítulo inteiro onde ele aborda sobre os 8 pilares para alcançar a autonomia na sua vida. Minha forma de encarar a área de tecnologia nunca foi a mesma depois de lhe ouvir a falar sobre autonomia.

Hoje o Henrique se orgulha de já ter capacitado mais de 4 mil programadores (incluindo a mim) e se concentra em compartilhar uma melhor forma de programar para ajudar as pessoas a terem mais autonomia em suas vidas. A didáctica do Henrique Bastos me deixa encantado é sério!

Detalhe: Se você não é da área de tecnologia eu recomendo a fazer pelo menos o curso sobre autonomia, serve para qualquer pessoa que quer se conhecer como um agente na sociedade e o mundoque lhe rodeia até hoje eu levo as lições do Henrique comigo.

Udacity

Udacity é uma organização educacional com fins lucrativos fundada em 2011 por Sebastian Thrun, David Stavens, e Mike Sokolsky. Nasceu de um experimento da Universidade de Stanford, em que Sebastian Thrun e Peter Norvig ofereceram o curso online de "Introdução à Inteligência Artificial" para qualquer pessoa, gratuitamente. Hoje conta com mais de 11 milhões de usuários.

Eles têm uma metodologia muito amigáve.l Você entende muito fácil, tem cursos que as aulas são lecionadas pelos engenheiros do Google. Não é atoa que alguns brasileiros dizem que a Udacity é o Silicon Valley dos cursos online.

Eu não vou entrar em detalhes sobre como funciona a Udacity para isso, eu vou deixar aqui como recomendação um artigo muito bom sobre essa plataforma incrível 

Rock University

Essa é uma plataforma de cursos sobre marketing digital e vendas da Rock Content. Para quem não sabe, a Rock Content é uma empresa brasileira líder global de Marketing de Conteúdo.

A maioria dos cursos lá são pagos, mas tem muito conteúdo gratuito sobre marketing para quem está começar nessa área ou querer entender um pouco sobre essa profissão que não para de crescer.

Curiosidade: Recentemente terminei um curso de Copywriting. Muito fixe!
Essa foi mais uma dica da semana, espero que tenham gostado, muito obrigado pela sua atenção, até a próxima semana.

Ah, e não se esqueça de dar seu feedback se você conhece alguma plataforma boa ou compartilhar essas dicas com seus colegas e amigos.
Estou em todas as redes sociais caso queira conversar comigo. ;)

 

Mais um novo artigo no portal! Hoje, conversei sobre diferentes fluxos de trabalho de trabalho para gerir como filiais ou projectos, durante o processo de desenvolvimento de software com nosso Git.

Esse artigo é parte do pressuposto de que, você já tem um conhecimento básico ou intermediário do Git, não me fornece informações detalhadas sobre os comandos do Git ou nas suas funcionalidades mais avançadas, pois esse artigo é sobre os diferentes fluxos de trabalho para trabalhar com o Git.

Primeiro, o que é o Git? 

O Git é um software ou sistema de controle de versão (Sistema de Controle de Versão) distribuído criado em 7 de abril de 2005 pelo Finlandês Linus Torvalds, ou mesmo o criador do Linux.

Houve uma discussão sobre os prós e contras do Git em comparação com os sistemas de controle centralizado, como:

O Concurrent Versions System (CVS) , desenvolvido em 23 de junho de 1986 pelo holandês Dick Grune.

O Subversion ou Apache O Subversion também conhecido como (SVN) desenvolvido pelo Apache Software Foundation.

Eu particularmente nunca usei nenhum dos dois projetos, pois sempre usei o Git para gerenciá-los. 

Prefiro ou Git comparando com outras ferramentas de controle de versão disponíveis. O Git hoje é o maior sistema de controle de versão, porque mudou muito a maneira como os desenvolvedores pensam em mesclar e ramificam os códigos de forma muito simples.

Os clássicos Version Control System como Concurrent Versions System e Subversion, a fusão e ramificação sempre foram muito difíceis, e esse é um dos motivos pelos quais o Git é muito popular hoje entre os desenvolvedores de software, pois é muito simples fazer esses trabalhos.

Um pequeno exemplo sobre o funcionamento básico do Git:

Se você ainda não está muito familiarizado com o Git ou tem alguma dúvida, deixa uma dúvida ou sugestão nos comentários para que possa escrever um próximo artigo apenas sobre o Git. Ou me mande uma mensagem estou em todas as redes sociais.

Agora vamos ao principal objectivo deste artigo: Explicar sobre os 3 diferentes fluxos de trabalho, vamos começar pelo mais “Popular”.

O que é o Git Flow?

Quando estamos trabalhando em pequenos projectos, é comum não termos um controle sobre o fluxo de desenvolvimento com Git nos nossos repositórios, porém, a complexidade do projecto e da equipe, vai recuperar coisas que antes eram simples e se tornam cada vez mais difíceis.

O Git Flow foi desenvolvido em 2010 por um engenheiro de software holandês Vincent Driessen. É um modelo ou conjunto de diretrizes que os equipamentos de desenvolvimento podem adotar para organizar como ramificações ou versão do seu código.

O Git Flow são diretrizes que você não precisa seguir todas elas. Na verdade, ou se eu recomendo que haja uma adaptação de acordo com uma equipe de desenvolvimento, isso indica 3 fluxos de trabalho diferentes para que sua equipe possa experimentar e encontrar o melhor que se enquadra para o seu contexto. Na empresa onde eu trabalhei, o GitHub Flow foi o que mais mostrou efeito para trabalhar em conjunto, já falei mais sobre frente.

Principais funcionalidades do Git Flow:

O Git Flow tem 5 funcionalidades dos quais, duas principais que são mestres e desenvolvem, outras três auxiliares. Que vamos conhecer melhor:

1-Master: está aqui onde temos todo o código de produção, todas as novas funcionalidades que estamos desenvolvendo, em algum momento será mesclado ou associado a essa filial mestre.

2-Develop : contém o código do nosso próximo deploy, isso significa que, como recursos ou funcionalidades, será finalizado e será adicionado nesta ramificação para posteriormente passar por mais uma etapa antes de ser associado a um mestre.

3-Feature branches: são branches para o desenvolvimento de uma funcionalidade específica, eles devem ter o nome iniciado por feature, por exemplo: feature / payment-system. É importante saber que essas ramificações de recurso são e são criadas sempre a partir do desenvolvimento da ramificação.

4-Release branches : tem uma confiança maior no desenvolvimento de uma filial e se encontra no nível de preparação para se juntar a um mestre e no desenvolvimento (caso alguma coisa tenha sido modificada na ramificação em questão.

5- Hotfix: é um ramo usado para corrigir erros encontrados no sistema. Elas são criadas a partir do mestre e não as alterações finais da filial (hotfix) devem ser juntadas tanto ao mestre da filial quanto ao desenvolvimento da filial.

Como você pode ver no exemplo acima, temos uma filial principal (com bolinhas azuis) como uma filial de produção. Também desenvolvemos uma ramificação (com bolinhas amarelas) onde cada mescla de desenvolvedor ou faz a mesclagem de suas mudanças de chegada das filiais apresentam e hotfixes.

As vezes criamos uma filial de lançamentos (lançamento) para implementar novas funcionalidades em produção. Se você sair de um bug no ramo de lançamento ou lançamento, correcções e produzido à medida que o ramo for alterado. Se você tiver um bug crítico ou hotfix em produção, crie um novo hotfix-branch, corrija um bug e um músculo ou faça uma mesclagem na ramificação de produção que é (mestre).

Esse fluxo de desenvolvimento é mais usado quando dificilmente lança novas funcionalidades no nosso sistema ou quando tem muitas opções em produção.

Fluxo do GitHub

Na minha opinião, esse é o mais simples e se tornou eficaz para o nosso contexto, nós usamos nos nossos projectos.

O Fluxo GitHub tem 6 principais tópicos que você precisa entender antes:

1- Criar uma filial:

O próprio GitHub na sua solicitação oficial solicita que crie uma filial quando você estiver trabalhando em um projecto, terá vários recursos ou ideias diferentes em andamento a qualquer momento, alguns dos quais estão prontos para serem usados ​​e outros que não.

Como ramos existem para ajudar a gerir esse fluxo de trabalho como você já sabe.

Ao criar uma filial no seu projecto, você cria um ambiente em que pode experimentar novas funcionalidades. Como as alterações feitas em uma outra filial não afectam uma entidade principal da filial, portanto, você pode experimentar e confirmar como alterações seguras de sua filial não serão mescladas até que estejam prontas para serem revisadas por alguém com quem você está colaborando ou alguém da sua equipe. 

Por esse motivo, é extremamente importante que sua nova filial seja criada para o principal da filial e trabalhe em uma funcionalidade ou correcção. O nome de sua ramificação deve ser descrito (por exemplo, autenticação de refator ou chave de cache de conteúdo do usuário), para outras pessoas que podem ver ou que estão sendo executadas.

2- Adicionando compromete-se:

Depois que sua ramificação para criada, é hora de começar a fazer alterações. Sempre que você adiciona, edita ou exclui um arquivo, você deve fazer um "commit" e adicionar uma filial. Esse processo de adição de "confirma" acompanha o seu progresso enquanto você trabalha em uma ramificação de funcionalidades. Os "commits" também podem criar um histórico transparente do seu trabalho, que outras pessoas podem seguir para entender o que você fez e por quê. Cada "commit" possui uma mensagem de "commit" associada a uma alteração que você não fez código, que é uma descrição que explica por que uma alteração específica foi feita. Isso permite que o reverter altere se um erro for encontrado ou se você decidir seguir uma direção diferente.

3-Abrir um Pull Request:

Os famosos “Solicitações de recebimento” iniciam discussões sobre seus commits. Como eles estão totalmente integrados ao repositório Git, qualquer um pode ver exatamente quais alterações alterações serão aceitas na sua solicitação ou "Pull Request".

Você pode abrir um "Pull Request" em qualquer momento durante o processo de desenvolvimento. Quando você tem pouco ou nenhum código, mas deseja compartilhar algumas capturas de tela ou idéias gerais, ou quando está parado e precisa de ajuda ou conselho, ou quando está pronto para alguém revisar seu trabalho. Você pode mencionar alguém no GitHub na sua mensagem de "solicitação de recebimento", pode solicitar feedback de uma pessoa específica.

4- Discussões e revisão de código ou Revisão de código:

Depois que um "Pull Request" é aberto, uma pessoa ou equipe que está revisando suas alterações podem ter perguntas ou comentários. Talvez o estilo de codificação não corresponda às diretrizes do projeto, ou a alteração esteja faltando nos testes. As solicitações de “solicitação de recebimento” são projetadas para incentivar e capturar esse tipo de conversa.

Você também pode continuar avançando para sua filial com uma luz de discussões e comentários sobre seus commits. Se alguém comentar que você esqueceu de fazer algo ou se houver um erro no código, poderá corrigir-lo em sua ramificação e alterar. O GitHub mostra seus novos commits e qualquer feedback adicional que você possa receber nas respostas unificadas de solicitação.

5- Implantar

Com o GitHub Flow, você pode implantar uma ramificação de desenvolvimento para teste final de produção antes da mesclar para um mestre de ramificação.

Depois que o seu "Pedido de recepção" for revisado e uma ramificação para testes em seus testes, você poderá implantar as alterações para verificação na produção. Se sua filial causar problemas, você poderá recuperar a implantação de uma filial principal existente em produção.

Equipa diferentes podem ter diferentes estratégias de implantação. Para alguns, pode ser melhor fazer ou implantar em um ambiente de teste especialmente. Para outros, fazer ou implantar diretamente na produção pode ser a melhor escolha com base em outros elementos no seu fluxo de trabalho (eu recomendo a primeira estratégia).

6- Mesclar

E por último ou famosa fusão.

Agora que suas alterações foram verificadas em produção, é hora de definir o código principal da filial. Depois de mesclados, o "Pull Request" preserva um registro das alterações históricas no seu código. Por ser pesquisável, ativar quem alguém não tiver tempo para entender por que e como uma decisão foi tomada.

Segue abaixo um outro (pequeno) exemplo sobre o fluxo de trabalho com o fluxo do GitHub:

 

Como pode ver, no exemplo acima Temos um branch master como um branch de produção. E os desenvolvedores podem criar ramificações para adicionar novas funcionalidades ou corrigir bugs e mesclá-los com uma ramificação de produção.

Parece muito simples, e é mesmo, esse fluxo também se encaixa na programação extrema ou Extreme Programming (XP) é uma metodologia muito difundida por Kant Voltar é um dos signatários do manifesto que é um ramo de produção que executa várias mudanças ao dia.

Fluxo GitLab

E, finalmente, o GitLab Flow.

Nessa última parte, vou explicar sobre o fluxo de trabalho do GitLab Flow, que também oferece uma maneira um pouco simples e transparente de trabalhar com o Git.

Como muitas organizações novas no Git não têm convenções sobre como trabalhar com o Git, seus repositórios podem se tornar confusos.

O GitLab Flow oferece também o uso do branch master e de suas alterações. Uma vez concluído como mudanças, ou mesclamos de volta a principal da filial.

1- Fluxo de produção com GitLab:

O GitHub Flow pressupõe que você pode implantar em produção toda vez que especificar uma ramificação de recurso.

Embora isso seja possível em alguns casos, como aplicativos de software como serviço ou SaaS, há muitos casos em que isso não é possível. Um caso em que você não controla o tempo de uma versão, por exemplo, um aplicativo iOS lançado quando passa a validação da AppStore. Outro caso é quando você tem períodos de lançamentos - por exemplo, dias úteis das 10h às 16h quando uma equipe de operações está em plena capacidade - mas você também faz o código de outros momentos.

Nesses casos, você pode criar uma ramificação de produção que reflita ou código implantado. Você pode implantar uma nova versão mesclando uma filial na produção. Se você precisar saber qual código está em produção, basta fazer o checkout da filial de produção para ver.

O tempo aproximado de implantação é facilmente visível quando a mesclagem é confirmada no sistema de controle de versão. Esse tempo é bastante preciso se você lançar automaticamente sua filial de produção. Se precisar de um tempo mais exato, seu script de lançamento poderá criar uma tag em cada lançamento. Esse fluxo evita sobrecarga de lançamento, tags e mescla que acontecem geralmente com o Git.

Ramos do ambiente com fluxo GitLab:

Pode ser uma boa ideia ter um ambiente atualizado automaticamente para um mestre de filial. Somente nesse caso, o nome desse ambiente pode ser diferente do nome do mestre da filial. Suponhamos que você tenha um ambiente de armazenamento temporário ou melhor armazenamento temporário, um ambiente de pré-produção e um ambiente de produção.

Nesse caso, você pode fazer ou implantar o preparo mestre da filial. Para depois de fazer ou implantar na pré-produção, crie uma solicitação de extração ou mesclagem do mestre da filial para uma filial de pré-produção.

Faça o lançamento ou a fusão da filial de pré-produção na filial de produção.

Esse fluxo de trabalho garante que tudo seja testado em todos os ambientes.

Nesse caso, não exclua uma ramificação de recurso.

Ramos de liberação com fluxo GitLab:

Você só precisa trabalhar com filiais de lançamentos se precisar lançar o software para os usuários. Nesse caso, cada ramificação contém uma versão secundária do software, por exemplo, 2.3 (estável) ou 2.4 (estável) e etc. Crie ramificações estáveis ​​usando um mestre como ponto de partida e ramificação mais tarde.

Ao fazer isso, você minimiza o período de tempo durante o qual precisa aplicar como correções de bugs em várias ramificações. Após anunciar uma ramificação de lançamento, adicione apenas como correções de bugs nas ramificações.

Se possível, primeiro faça ou mescle essas correções de bugs no mestre e, em seguida, selecione uma ramificação de lançamento. Se você começar a fazer ou mesclar uma ramificação de lançamento, poderá executar o risco de esquecer-selecionar como mestre e, em versões posteriores selecionadas ou o mesmo bug.

O GitLab Flow propõe usar esse modelo um pouco diferente da anterior, usando como ramificações de lançamentos ou lançamentos em vez de ramificações do ambiente.