About
Roboter in Linux-Umgebungen ermöglichen Ihnen das Ausführen unbeaufsichtigter Automatisierungen in Docker-Containern und bieten eine einfache Möglichkeit zur Skalierung Ihrer Bereitstellung.
The Linux robot image referenced in this document can only run processes developed as cross-platform that do not require UI Interaction. To run processes that require a user interface, you need to use the Linux docker image built for Chrome Automation.
Voraussetzungen
- Docker-Umgebung.
- Netzwerkverbindung zum Orchestrator.
- Machine or Machine Template Key.
Entwickeln von plattformübergreifenden Automatisierungen
Linux-Roboter können nur Unattended-Automatisierungen ausführen. Achten Sie beim Erstellen einer Automatisierung darauf, die plattformübergreifende Kompatibilität auszuwählen. Auf diese Weise werden nur plattformübergreifende Aktivitäten angezeigt, während nicht unterstützte Aktivitäten ausgeblendet werden.

Die standardmäßigen Aktivitätspakete für plattformübergreifende Projekte sind:
- UiPath.System.Activities
- UiPath.WebAPI.Activities
- UiPath.UIAutomation.Activities
Bereitstellung
Um Unattended-Roboter in einer Linux-Umgebung bereitzustellen, führen Sie die folgenden Schritte aus:
Orchestrator-Konfiguration
Create an unattended robot in orchestrator, as shown in this document, then save the machine key so it can be used later.
Clientmaschine
- Öffnen Sie ein Befehlszeilenterminal und rufen Sie das Docker-Image mit dem folgenden Befehl ab:
docker pull registry.uipath.com/robot/runtime
docker pull registry.uipath.com/robot/runtime:<tag>
- Starten Sie das heruntergeladene Bild mithilfe der Parameter, um den Roboter mit dem Orchestrator zu verbinden, indem Sie den folgenden Befehl verwenden:
docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e MACHINE_KEY="$KEY" -tid registry.uipath.com/robot/runtime
docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -tid registry.uipath.com/robot/runtime
To retrieve or start a specific version of the robot, replace the
<tag>
parameter with the actual version from the Docker Image Tags column in the table below:
Robot Version | Docker Image Tags |
---|---|
2022.10 | 22.10.3 |
Wenn kein Tag verwendet wird, wird der neueste Enterprise-Patch für die neueste Enterprise-Version abgerufen.
Tipp zur Fehlerbehebung:
Wenn Sie Probleme haben, den Roboter mit dem Orchestrator zu verbinden, kann dies an der Konfiguration der Hostmaschine liegen (z. B. an Firewall-Regeln). Um dies zu beheben, fügen Sie einen bestimmten DNS-Server in den Befehl ein.
Beispiel:docker run --dns="1.1.1.1" -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e MACHINE_KEY="$KEY" -tid registry.uipath.com/robot/runtime
.
Wobei1.1.1.1
sich auf den öffentlichen DNS-Resolver von Cloudflare bezieht. Dies kann ein DNS-Resolver sein, der den SignalR Hub auflösen kann.
Wichtig!
Um den Roboter erfolgreich zu starten, müssen Sie die Lizenzvereinbarung akzeptieren, indem Sie dem Befehl den Parameter
-e LICENSE_AGREEMENT=accept
hinzufügen.Jedes Mal, wenn Sie den in Schritt 2 vorgestellten Befehl ausführen, wird ein neuer Roboter im Orchestrator erzeugt.
- Um den Status Ihrer Roboter auf der Maschine anzuzeigen, verwenden Sie den folgenden Befehl:
docker ps -a
- Um einen Roboter zu trennen, verwenden Sie den folgenden Befehl:
docker stop {container_id}
Wichtig!
Die Verwendung von
docker kill container_id
hält den Roboter auf der Maschine an, trennt ihn jedoch nicht vom Orchestrator.
- Um einen bestimmten Roboter erneut zu verbinden, verwenden Sie den folgenden Befehl:
docker start {container_id}
Protokollierung
Wenn Sie Protokolldateien über den Lebenszyklus der Containerinstanz hinaus beibehalten möchten, verwenden Sie den folgenden Befehl:
docker run -e LICENSE_AGREEMENT=accept -e MACHINE_KEY="{machine_key}" -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -v C:\Users\user.name\Desktop\logs:/root/.local/share/UiPath/Logs/ -ti registry.uipath.com/robot/runtime
docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -v C:\Users\user.name\Desktop\logs:/root/.local/share/UiPath/Logs/ -ti registry.uipath.com/robot/runtime
Hinweis:
Das Roboter-Linux-Image basiert auf der Alpine Linux-Version von
mcr.microsoft.com/dotnet/runtime
. Alle für die Anwendung erforderlichen Dateien werden im/root/application directory
platziert.
Configuring package feeds
Die Pakete, die zum Ausführen von Automatisierungen auf den Linux-Robotern verwendet werden, sind im Verzeichnis /root/.local/share/UiPath/Packages/
im Docker-Container verfügbar. Wenn Sie bestimmte Pakete für die Hostmaschine konfigurieren möchten, können Sie mit dem folgenden Befehl das Volume konfigurieren, das zum Beibehalten der NuGet-Pakete verwendet werden soll:
docker run -e LICENSE_AGREEMENT=accept -e MACHINE_KEY="{machine_key}" -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -v <path to packages>:/root/.local/share/UiPath/Packages/ -ti registry.uipath.com/robot/runtime
docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -v <path to packages>:/root/.local/share/UiPath/Packages/ -ti registry.uipath.com/robot/runtime
Dabei bezieht sich <path to packages>
auf den Speicherort auf der Hostmaschine.
Ausführen von Aufträgen auf Linux-Robotern
The procedure for running an unattended job on Linux robots is identical to the one for Windows.
Remote-Debugging
Um Ihren Prozess zu testen, können Sie den Debug-Modus mit dem folgenden Befehl aktivieren:
docker run -e LICENSE_AGREEMENT=accept -e DEBUG_SESSION=true -ti -p8573:8573 registry.uipath.com/robot/runtime
The command starts a new Robot Container with the Debug feature enabled running on port 8573
. After the container is started, you can connect to the docker image using the host machine ip
and the port 8573
making use of the Studio Remote Debugging feature.
If you want to debug an already started Robocontainer, you can use the unattended robot connection feature with a robot container connected to the orchestrator.
Aktualisiert vor 4 Monaten