Nota:

Despliegue su aplicación mediante el pipeline de integración y despliegue continuos de OCI DevOps en Kubernetes

Introducción

El servicio DevOps de Oracle Cloud Infrastructure (OCI) es una plataforma completa de integración y entrega continuas (CI/CD) que permite a los desarrolladores simplificar y automatizar su ciclo de vida de desarrollo de software. El servicio DevOps de OCI permite a los desarrolladores y operadores desarrollar, crear, probar y desplegar software de forma colaborativa.

Objetivos

Requisitos

Tarea 1: Configurar el proyecto DevOps de OCI

  1. Haga clic en Crear proyecto DevOps en Servicio DevOps. Introduzca el nombre del proyecto y seleccione el tema que ha creado anteriormente.

    Crear proyecto DevOps

    Después de crear el proyecto, verá la lista de opciones disponibles en el servicio OCI DevOps.

    DevOps Lista de servicios

  2. Haga clic en Repositorio de código e introduzca el nombre del repositorio. Configure el repositorio de código y cargue los archivos de aplicación en el repositorio.

    Repositorio de código de creación

  3. Cree un archivo de sincronización para crear la imagen de Docker de la aplicación NodeJS y transfiéralo al repositorio de código.

    FROM node:16
    
    # Create app directory
    WORKDIR /usr/src/app
    
    # Install app dependencies
    COPY package*.json ./
    
    RUN npm install
    
    # Bundle app source
    COPY . .
    
    EXPOSE 3000
    CMD [ "node", "index.js" ]
    
    
  4. Cree un archivo de especificación de compilación denominado build_spec.yaml. Transfiera este archivo al directorio raíz del repositorio.

    version: 0.1
    component: build
    timeoutInSeconds: 6000
    runAs: root
    shell: bash      
    steps:
      - type: Command
        timeoutInSeconds: 1200
        name: "Build container image"
        command: |
          d ${OCI_WORKSPACE_DIR}/node_app
          docker build -t myapp:v1.0  .
    outputArtifacts:
     - name: myapp-image
      type: DOCKER_IMAGE
      location: myapp:v1.0
    
    

    Crear especificación

  5. Un pipeline de creación contiene las etapas que definen el proceso de creación para compilar, probar y ejecutar correctamente las aplicaciones de software antes del despliegue. Haga clic en Crear pipeline de compilación e introduzca un nombre.

    Pipeline de compilación

    1. Haga clic en Agregar una etapa en el pipeline de compilación creado y seleccione Gestionar etapa de compilación.

    2. Introduzca el nombre de la etapa y agregue el repositorio de código principal.

    3. Seleccione el tipo de conexión como repositorio de código de OCI y seleccione el repositorio de código en el que está presente el código de aplicación.

    4. Haga clic en Seleccionar.

      Agregar etapa

    5. Haga clic en Agregar.

  6. Haga clic en Agregar artefacto. Especifique el tipo como repositorio de imágenes de contenedor y proporcione una ruta de acceso totalmente cualificada del registro creado anteriormente.

    Agregar Artefacto

  7. Esta etapa transferirá el artefacto de imagen de aplicación al registro de contenedor. En el pipeline de creación creado previamente, agregue otra etapa de tipo Entregar artefactos. Haga clic en Seleccionar artefactos y seleccione el artefacto creado.

    1. Proporcione Nombre de artefacto de resultado/configuración de compilación como imagen de myapp, porque hemos mencionado este nombre de artefacto en nuestro archivo build_spec.yaml.

    2. Haga clic en Agregar.

      Entregar artefacto

  8. Cree el archivo manifest.yaml de la siguiente forma para desplegar el contenedor de aplicaciones en Kubernetes. Cargue este archivo de manifiesto en el registro de artefactos creado.

    kind: Namespace
    apiVersion: v1
    metadata:
      name: default
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: myapp-deployment
      namespace: default
    spec:
      selector:
        matchLabels:
          app: node-app
      replicas: 2
      template:
        metadata:
          labels:
            app: node-app
        spec:
          containers:
            - name: node-app
              image: iad.ocir.io/orasenatdpltintegration03/demo-registry:latest
              imagePullPolicy: Always
              ports:
                - name: containerport
                  containerPort: 8080
                  protocol: TCP
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: myapp-service
      namespace: default
      annotations:
        oci.oraclecloud.com/load-balancer-type: "lb"
    spec:
      type: LoadBalancer
      ports:
        - name: nodejs-port
          port: 80
          targetPort: 3000
          protocol: TCP
      selector:
        app: node-app
    
    

    Crear archivo de manifiesto

  9. Haga clic en Crear entorno. Proporcione el nombre y en la página de detalles de entorno, seleccione el cluster de OKE en el que se desplegará la aplicación.

    Crear entorno

  10. Agregue este manifiesto a los artefactos. Haga clic en Agregar artefacto y seleccione el tipo como manifiesto de Kubernetes. Seleccione el repositorio de registro de artefactos creado anteriormente. Seleccione el archivo de manifiesto como artefacto. Rellene el formulario como se muestra en la siguiente imagen.

    Agregar manifiesto a artefacto

  11. Haga clic en Crear pipeline de despliegue y proporcione un nombre. Agregue el tipo de etapa Aplicar manifiesto a su cluster de Kubernetes. Seleccione el entorno y el artefacto creados en pasos anteriores.

    Crear pipeline de despliegue

  12. Agregue la tercera etapa al pipeline de compilación creado. Seleccione el tipo de etapa como Despliegue de disparador. Proporcione el nombre de la etapa y seleccione el pipeline de despliegue creado.

    Agregar pipeline de despliegue

  13. Haga clic en Logs para iniciar el pipeline de compilación. Proporcione el grupo de logs en el que se almacenarán los logs y haga clic en Activar log.

    Activar logs

  14. El pipeline de compilación se muestra en la siguiente imagen. Haga clic en Iniciar ejecución manual para ejecutar el pipeline.

    Iniciar pipeline

El pipeline se ha ejecutado correctamente. Se creará un equilibrador de carga porque hemos utilizado el servicio de tipo equilibrador de carga para acceder a la aplicación. Para acceder a la aplicación, puede acceder a la dirección IP pública del equilibrador de carga creado.

Pipeline de éxito

Confirmaciones

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre los productos, visite Oracle Help Center.