Automatización de la clonación de entornos

Utilice el script de esta sección para automatizar la clonación de entornos.

Cree un archivo de lote (.bat) o shell (.sh) que contenga un script similar al siguiente para clonar un entorno. Los siguientes scripts de ejemplo gestionan estas actividades:

  • Inicie sesión en el entorno de origen.
  • Use Artifact Snapshot (la instantánea creada durante el último mantenimiento diario del entorno de origen) u otra instantánea disponible en el entorno de origen para convertir el entorno de destino como un clon del origen.
  • También puede crear usuarios y sus asignaciones predefinidas de roles de aplicación que coincidan con las del entorno de origen.
  • También puede cambiar la hora de inicio del mantenimiento diario para que coincida con la del entorno de origen.
  • Cierre la sesión.

Para obtener información detallada sobre el proceso de clonación, consulte "Clonación de entornos de EPM Cloud " en Administración de migración de Oracle Enterprise Performance Management Cloud.

Consulte Automatización de la ejecución de scripts para obtener información sobre la programación del script con Programador de tareas de Windows.

Windows

  1. Cree un archivo por lotes (.BAT) llamado cloneEnvironment.bat que contenga el siguiente script y guárdelo en una ubicación apropiada, por ejemplo, C:\automate_scripts.
    @echo off
    set paramRequiredMessage=Syntax: cloneEnvironment.bat "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"
    
    set usersandpredefinedroles="false"
    set snapshotname="Artifact Snapshot"
    set dailymaintenancestarttime="true"
    set dirpath=%~dp0
    cd %dirpath:~0,-1%
    
    if "%~1" == "" (
      echo Source User Name is missing.
      echo %paramRequiredMessage%
      exit /b 1
      )
    if "%~2" == "" (
      echo Source Password File is missing.
      echo %paramRequiredMessage%
      exit /b 1
      )
    if "%~3" == "" (
      echo Source URL is missing.
      echo %paramRequiredMessage%
      exit /b 1
      )
    if "%~4" == "" (
      echo Target User Name is missing.
      echo %paramRequiredMessage%
      exit /b 1
      )
    if "%~5" == "" (
      echo Target Password File is missing.
      echo %paramRequiredMessage%
      exit /b 1
      )
    if "%~6" == "" (
      echo Target URL is missing.
      echo %paramRequiredMessage%
      exit /b 1
      )
    
    PowerShell.exe -File cloneEnvironment.ps1 %~1 %~2 %~3 %~4 %~5 %~6 %usersandpredefinedroles% %snapshotname% %dailymaintenancestarttime%
    
  2. Modifique cloneEnvironment.bat para establecer los valores de estos parámetros:

    Tabla 3-5 Parámetros que establecer en cloneEnvironment.bat

    Parámetro Descripción
    usersandpredefinedroles Establezca el valor de este parámetro en true para clonar los usuarios y sus asignaciones de roles de aplicación predefinidas.

    Para clonar asignaciones de usuarios y roles, el usuario que ejecuta el script debe tener el rol de administrador del servicio y el administrador del dominio de identidad en el entorno de destino.

    snapshotname Nombre de la instantánea del entorno de origen que se debe usar para la clonación.
    dailymaintenancestarttime Establezca el valor de este parámetro en true para cambiar la hora de inicio del mantenimiento diario del entorno clonado en la del entorno de origen. Establezca este valor en false para conservar la hora de inicio del mantenimiento diario actual del entorno clonado.
  3. Cree un script de PowerShell denominado cloneEnvironment.ps1 que contenga el siguiente script y guárdelo en el directorio en el que haya guardado cloneEnvironment.bat, por ejemplo, C:\automate_scripts.
    # Clone Environment script
    
    $source_username=$args[0]
    $source_password=$args[1]
    $source_url=$args[2]
    $target_username=$args[3]
    $target_password=$args[4]
    $target_url=$args[5]
    $usersandpredefinedroles=$args[6]
    $snapshotname=$args[7]
    $dailymaintenancestarttime=$args[8]
    
    epmautomate.bat login "${source_username}" "${source_password}" "${source_url}"
    epmautomate.bat cloneEnvironment "${target_username}" "${target_password}" "${target_url}" UsersAndPreDefinedRoles="${usersandpredefinedroles}" SnapshotName="${snapshotname}" DailyMaintenanceStartTime="${dailymaintenancestarttime}"
    epmautomate.bat logout
  4. Ejecute cloneEnvironment.bat con este comando:
    cloneEnvironment.bat "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"
    
    Por ejemplo:
    cloneEnvironment.bat jdoe@example.com C:\mySecuredir\example_pwd.epw https://source_example.oraclecloud.com jdoe@example.com C:\mySecuredir\example_pwd2.epw https://target_example.oraclecloud.com.

Linux

  1. Cree el script de shell denominado cloneEnvironment.sh que contenga el siguiente script y guárdelo en una ubicación apropiada.
    #!/bin/bash
    
    # Update the following parameters
    # -------------------------------
    epmautomatescript=/home/user1/epmautomate/bin/epmautomate.sh
    javahome=/home/user1/jdk1.8.0_191/
    usersandpredefinedroles="false"
    snapshotname="Artifact Snapshot"
    dailymaintenancestarttime="true"
    # -------------------------------
    
    source_username="$1"
    source_password="$2"
    source_url="$3"
    target_username="$4"
    target_password="$5"
    target_url="$6"
    
    export JAVA_HOME=${javahome}
    
    if [ "$#" -ne 6 ]; then
        echo "Usage: ./cloneEnvironment.sh <SOURCE USERNAME> <SOURCE PASSWORD FILE> <SOURCE URL> <TARGET USERNAME> <TARGET PASSWORD FILE> <TARGET URL>"
        exit 1
    fi
    
    ${epmautomatescript} login "${source_username}" "${source_password}" "${source_url}" 
    ${epmautomatescript} cloneEnvironment "${target_username}" "${target_password}" "${target_url}" UsersAndPreDefinedRoles="${usersandpredefinedroles}" SnapshotName="${snapshotname}" DailyMaintenanceStartTime="${dailymaintenancestarttime}"
    ${epmautomatescript} logout
  2. Modifique cloneEnvironment.sh para establecer los valores de estos parámetros:

    Tabla 3-6 Parámetros que establecer en cloneEnvironment.sh

    Parámetro Descripción
    epmautomatescript Ruta de acceso absoluta del ejecutable de EPM Automate (epmautomate.sh).
    javahome Ubicación JAVA_HOME.
    usersandpredefinedroles Establezca el valor de este parámetro en true para clonar los usuarios y sus asignaciones de roles de aplicación predefinidas.

    Para clonar asignaciones de usuarios y roles, el usuario que ejecuta el script debe tener el rol de administrador del servicio y el administrador del dominio de identidad en el entorno de destino.

    snapshotname Nombre de la instantánea del entorno de origen que se debe usar para la clonación.
    dailymaintenancestarttime Establezca el valor de este parámetro en true para cambiar la hora de inicio del mantenimiento diario del entorno clonado en la del entorno de origen. Establezca este valor en false para conservar la hora de inicio del mantenimiento diario actual del entorno clonado.
  3. Ejecute cloneEnvironment.sh.
    ./cloneEnvironment.sh "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"
    
    Por ejemplo:
    ./cloneEnvironment.sh jdoe@example.com ./home/secure/example_pwd.epw https://source_example.oraclecloud.com jdoe@example.com ./home/secure/example_pwd.epw2 https://target_example.oraclecloud.com.