Logo do Docker e Visual Studio Code.

Quantas vezes você testou seu computador e quando fez um Pull/Merge request, a pipeline quebrou porque você esqueceu de referenciar o último pacote que instalou para implementar uma nova feature?


Visual Studio Code and Docker logos.

How many times have you tested your code on your machine and when you Pull/Merge request, the pipeline breaks because you missed the last package that you installed to implement a new feature?

  • Visual…

Introduction

As a data scientist and a DevOps enthusiast, I was searching for a way to deploy a Machine Learning app decoupled from its model because I was struggling to use embedded models due to massive container sizes. Imagine adding a 3GB neural network model inside a container image!!! That’s a huge infrastructure problem.

That definitely caught my attention. Decoupling a model from its app results on several advantages:

  • Front End developers can deploy new features independently from the DataScience team.
  • It’s possible to train, save and change…


Logo do Bitnami Harbor.

Introdução

Por anos tenho usado o Bitnami para imagens de container e VMs para implantar apps para fins de estudo, porque eles realmente fazem um ótimo trabalho simplificando o seu uso, mas este foi um caso atípico. Por esse motivo, decidi escrever um guia de instalação passo a passo.

Informação do Sistema:

  • 8 GB RAM
  • I5 CPU
  • 100 GB de disco
  • Ubuntu 20.10

Pré-requisitos

  • Snap
  • Kubernetes Cluster (microk8s, minikube, K3s) — Neste guia estou usando o microk8s.
  • Kubedns (microk8s enable dns)
  • Helm

Os processos de instalação dos programas acima são bem fáceis, é só seguir a documentação que não tem…


Bitnami Harbor logo.

Introduction

For years I’ve been using Bitnami’s VMs and container images to deploy appliances for study purposes, because they really do a great job simplifying the usage, but this one was an outlier. For this reason, I’ve decided to write a step-by-step installation guide.

System info:

  • 8 GB RAM
  • I5 CPU
  • 100 GB Disk
  • Ubuntu 20.10

Prerequisites

  • Snap
  • Kubernetes Cluster (microk8s, minikube, K3s) — In this case i’m using microk8s.
  • Kubedns (microk8s enable dns)
  • Helm

Just follow the installation instructions. There is no secret here.

Check Kubernetes environment

Wait for microk8s start, it is possible to check the status by using the following…


Há uns meses atrás fiz uma publicação sobre criação de uma esteira CI/CD para Python usando o Jenkins (link abaixo), mas não foi explicado como escrever um pipeline como código. Nesta publicação tentarei explicar as diferenças entre pipelines (Scripted vs Declarative) e os blocos, seções e diretivas mais usuais.

Scripted vs Declarative

O pipeline do tipo Scripted foi o primeiro a ser implementado como código pelo Jenkins, escrito em groovy e tem como propósito ser uma estrutura de fácil adaptação pelo usuário, sendo de responsabilidade do desenvolvedor criar a estrutura lógica do pipeline.


Devido ao grande crescimento da utilização de Python, decidi criar um pipeline de entrega de código para esta linguagem, utilizando somente o Jenkins como orquestrador.

Objetivos:

  1. Integrar o pipeline com um SCM;
  2. Construir uma imagem Python usando Dockerfile;
  3. Realizar testes estáticos;
  4. Quebrar a entrega caso falhe nos testes (Quality Gate);
  5. Enviar a imagem para um repositório remoto;
  6. Ao final do build, executar um container com base na imagem criada.

O foco desta publicação, não é explicar o arquivo Jenkinsfile criado para a execução deste pipeline e sim testar itens listados acima.

Matheus Villela Torres

Data scientist and devops enthusiast.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store