Preparación para desplegar personalizaciones para aplicaciones existentes

Para poder desplegar las personalizaciones que ha realizado en las aplicaciones existentes (como devtoolkit_docker/orderhub-code/buc-app-order), debe indicar qué personalizaciones desplegar. Por ejemplo, puede estar trabajando en dos rutas nuevas, pero es posible que desee desplegar sólo una.

Para desplegar una nueva aplicación, consulte Preparación para desplegar nuevas aplicaciones.

Procedimiento

  1. Recupere Customization folder, Customization client ID, Customization auth key para cada uno de los arrendatarios donde desea desplegar las personalizaciones.

    Es posible que tenga que ponerse en contacto con un administrador para obtener el Customization auth key si los arrendatarios ya están configurados para la personalización. Para obtener más información, consulte Habilitación del menú de personalización para un arrendatario.

  2. Abra features.json en el directorio raíz del módulo.
    Por ejemplo, devtoolkit_docker/orderhub-code/buc-app-order/features.json. Si el archivo no existe, cree el archivo. El contenido que necesita añadir a features.json depende del tipo de personalización que desee desplegar.
    • Si está desplegando una personalización para un módulo existente sin ninguna ruta nueva, añada una matriz vacía al archivo features.json .
      []
    • Si está desplegando una nueva ruta, recupere el valor JSON de característica de Order Hub.
      1. Inicie sesión en Order Hub.
      2. Cambie al arrendatario de personalización donde ha probado las personalizaciones.
      3. Vaya a Valores > Personalización.
      4. Seleccione el elemento personalizado que inicia la ruta.
      5. Si desea desplegar personalizaciones en el arrendatario de personalización donde ha probado las personalizaciones, asegúrese de seleccionar Alojado por IBM y borrar Entorno de desarrollo local. De lo contrario, el arrendatario seguirá conectándose al servidor local.
      6. En el campo URL URL , añada la vía de acceso relativa a la ruta /< module-name>/< route-name>. Empiece con una barra inclinada (/). No es necesario incluir una barra inclinada final.

        Por ejemplo, /buc-app-order/create-order.

      7. Guarde todos los cambios.
      8. Copie el JSON del campo Feature json en la interfaz de usuario. Pegue o fusione el JSON como un elemento de matriz en el archivo features.json que está en el directorio raíz del módulo. El JSON de la interfaz de usuario se parece al ejemplo siguiente.
        {
            "featureId": "custom-[Id]", // must be unique
            "state": "ACTIVE",
            "sequence": 0,
            "title": "[Title to display for the custom application]",
            "iconName": "website-20",
            "link": "/[module-name]/[path to new route]",
            "path": "/[module-name]/[path to new route]",
            "hidden": true,
            "allowedRoles": [   //the roles that can access this customization
              "Fulfillment Manager",
              "Tenant Administrator"
            ],
            "description": [
              {
                "locale": "en_US",
                "language": "en",
                "title": "Title to display for the custom feature"
              }
            ],
            "type": "IFRAME"
          }
        En función del contenido de features.json, es posible que tenga que rodear el código con corchetes [] para añadirlo como elemento de matriz.
  3. Actualice el archivo package-customization.json .
    1. Para cada módulo personalizado, abra el archivo devtoolkit_docker/orderhub-code/<module-name>/package-customization.json para editarlo.
    2. En el objeto routes , añada cada ruta en el módulo que se ha personalizado. Mantenga el objeto customizationContextRoot vacío.
      Cada clave del objeto de rutas identifica el paquete de rutas personalizado. El valor es un objeto con una clave única denominada type. Asegúrese de que la propiedad type esté siempre establecida en "code".

      Por ejemplo:

      {
          "repositoryName": "buc-app-order",
          "customizationContextRoot": "",
          "routes": {
              "create-order": {
                  "type": "code"
              }
          }
      }
  4. Para cada entorno en el que desee desplegar personalizaciones, añada un destino de compilación en el archivo <module-name>/package.json y, a continuación, en el archivo <module-name>/packages/<route-name>/package.json para cada ruta que se haya personalizado.
    1. Abra el archivo <module-name>/package.json .
      Por ejemplo, buc-app-order/package.json.
    2. Haga una copia de la línea build-merged para cada entorno de destino.
      Por ejemplo, supongamos que desea desplegar en cuatro entornos: dev1, qa3, preprody prod. Pegue la línea cuatro veces.
    3. Sustituir build-merged por build-merged-<environment> en cada línea copiada.
      Por ejemplo:
      "build-merged": "lerna run build-merged --stream",
      "build-merged-dev1": "lerna run build-merged-dev1 --stream",
      "build-merged-qa3": "lerna run build-merged-qa3 --stream",
      "build-merged-preprod": "lerna run build-merged-preprod --stream",
      "build-merged-prod": "lerna run build-merged-prod --stream"
    4. Para cada ruta personalizada, abra el archivo <module-name>/packages/<route-name>/package.json .
      Por ejemplo, buc-app-order/packages/create-order/package.json.
    5. Haga una copia de la línea build-merged para cada entorno de destino.
    6. Sustituya build-merged por build-merged-<environment> en cada línea copiada y añada --deploy-url=<customization folder>/<module-name>/<route-name>/.
      El valor de <customization folder> es el valor que ha recuperado del paso 1. Cada entorno de destino tiene un valor de carpeta de personalización diferente.
      Por ejemplo:
      • Para la ruta de create-order (en buc-app-order/packages/create-order/package.json):
        "build-merged": "ng build create-order --configuration=merged-prod",
        "build-merged-dev1": "ng build create-order --configuration=merged-prod --deploy-url=/buc-app-customization/T3R4fagafd45aadfaffasf/buc-app-order/create-order/",
        "build-merged-qa3": "ng build create-order --configuration=merged-prod --deploy-url=/buc-app-customization/dbU2K1u4seqrRKwBZTyMp1lUJwqQkJ5A/buc-app-order/create-order/",
        "build-merged-preprod": "ng build create-order --configuration=merged-prod --deploy-url=/buc-app-customization/zdD4uxaf8GRTbzMSg8zU2K/buc-app-order/create-order/",
        "build-merged-prod": "ng build create-order --configuration=merged-prod --deploy-url=/buc-app-customization/balohTK3ang5GmXsRwOSeSidbQOKEw6N/buc-app-order/create-order/",
      • Para la ruta de order-details : (en buc-app-order/packages/order-details/package.json):
         "build-merged": "ng build order-details --configuration=merged-prod",
        "build-merged-dev1": "ng build order-details --configuration=merged-prod --deploy-url=/buc-app-customization/T3R4fagafd45aadfaffasf/buc-app-order/order-details/",
        "build-merged-qa3": "ng build order-details --configuration=merged-prod --deploy-url=/buc-app-customization/dbU2K1u4seqrRKwBZTyMp1lUJwqQkJ5A/buc-app-order/order-details/",
        "build-merged-preprod": "ng build order-details --configuration=merged-prod --deploy-url=/buc-app-customization/zdD4uxaf8GRTbzMSg8zU2K/buc-app-order/order-details/",
        "build-merged-prod": "ng build order-details --configuration=merged-prod --deploy-url=/buc-app-customization/balohTK3ang5GmXsRwOSeSidbQOKEw6N/buc-app-order/order-details/",
  5. Si utiliza un conducto CI/CD para desplegar personalizaciones, incorpore todos los cambios de personalización en el repositorio.

Qué hacer a continuación

Desplegar personalizaciones.