Criar a imagem Docker do Tika Server com as modificações necessárias para a utilização no projeto Dados Abertos de Feira (ver Dockerfile).
Será utilizada a imagem base do Apache Tika Server, travada na versão 2.0.0 com a instalação do pacote tesseract-ocr-por.
Obs: outros pacotes podem ser instalados em virtude de vulnerabilidades encontradas.
O CI usado é o próprio GitHub Actions, composto de três arquivos:
O arquivo main.yml é composto por quatro jobs básicos:
job 01
- Lint do Dockerfilejob 02
- Teste do containerjob 03
- Scan da Imagemjob 04
- Build e envio para o Docker Hub
Todos as etapas estão interligadas, conforme imagem acima, de forma que o estágio seguinte só executa se o anterior concluir com sucesso. Os três primeiros executam em todo push
e pull request
gerado no repositório. A quarta etapa só executa na geração de releases.
Esse job utiliza dois steps:
Esse job utiliza quatro steps:
step 02-01
- Checkoutstep 02-02
- Cache Docker layersstep 02-03
- Build - Stackstep 02-04
- Teste
Esse job utiliza três steps:
step 03-01
- Checkoutstep 03-02
- Build an image from Dockerfilestep 03-03
- Scanear Imagem com Trivy
Esse job utiliza sete steps:
step 04-01
- Checkoutstep 04-02
- Ativa QEMUstep 04-03
- BuildX - Suporte remote-cache, secrets, etc...step 04-04
- Cache Docker layersstep 04-05
- Login DockerHubstep 04-06
- Build and Pushstep 04-07
- Digest
Este CI rodará usando o recurso do cron. Deste modo, foi configurado o scan da imagem uma vez por semana.
Este CI também ocorrerá semanalmente, haja visto que ele é disparado com o scan semanal, conforme seção anterior. Caso o scan encontre vulnerabilidade, o job de notificação é executado e envia uma mensagem no canal do Discord da mentoria.
Informar a versão do TIKA Server através do ARG TIKA_VERSION
Necessário ter cadastrados no secrets:
Variável | Descrição |
---|---|
DOCKERHUB_USERNAME | Usuario do Docker |
DOCKERHUB_TOKEN | Token do Usuario |
DOCKERHUB_ORGANIZATION | nome do registry |