Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Imposta il percorso in un ambiente di coda
Usa gli ambienti OpenJD per fornire nuovi comandi in un ambiente. Per prima cosa si crea una directory contenente i file di script, quindi si aggiunge tale directory alle variabili di PATH ambiente in modo che gli eseguibili dello script possano eseguirli senza dover specificare ogni volta il percorso della directory. L'elenco delle variabili in una definizione di ambiente non fornisce un modo per modificare la variabile, quindi puoi farlo eseguendo uno script. Dopo che lo script ha impostato le cose e le ha modificatePATH, esporta la variabile nel runtime di OpenJD con il comando. echo "openjd_env: PATH=$PATH"
Prerequisiti
Esegui i passaggi seguenti per eseguire il pacchetto di lavoro di esempio con le variabili di ambiente
-
Se non disponi di una farm Deadline Cloud con una coda e un parco Linux associato, segui l'esperienza di onboarding guidata nella console https://console.aws.amazon.com/deadlinecloud/home
Deadline Cloud per crearne una con le impostazioni predefinite. -
Se non hai l'interfaccia a riga di comando di Deadline Cloud e il monitor Deadline Cloud sulla tua workstation, segui la procedura descritta nella sezione Configurazione dei mittenti di Deadline Cloud contenuta nella guida per l'utente.
-
Utilizzalo
gitper clonare il repository di esempi di Deadline Cloud. GitHubgit clone https://github.com/aws-deadline/deadline-cloud-samples.gitCloning into 'deadline-cloud-samples'... ...cd deadline-cloud-samples/job_bundles
Esegui l'esempio di percorso
-
Usa l'interfaccia a riga di comando di Deadline Cloud per inviare il
job_env_with_new_commandcampione.$ deadline bundle submit job_env_with_new_command Submitting to Queue: MySampleQueue ... -
Nel monitor Deadline Cloud, vedrai il nuovo lavoro e potrai monitorarne l'avanzamento. Una volta che il Linux parco macchine associato alla coda ha un lavoratore disponibile per eseguire l'attività del lavoro, il lavoro viene completato in pochi secondi. Seleziona l'attività, quindi scegli l'opzione Visualizza registri nel menu in alto a destra del pannello delle attività.
Sulla destra ci sono due azioni della sessione, Launch RandomSleepCommand ed Task run. Il visualizzatore di log al centro della finestra corrisponde all'azione della sessione selezionata sulla destra.
Confronta le azioni di sessione con le relative definizioni
In questa sezione si utilizza il monitor Deadline Cloud per confrontare le azioni della sessione con il punto in cui sono definite nel modello di lavoro. Continua dalla sezione precedente.
Apri il file job_env_with_new_command/template .yaml
-
Seleziona l'azione Avvia RandomSleepCommand sessione nel monitor Deadline Cloud. L'output del registro verrà visualizzato come segue.
2024/07/16 17:25:32-07:00 2024/07/16 17:25:32-07:00 ============================================== 2024/07/16 17:25:32-07:00 --------- Entering Environment: RandomSleepCommand 2024/07/16 17:25:32-07:00 ============================================== 2024/07/16 17:25:32-07:00 ---------------------------------------------- 2024/07/16 17:25:32-07:00 Phase: Setup 2024/07/16 17:25:32-07:00 ---------------------------------------------- 2024/07/16 17:25:32-07:00 Writing embedded files for Environment to disk. 2024/07/16 17:25:32-07:00 Mapping: Env.File.Enter -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmpbt8j_c3f 2024/07/16 17:25:32-07:00 Mapping: Env.File.SleepScript -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmperastlp4 2024/07/16 17:25:32-07:00 Wrote: Enter -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmpbt8j_c3f 2024/07/16 17:25:32-07:00 Wrote: SleepScript -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmperastlp4 2024/07/16 17:25:32-07:00 ---------------------------------------------- 2024/07/16 17:25:32-07:00 Phase: Running action 2024/07/16 17:25:32-07:00 ---------------------------------------------- 2024/07/16 17:25:32-07:00 Running command sudo -u job-user -i setsid -w /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/tmpbwrquq5u.sh 2024/07/16 17:25:32-07:00 Command started as pid: 2205 2024/07/16 17:25:32-07:00 Output: 2024/07/16 17:25:33-07:00 openjd_env: PATH=/sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/bin:/opt/conda/condabin:/home/job-user/.local/bin:/home/job-user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/snapd/snap/bin No newer logs at this moment.Le righe seguenti del modello di lavoro specificano questa azione.
jobEnvironments: - name: RandomSleepCommand description: Adds a command 'random-sleep' to the environment. script: actions: onEnter: command: bash args: - "{{Env.File.Enter}}" embeddedFiles: - name: Enter type: TEXT data: | #!/bin/env bash set -euo pipefail # Make a bin directory inside the session's working directory for providing new commands mkdir -p '{{Session.WorkingDirectory}}/bin' # If this bin directory is not already in the PATH, then add it if ! [[ ":$PATH:" == *':{{Session.WorkingDirectory}}/bin:'* ]]; then export "PATH={{Session.WorkingDirectory}}/bin:$PATH" # This message to Open Job Description exports the new PATH value to the environment echo "openjd_env: PATH=$PATH" fi # Copy the SleepScript embedded file into the bin directory cp '{{Env.File.SleepScript}}' '{{Session.WorkingDirectory}}/bin/random-sleep' chmod u+x '{{Session.WorkingDirectory}}/bin/random-sleep' - name: SleepScript type: TEXT runnable: true data: | ... -
Seleziona l'azione Avvia StepEnv sessione nel monitor Deadline Cloud. L'output del registro viene visualizzato come segue.
2024/07/16 17:25:33-07:00 2024/07/16 17:25:33-07:00 ============================================== 2024/07/16 17:25:33-07:00 --------- Running Task 2024/07/16 17:25:33-07:00 ============================================== 2024/07/16 17:25:33-07:00 ---------------------------------------------- 2024/07/16 17:25:33-07:00 Phase: Setup 2024/07/16 17:25:33-07:00 ---------------------------------------------- 2024/07/16 17:25:33-07:00 Writing embedded files for Task to disk. 2024/07/16 17:25:33-07:00 Mapping: Task.File.Run -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmpdrwuehjf 2024/07/16 17:25:33-07:00 Wrote: Run -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmpdrwuehjf 2024/07/16 17:25:33-07:00 ---------------------------------------------- 2024/07/16 17:25:33-07:00 Phase: Running action 2024/07/16 17:25:33-07:00 ---------------------------------------------- 2024/07/16 17:25:33-07:00 Running command sudo -u job-user -i setsid -w /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/tmpz81iaqfw.sh 2024/07/16 17:25:33-07:00 Command started as pid: 2256 2024/07/16 17:25:33-07:00 Output: 2024/07/16 17:25:34-07:00 + random-sleep 12.5 27.5 2024/07/16 17:26:00-07:00 Sleeping for duration 26.90 2024/07/16 17:26:00-07:00 ---------------------------------------------- 2024/07/16 17:26:00-07:00 Uploading output files to Job Attachments 2024/07/16 17:26:00-07:00 ---------------------------------------------- -
Le righe seguenti del modello di lavoro specificano questa azione.
steps: - name: EnvWithCommand script: actions: onRun: command: bash args: - '{{Task.File.Run}}' embeddedFiles: - name: Run type: TEXT data: | set -xeuo pipefail # Run the script installed into PATH by the job environment random-sleep 12.5 27.5 hostRequirements: attributes: - name: attr.worker.os.family anyOf: - linux