Quick setup (install)
The goal of this short guide is to get a step cluster up and running quickly on your local computer. In the next pages of this introductory guide, you’ll then be able to create and deploy your first distributed automation scripts (called “Keywords”) on this freshly created cluster.
Download
step needs at least the following three components to operate: a MongoDB instance, a controller instance (orchestrator) and an agent (worker). In this Quick Setup, both the controller and agent will require a Java 11 Runtime Environment (JRE) or Java Development Kit (JDK).
-
If Java is not installed on your device, download JDK 11 from Oracle’s website. Alternatively, you can also use the Zulu SDK, the recommended version is version 11.
-
Download the latest Community MongoDB Server instance from [the official website] (https://www.mongodb.com/download-center/community). Quick download link: 4.0.9
-
Download the agent and controller archives from our github release page.
Install
- Unzip both step archives. There should be a controller folder and an agent folder.
- If you’ve downloaded a JDK in a zip format, unzip it somewhere in the folder of your choice. If you’ve downloaded the exe version, run through the wizard using the default settings. Set the path to the JDK’s home into the start scripts of the controller (step-controller-x.y.z/bin/startController.bat) and agent (step-agent-x.y.z/bin/startAgent.bat). Both have JAVA_PATH variable which can be set according to the example commented in the script file itself.
- Run through the default steps of MongoDB’s installation wizard, using the default port (27001).
- For more details regarding installation and configuration see: Database installation, Controller installation, Agent installation
Run
- Start a basic MongoDB instance from the controller’s folder by using our convenience script (step-controller-x.y.z/bin/startMongo.bat)
- Make sure that no existing program is already running on ports 8080 and 8081 which will be respectively used by step for web traffic and grid communication.
- Start the controller script (startController.bat), check the console’s output, make sure it ends up in RUNNING state and that no fatal error or exception occurred. You should be seeing something like this:
Started o.e.j.s.ServletContextHandler@c6bf8d9{/rest,null,AVAILABLE}
Started o.e.j.s.h.ContextHandler@44392e64{/,null,AVAILABLE}
Started o.e.j.s.ServletContextHandler@e18d2a2{/files,null,AVAILABLE}
Started ServerConnector@7aedcf87{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
Started @55602ms
- Start the agent script. If started successfully, the agent will just print out a couple of warnings and outputs, such as follows:
WARNING: The following warnings have been detected: HINT: A HTTP GET method, public void step.grid.agent.AgentServices.reserveToken(java.lang.String) throws step.grid.agent.tokenpool.AgentTokenPool$InvalidTokenIdException, returns a void type. It can be intentional and perfectly fine, but it is a little uncommon that GET method returns always "204 No Content".
HINT: A HTTP GET method, public void step.grid.agent.AgentServices.releaseToken(java.lang.String) throws step.grid.agent.tokenpool.AgentTokenPool$InvalidTokenIdException, returns a void type. It can be intentional and perfectly fine, but it is a little uncommon that GET method returns always "204 No Content".
Validating your setup
step’s web application should now be running at the following address http://localhost:8080. You can log in immediately as an admin using the following default credentials:
user: admin
password: init
If you can log into the application, your installation is most likely successfully. Let’s just make sure that your agent has registered successfully against the controller by taking a look at the Grid’s current state. Just click on the Grid tab in the upper menu. It should take you to a page listing the currently connected agents, which looks like this:
The entry at the bottom displays a http url, and a green monitoring bar (in the example with the number 10) indicating that your agent has successfully connected and is ready to receive a workload.
You can now move on to the creation of a [basic javascript keyword] (https://step.dev/knowledgebase/3.17/getting-started/my-first-keyword/) to make use of that agent.