UrbanCode Deploy Tutorials - Agent As A Service
UCD Server As a Service on a Linux Server
When installing the UrbanCode Server and Agent software in a Linux environment, by default they will be installed as processes that need to be started and stopped manually (for the Windows environment, the installer gives the option of installing as a service during the installation process). There are quite a few reasons that you may want to then go ahead and set them up as services instead. The main one is so that they will automatically start up as your operating system is restarted. This UrbanCode Deploy Tutorial explores how to solve this problem
In order to do that, TechRev has a video with the steps for setting the agent as a service. You can view the video in a previous blog post. The prerequisites are that you have the UrbanCode Server and Agent software already installed on a single machine or they can be installed on separate machines. Setting the server as a service is just as easy; the steps are a little different however. Our environment for this example is on a CentOS 7 machine.
Make sure there are execute permissions for the functions file. This file contains functions that are used by most or all of the shell scripts contained within the /etc/init.d directory. It only has read/write permissions when UrbanCode Server is initially installed.
chmod ugo+x /etc/rc.d/init.d/functions
UrbanCode has made it easier, in that it already provides a basic init.d script to start with. Open the server init file (which is located in /opt/ibm-ucd/server/bin/init/server) in an editor and change the SERVER_USER and SERVER_GROUP to the name of the user/group which will run the server. For our example, we set it to the root user.
Inside the server init file you'll find the user and group of the server.
Change to the init.d directory. The files in the init.d directory are shell scripts that can start, stop and restart services that are defined within that directory.
Create a symbolic link for the startup script that was just edited.
ln -s /opt/ibm-ucd/server/bin/init/server ucdserver
The init.d directory is where we can start and stop the server.
Add it to the run levels for automatic startup:
chkconfig --add ucdserver
Check the run levels. You’ll notice that it should be set to ‘on’ for levels 2, 3, 4 and 5. This is the default. Here is some general information regarding all of the run levels:
Level 0 = system halt (shuts down the system)
Level 1 = single user mode (admin tasks)
Level 2 = local multi-user mode
Level 3 = multi-user with networking (normal system startup)
Level 4 = not used (for special purposes)
Level 5 = normal system start with display manager GUI (same as level 3 + display)
Level 6 = reboot
chkconfig - - list
Start the service using this command:
Check the run levels on the server.
service ucdserver start
Check the service using the command below. Process #7953 is the start process and it ran successfully.
systemctl status ucdserver.service
Our agent is started successfully.
That’s all there is to it! You should now have the UrbanCode Deploy server and UrbanCode Deploy agent running as services.
DevOps is great and UrbanCode is how it’s done! Between UrbanCode Deploy and UrbanCode Release, the automated deployment of software across multiple environments (Dev – Test – Staging – Production) can not only be fully automated, but can be managed, tracked, reported on and fully integrated with your environment.