Layer 1 SkyView logo SkyView

Overview

No que toca a pipeline Jenkins disponibilizada, esta permite que o produto corrente seja sempre continuamente e automaticamente atualizado, e sequencialmente pronto a ser utilizado, garantindo que o software da versão estável mais recente esteja sempre disponível e funcional no ambiente de execução cliente. No que toca ao seu desenho geral, foi delineada uma pipeline standard, que segue o modelo geral build-test-package-deploy.

pipeline-jenkins-ov

A configuração completa da pipeline não é apenas contemplada no código: na configuração desta pipeline no ambiente Jenkins a trabalhar, deve ser introduzido para usar o Jenkinsfile disponibilizado, e ainda deve ser dado corretamente o repositório na qual se encontra este projeto, de forma de haver um checkout implícito ao SCM antes de operacionalizar o workflow dado. Para isto, de notar que também é necessário configurar credenciais para o acesso ao repositório SCM pretendido.

Fases da pipeline

As fases de execução da presente pipeline são as seguintes:

Alterações posteriores

No caso de a máquina remota poder ser diferente ou na eventualidade da sua migração para outra localização, a definições dos campos da variável global “remote” devem ser atualizados: o “host” e o “port”. O campo “name” também pode ser mudado, no entanto não é fundamental para o funcionamento dos acessos SSH, servindo apenas para fazer a identificação posterior.

Esta máquina destino para a instalação e entrega do produto deve ter um Docker deamon preparado com execução de comandos em modo non-root. Quaisquer certificados essenciais para o acesso ao Docker Registry devem ser instalados na máquina (certificados cliente em /etc/docker/certs; no caso de haver um certificado de CA Root independente, é ainda necessário instalá-lo no seu sistema Linux; no entanto, se for um ficheiro em formato PEM com a cadeia de certificação, é apenas necessário coloca-lo no diretório dito primeiramente).

No caso de possuir um registry Docker privado, é possível mudá-lo facilmente no código da pipeline, sendo que pode ser alterado na variável de ambiente REGISTRYHOST existente. Assim, o push e pull das imagens Docker na fase de Upload images poderá ser feito de outro Registry facilmente que não o por defeito neste projeto. É necessário, no entanto, que este esteja acessível tanto da máquina target, como na ferramenta Jenkins que vai ser utilizada.