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.
RTC provides users with a vast array of features including repository, source code control, integrated bug tracking, a WEB UI and even an Eclipse UI. These interfaces are the real charm of RTC, as they offer an easy way for users to manage their team and collaborate their source control with ease.
In my Talent Acquisition (fancy word for recruiting) endeavors, a potential candidate asked the following question: What is the culture of TechRev? Good question candidate, good question. It was a hard question to answer for 3 reasons…
Launching a new company website is a daunting task on any level. There are so many variables – so many things to consider. Outsource or in-house creation? Who writes the content? What framework to use? Where to host? Do we even need a new site?