P: O que é o Jenkins?

O Jenkins é uma ferramenta de integração contínua de código aberto escrito em Java. Ele oferece serviços de integração personalizada para desenvolvimento de software. O Jenkins é um sistema baseado em servidor usados por muitas equipes de desenvolvimento.

P: Por que devo utilizar o Jenkins?

Você deve usar o Jenkins se pretende acelerar o ciclo de vida de desenvolvimento de software (SDLC). O Jenkins permite integrar compilação, implantação e teste em diversos ambientes, além de reduzir os tempos de espera das equipes de desenvolvimento. Por fim, como permite a integração contínua, o Jenkins é ideal para metodologias ágeis e de desenvolvimento e operações (DevOps) que usam ciclos rápidos de iteração.

P: Por que devo executar o Jenkins na AWS?

A AWS oferece recursos de infraestrutura confiáveis, escaláveis e seguros que são ideais para a execução de aplicações como o Jenkins. Quando você executa o Jenkins nos recursos de computação da AWS, paga apenas pelo que usa e pode aumentar ou diminuir a escala da capacidade de acordo com suas necessidades específicas.

P: Serei proprietário do meu ambiente de Jenkins?

Sim. Todos os recursos criados durante a execução deste guia de conceitos básicos serão seus e residirão em sua conta. Eles existirão até que você decida encerrar a instância do Amazon EC2.

P: Qual é o custo do Jenkins?

O Jenkins é um software gratuito e de código aberto. O único custo é a infraestrutura subjacente onde o Jenkins é executado. Para obter mais informações sobre custo, consulte Serviços usados e custos.

P: Como posso proteger o Jenkins na AWS?

Você deve usar grupos de segurança e senhas fortes. Além disso, você precisa garantir que a instância EC2 e a instalação do Jenkins contenham os mais recentes patches de segurança. Os grupos de segurança atuam como firewalls virtuais e stateful que controlam o tráfego de uma ou mais instâncias. Se possível, reduza o intervalo de IP para incluir apenas os endereços IP de origem relevantes. Não abra portas TCP ou UDP pouco usadas (as portas TCP 80 e 8080 são suficientes). Na definição de senhas para o Jenkins, siga as melhores práticas comuns de senhas e use caracteres alfanuméricos maiúsculos e minúsculos, bem como símbolos (por exemplo, /, ., !, *…). Você pode garantir que a instância do Amazon Linux tenha os pacotes mais recentes instalados executando yum update. Esse comando também atualizará o Jenkins se você o instalou usando o yum de acordo com as instruções deste guia.

P: Posso executar o Jenkins em uma sub-rede privada?

Você pode instalar o Jenkins em uma instância EC2 que faz parte de uma sub-rede pública ou privada. Se você quiser colocar a instância em uma sub-rede privada, será necessário assegurar que é possível acessar o front-end do Jenkins. Se você estiver se conectando pela Internet, poderá criar um target group do Jenkins e usar um Application Load Balancer para criar um endpoint público para a instância hospedada em ambiente privado. Se você estiver se conectando de seu próprio datacenter, poderá criar uma VPN ou conectar-se ao Jenkins usando o Direct Connect.

P: Como faço para alterar a escala do Jenkins?

Há várias maneiras de garantir que o Jenkins acompanhe as necessidades de CI/CD. Uma forma simples é aumentar a escala vertical da instância EC2 alterando o tamanho da instância. Outra forma é configurar o Jenkins Amazon EC2 Container Service Plugin para distribuir trabalhos de compilação para tarefas secundárias do Jenkins em um cluster do ECS.