O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Modernizando ci cd com openshift pipelines tdc poa

88 visualizações

Publicada em

Tekton Openshift Pipelines

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Modernizando ci cd com openshift pipelines tdc poa

  1. 1. Globalcode – Open4education Bruno Andrade Quality Engineer @ Red Hat Mauricio Magnani Software Engineer @ Red Hat Modernizando CI/CD com Openshift Pipelines
  2. 2. Globalcode – Open4education
  3. 3. Globalcode – Open4education Cloud-Native CI/CD Projetado para trabalhar com microservices e equipes distribuídas Criado para aplicações baseadas em containers e executadas em Kubernetes Executar em serverless sem nenhuma Engine CI/CD para gerenciar e manter DevOpsContainers Serverless
  4. 4. Globalcode – Open4education Como Isso funciona?
  5. 5. Globalcode – Open4education Conceito (Custom Resources)
  6. 6. Globalcode – Open4education Conceito (Custom Resources) PipelineResource Pipeline Task Task Definição do pipeline Execução dos pipelines Pipeline Controllers (Tekton, ext, ...) pipeline-pod-a pipeline-pod-b PipelineRun TaskRun TaskRun pipeline-pod-c
  7. 7. Globalcode – Open4education Openshift Pipelines Operator OpenShift Dev Console Tekton CLI Kubernetes CI/CD Core Developer Tools CodeReady Workspaces (Eclipse Che) Tekton Core IntegrationsExtensionsOperator Visual Studio Code Tasks
  8. 8. Globalcode – Open4education Implementação
  9. 9. Globalcode – Open4education Pré Requisitos 1. Instalação do Tekton ou Openshift Pipelines Operator 1. Qual a plataforma da sua aplicação ? O Tekton possui um Catalogo de Image Builders- https://cloud.google.com/cloud-build/docs/cloud- builders 2. Tekton CLI: https://github.com/tektoncd/cli
  10. 10. Globalcode – Open4education Primeiro Passo: Secrets Definir a forma de acesso aos recursos: Código Fonte e Container registry. apiVersion: v1 kind: Secret metadata: name: basic-user-registry annotations: tekton.dev/docker-0: index.docker.io type: kubernetes.io/basic-auth stringData: username: myuser password: mypassword apiVersion: v1 kind: Secret metadata: name: basic-user-git annotations: tekton.dev/git-0: https://github.com type: kubernetes.io/basic-auth stringData: username: myuser password: mypassword
  11. 11. Globalcode – Open4education Segundo Passo: Service Account Definir um “service account” para ligar os “secrets” criados anteriormente. apiVersion: v1 kind: ServiceAccount metadata: name: pipeline namespace: tekton-pipelines secrets: - name: basic-user-registry - name: basic-user-git
  12. 12. Globalcode – Open4education Terceiro Passo: Pipeline Resource Definir a localização dos recursos: Código Fonte e Container registry. apiVersion: tekton.dev/v1alpha1 kind: PipelineResource metadata: name: git-source spec: type: git params: - name: revision value: master - name: url value: https://github.com/myuser/awesome-java-app.git
  13. 13. Globalcode – Open4education Terceiro Passo: Pipeline Resource apiVersion: tekton.dev/v1alpha1 kind: PipelineResource metadata: name: java-image spec: type: image params: - name: url value: registry.hub.docker.com/myuser/awesome-java-app:1.0
  14. 14. Globalcode – Open4education Quarto Passo: Tasks Definir os parametros, os passos e como o pipeline será executado. apiVersion: tekton.dev/v1alpha1 kind: Task spec: inputs: params: [...] parametros de entrada [...] outputs: [...] parametros de saída [...] steps: - name: build-and-push image: gcr.io/cloud-builders/mvn command: - mvn - compile
  15. 15. Globalcode – Open4education Quinto Passo: Pipeline Conjunto de tasks que serão executadas no Pipeline apiVersion: tekton.dev/v1alpha1 kind: Pipeline metadata: name: tdc-piple spec: resources: [... PipelineResources ...] tasks:[... PipelineResources ...] resources: inputs: [...] parametros de entrada [...] outputs: [...] parametros de saída [...]
  16. 16. Globalcode – Open4education Sexto Passo: Pipeline Run apiVersion: tekton.dev/v1alpha1 kind: PipelineRun metadata: name: tdc-pipeline-run spec: pipelineRef: name: tdc-pipeline serviceAccount: pipeline resources: - name: src resourceRef: name: git-source - name: java-image resourceRef: name: java-image-res
  17. 17. Globalcode – Open4education Demo!
  18. 18. Globalcode – Open4education Referências • https://github.com/tektoncd • https://cd.foundation/ • https://github.com/openshift/tektoncd-pipeline-operator • https://github.com/redhat-developer/vscode-tekton
  19. 19. Globalcode – Open4education Dúvidas
  20. 20. Globalcode – Open4education Obrigado! Link da palestra • https://www.linkedin.com/in/mauriciomagnanijr/ • https://www.linkedin.com/in/brunobalintdeandrade

×