Pipelines Jenkins vs Azure DevOps


12

Venho pesquisando a solução Azure DevOps que a Microsoft lançou recentemente .

Alguns antecedentes, uso Jenkins há anos e, recentemente, comecei a explorar a toca de contêineres de coelho (Docker, Kubernetes etc.),

Não tenho certeza sobre alguns dos aspectos dos Pipelines do Azure DevOps e seria incrível receber alguns comentários e clareza.

TL; DR

  1. O Azure DevOps agora está competindo com o Jenkins, onde eles anteriormente apoiavam a comunidade Jenkins por meio de plugins de código aberto para o Jenkins?
  2. É possível hospedar Pipelines do Azure DevOps completamente no local, não apenas agentes?
  3. É possível usar uma solução git auto-hospedada (como o GitLab no local) com os Pipelines do Azure DevOps?

Versão mais longa

  1. A Microsoft desenvolveu vários plugins de código aberto para Jenkins, como o plug-in Jenkins do Serviço de Aplicativo do Azure . Existem muitos exemplos. Para mim, parece que a solução Azure DevOps (especificamente Pipelines) agora está competindo diretamente com Jenkins, ou estou perdendo alguma coisa?
  2. Para mim, parece que não há como hospedar a solução Azure Pipelines no local ou em um provedor de nuvem de minha escolha. Sim, posso hospedar meus próprios agentes onde a maior parte do trabalho é executada, mas a execução real da lógica do pipeline acontece nos servidores da Microsoft. E então eu tenho que pagar por trabalhos paralelos . Estou comparando isso com uma instância Jenkins hospedada no local (ou provedor de nuvem preferido), em que nenhum pagamento é necessário e nenhum terceiro está ciente de que nossos pipelines estão em execução. Estou esquecendo de algo?
  3. Pelo que sei, os Pipelines do Azure não têm suporte para repositórios auto-hospedados. Coloquei meu código no GitHub ou em repositórios do Azure , nada mais. Portanto, eu não posso nem usar essa solução de Pipelines se tiver uma instância do GitLab hospedada em particular?

Obrigado por qualquer entrada.


2
Eu poderia sugerir dividir essa pergunta em perguntas separadas? A questão como está parece mais um convite para discutir opiniões. Se você pudesse separá-los em perguntas individuais, elas poderiam ser melhor respondidas.
22718 Bruce Becker

Oi Você tem respostas para alguma dessas perguntas?
user10804

Os Devops do Azure não podem ser hospedados no local, mas o TFS pode, essencialmente, a mesma coisa, mas recebe as atualizações um pouco mais lentamente. Nós usamos TFS 2018, sobre prem e sua grande
rico

isto é uma questão real? Para mim, parece FUD sem nenhuma pesquisa real.
Carles Empresa

Ótima pergunta! Você chegou a alguma resposta para suas perguntas? Se sim, escreva para que a comunidade também possa se beneficiar.
Rodrigogq 17/01/19

Respostas:


4

Gostaria muito de ter alguma clareza também, talvez de uma fonte mais autoritária do que eu (tenho certeza de que também sou culpado de FUD).

Eu estava procurando implantar no Azure usando o Kubernetes. Estou igualmente confuso, mas acho que é porque não há um caminho claro. Não posso falar pela Microsoft, mas a atitude deles em relação à nuvem parece estar feliz em se tornar " tudo para todos os homens ". Se você estiver usando o Azure, a Microsoft não parece ter uma opinião forte sobre como chegar lá.

A Microsoft está tentando ativamente evoluir; por exemplo, o Linux agora domina o Azure


Claramente, o pipeline de implantação do Azure DevOps faz exatamente o que Jenkins pode fazer - portanto, nesse sentido, é um concorrente. Também há esse preço inicial do Azure DevOps um pouco desanimador para pipelines paralelos.

Por um lado, o DevOps do Azure parece ser uma nova marca do Visual Studio Team Services. Portanto, será familiar para as pessoas que já estão no ecossistema de desenvolvimento tradicional da Microsoft. Ao mesmo tempo, a Microsoft está fazendo grandes esforços para adotar tecnologias que não são tradicionalmente Microsoft ( Go, Java, Node.js, Python, Ruby, PHP, etc.).

Ainda é cedo - mas não é surpresa que os pipelines do Azure DevOps devam preferir as propriedades do Microsoft Git do Azure Repos e GitHub. Da mesma forma que pipelines bitbucket prefere bitbucket e gitlab pipelines preferem gitlab.


Enquanto isso;

O Azure Marketplace oferece uma implantação Jenkins que vem com os plug-ins de implantação do Azure prontos para uso.

Muitos plugins Jenkins foram desenvolvidos pela equipe do Azure DevOps .


além do que, além do mais;

A Microsoft apoiou os projetos Helm and Draft, relacionados ao Kubernetes . Helm é um gerenciador de pacotes para o Kubernetes. Você pode até usar o Helm para implantar uma instalação Jenkins no Kubernetes.

-

Seria interessante ver alguém avaliar os benefícios, custos e esforço de executar seu próprio Jenkins nos versos do Azure usando os pipelines do Azure DevOps.

... e depois há Jenkins-X .

Parece que temos muitas opções e decisões a tomar.


2

Em resposta à parte 2 (talvez), parece que eles estão apresentando isso como uma alternativa ao Jenkins, embora haja muita documentação sugerindo que tudo pode ser usado juntos (e aqui ). No entanto, quando usado com o Jenkins, parece mais focado em uma ponte de implantação. Eu esperava poder usá-lo como um agente de construção com Jenkins como orquestrador, como eu poderia fazer com Jenkins e AWS CodeBuild. Ainda não vi nada para sugerir que eu pudesse fazê-lo, mas talvez ... As implantações em várias nuvens sejam muito intrigantes ...


2
  1. Sim, porque os Pipelines do Azure podem fazer o que Jenkins faz. No entanto, você não precisa jogar o bebê fora com a água do banho. A Microsoft continua posicionando suas plataformas de forma que as integrações possam ocorrer com instalações existentes de praticamente qualquer coisa. Muitas organizações têm grandes investimentos em ferramentas difíceis de mudar. Em vez de assumir uma posição de tudo ou nada, a Microsoft está adotando padrões e uma mentalidade de trazer o seu próprio, oferecendo a você a melhor escolha de como deseja implementar as ferramentas.

  2. Tecnicamente, os agentes são o seu pipeline, pois as tarefas são executadas nos agentes direcionados no pipeline. Tudo o que você está configurando no portal são as etapas que o pipeline executará. Os agentes fazem o download das ferramentas / extensões necessárias para executar as tarefas. Além disso, com os novos pipelines YAML, os pipelines são definidos nos seus repositórios de código. No que diz respeito à hospedagem, você pode hospedar o Azure DevOps Server inteiramente no local, em qualquer provedor de nuvem ou em uma combinação de VMs do Azure e SQL do Azure.

  3. Repositórios Git genéricos são suportados no Azure DevOps Services usando o editor clássico ou o YAML e o editor clássico se você estiver usando o Azure DevOps Server (no local) no momento. Você pode adicionar a integração do repositório GitLab instalando a extensão.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.