Running agents as services on Linux™
You can set up agents to run as system services.
Before you begin
Procedure
- Change the owner of the agent installation folder to the
user that runs the agent.For example, if the user
agentuser
run the agent and the agent installation folder is /opt/devops-deploy/agent, run the following command:chown -R agentuser /opt/devops-deploy/agent/
You can find the user that runs the agent by looking at the USER property on the agent. - Similarly, change the group of the agent installation folder
to the group that is associated with the user.For example, if the agent is installed in the folder /opt/devops-deploy/agent, run the following command:
chgrp -R agentgroup /opt/devops-deploy/agent/
-
Make a copy of the file agent-install/bin/init/agent,
where agent-install is the installation folder of the agent.
If you are running multiple agents on the system, give the file a unique name, such as deployagent-A.
- In a text editor, edit the file:
- Set the property AGENT_USER to the name of the user that runs the agent.
- Set the property AGENT_GROUP to the name of the group that is associated with that user.
- Set the property SCRIPT to the location of the agent executable file. The default location is /opt/devops-deploy/agent/bin/agent.
The file might look like the following example:AGENT_HOME="/opt/devops-deploy/agent" AGENT_USER="agentuser" AGENT_GROUP="agentgroup" # == END INSTALL MODIFICATIONS =================== ANT_HOME="$AGENT_HOME/opt/apache-ant-1.8.4" GROOVY_HOME="$AGENT_HOME/opt/groovy-1.8.8" SCRIPT="/opt/devops-deploy/agent/bin/agent"
- Configure the agent to run when the system starts.
The steps depend on how your Linux™ system manages services.For example, for Linux™ systems that use
init.d
, follow these steps:- Copy the file to the folder /etc/rc.d/init.d/.
- Add the file to runlevels 3, 4, and 5. For example, if the file is named
deployagent, run the following
commands:
ln -s /etc/rc.d/init.d/deployagent /etc/rc.d/rc5.d/S98agent
ln -s /etc/rc.d/init.d/deployagent /etc/rc.d/rc4.d/S98agent
ln -s /etc/rc.d/init.d/deployagent /etc/rc.d/rc3.d/S98agent
- Verify that the file is on runlevels 3, 4, and 5 by running the following command:
The result of the command should look like the following code:chkconfig deployagent --list
deployagent 0:off 1:off 2:off 3:on 4:on 5:on 6:off
- Start the agent service.For example, if you named the file deployagent, run the following command:
service deployagent start
Results
ps -ef | grep installFolder
For
installFolder
, specify the installation folder of the
agent, such as /opt/devops-deploy/agent.