About
Using Robots in Linux environments enables you to run unattended automations in Docker containers, providing an easy way to scale up your deployment.
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 |
Not using any tag retrieves the most recent enterprise patch for the latest enterprise version.
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
The packages used to run automations on the linux robots are available in the /root/.local/share/UiPath/Packages/
directory on the docker container. If you want to configure specific packages for the host machine, you can configure the volume which should be used to persist the nuget packages using the following command:
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
Where <path to packages>
refers to the location on the host machine.
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 2 Monaten