Update XAgent Docker

What's in the xqual/xagent-linux image


Even though the image is called xqual/xagent-linux it's not just an XAgent instance.

The container actually contains all the available fat clients:
  • XAgent
  • XContinuousIntegration
  • XImporter
  • XReportDebugger
  • XReportGenerator
  • XDatabaseShifter
  • and even XStudio
in a headless linux distribution.

Stop the service


You just need to stop the container.

For instance, if you executed your agent using a command similar to:
docker run --name xagent-linux-container1 -it -e SERVER_NAME=<xstudio-docker-host-name> -e SERVER_PROTOCOL=http -e SERVER_PORT=8080 -e XSTUDIO_USER=admin -e XSTUDIO_PASSWORD_ENCRYPTED=14594A028745E255AA16A9D6D37D8D61 -e XAGENT_ALIAS=DockerAgent1 xqual/xagent-linux:<old-version> bash

You can simply press Ctrl-C then execute the docker command:
docker container stop xagent-linux-container1
or
docker container kill xagent-linux-container1

You can also stop and exit an old XAgent container with name 'xagent-linux-container1' this way:
docker ps -a
docker rm xagent-linux-container1

Start the service


You need first to pull the new version of teh agent using:
docker pull xqual/xagent-linux:<new-version>

Then, run the container with:
docker run --name xagent-linux-container1 -it -e SERVER_NAME=<xstudio-docker-host-name> -e SERVER_PROTOCOL=http -e SERVER_PORT=8080 -e XSTUDIO_USER=admin -e XSTUDIO_PASSWORD_ENCRYPTED=14594A028745E255AA16A9D6D37D8D61 -e XAGENT_ALIAS=DockerAgent1 xqual/xagent-linux:<new-version> bash

Then, execute /root/start-app.sh (this updates all the configuration files and run XAgent).
and tail -f /usr/local/xqual/xstudio/xagent-log.txt to check the output of XAgent.

If you remove the bash option at the end of the command line, start-app.sh will be automatically run so it's much more convenient. But in this case you'll need to connect separately to the container (using docker exec -it xagent-linux-container1 bash) to interact with it for instance to get traces etc.


That's it! the new version of XAgent is now running and ready to execute tests.