Wednesday, 17 July 2019

Top 35 Linux Interview Questions And Answers

Popular Linux Interview Questions With Answer

The redhat linux interview questions and answers for experienced and fresher are vital for the people who decide to start a career in the Linux. With the help of below-given question, you can ready for the Linux interview and get a job in a top company with a high salary –
1. Explain About Linux
Linux is one of the open source UNIX operating system (OS). It is open source and completely free. It is developed from scratch by the Linus Trovald. This platform is a completely different operating system. It has few distributions such as Fedora, Ubuntu, and others. Linux is everywhere from television, smartwatch, laptop, Smartphone and much more.
2. How Many Types Of Processes In Linux?

There are two types of processes in Linux such as background processes and foreground processes. The background process runs on the Linux background. The users can execute the commands before the Linux background process get completed fully. After the command, the users add an & symbol that make it a background process. The Foreground process while started by the developers run in the foreground. The developers need to wait for few minutes to get executed before providing other commands. Linux interview questions

3. Why Should You Use Linux?

Nowadays, Linux is mostly used for its performance and it is totally different from other OS in the market. It comes with additional features that allow the users to complete the task quickly. It supports different file system and highly secured. Linux is open source OS where the developers gain huge benefits of developing their own custom operating system. It has controllable problems with the malware, virus, and others. The software licensing needed to install Linux is free. These are the main reason for using Linux.

4. What Are Swap Space And Its Benefits?

Swap space is the amount of hard-disk storage or physical memory. It is utilized when the system requires large memory space but the storage of the system is full. The swap space is provided for use by the Linux that allow running the programs temporarily. It occurs when the RAM does not have enough storage space to support the running programs. The memory management involves the memory swapping from as well as to physical storage. The inactive memory space is moved to the swap spaces that free RAM storage. There are various types of tools and commands to manage the usage of swap space.

5. What is Linux used for?

However, Linux is used for carrying out big iron systems such as mainframe computers, and the only OS used on TOP 500 super computers. It is now gradually eliminated in all competitors. It is operated on servers and carry high end performances.

6. Explain Important Features Of Linux OS

Linux has excellent features that provide you best experience. Here you can get the key features of the Linux operating system. 

(1)Linux distros offer live USB or CD for installation. 

(2) Linux offers high-security service in different methods such as Encryption, Authentication, and authorization. 

(3) It offers the hierarchical file system and Linux code is completely free to all. 

(4) You can install Linux kernel as well as an application program on any hardware platform. 

(5) Linux has unique application support and customized keyboards. 

(6) This platform allows different users to use the same device like an application program, memory and hard disk with the various terminals for operation. 

7. Explain About Linux Shell

The Linux shell is a user interface that used for executing the communication and commands with the Linux OS. The shell commands can be classified into two types such as external commands and built-in shell commands. There is a lot of the shell available with the Linux that includes TCSH, BASH, KSH, and CSH.

8. What Is A Virtual Desktop

On the current PC, when there are lots of the windows available and appears maximizing as well as minimizing the window their virtual desktop server as an option. The virtual desktop allows users to open more than one program without any error. It is stored on the remote server and it has few benefits such as lower compatibility problems, enhanced data integrity, resource are used effectively, centralized administration, and others.

9. What Are The Uses of Linux?

It is similar to the other operating systems that can be used for windows, OS X and iOS. This includes lots of configurations that are capable for updating with enough features. It let them focus on operating systems such as word processing applications and linux equivalents. It is accustomed to using other operating systems.

10. What Can You Actually Do With Linux?

There are lots of email applications are carried out in Linux operating system. It includes three most common features which are widely used to come in mind with right flow. This includes Mozilla Thunderbird, Kmail, and others. So, it let the users grab attention on best linux operating systems for varied purposes.

11. How Linux will be Utilized?

Like windows and apple operating system, the Linux is also one of the top notch operating system. To update the extraordinary features, here enormous number of configuration will be included. This process will permit to concentrate on the major operating systems like Linux equivalents and word processing applications in an effective manner.

12. How The Linux Will Work?

In general, in Linux, there are enormous number of email applications have been used. Those email applications will provide certain basic features that can able to used in the perfect manner. This will include various applications such as Kmail, Mozilla Thunderbird and much more. Linux OS will never get affected with virus.

13. What is a Right Typical Size For A Swap Partition Below Linux System?

The suitable size for a swap partition is twice the total amount of the present physical memory found over the system. It is not applicable to minimum size must be the same as the total amount of the memory installed over it. Hope it is helpful to store the right amount in a fine manner.

14. How will Find Out How Much Memory Linux is Using?

In a command shell, it makes use of concatenating command: cat/proc/memento for all memory usage data. Then it would see a right light begin something such as Mm: 64655360. It is complete know as the Linux thinks is found to use with more comfort at all time.

15. How Will Change Permissions Under Linux?

Think that you are systems administer and owner of file or directory, you can grant permission using the chmod command. It is used +symbols to make permission to deny permission. With any of the following letters such as g (group) o (other) and much more. Here the command chmod go+ rw FIlE1.TXT grant read and obtain the file.

16. What is OS?
OS (operating system) is used to provide platform to run our application and software.

17. What is kernel?
Kernel is a core part of any Operating system, which is used to interact hardware with software.
Linux Commands & Technical Interview Questions 2019
Here are few linux commands and technical interview questions:
18. How will you check your kernel version?
uname –a : is a command to check kernel version of your Linux OS.
19. How will you check your memory in Linux?
cat /Proc/meminfo :
Or 
free –m:
20. How will you change your terminal through command?
chvt terminal no
21. How will you check your system hardware in Linux?
cat /proc/cpuinfo
Or 
lscpu
cat /proc/meminfo
Or 
Free –m
cat /proc/partitions
Or 
fdisk –l
22. What is shell?
Shell is a user interface between user and Operating System.

23. How many shells used by Linux?
Many shells are used
less /etc/shells
ksh, sh, csh, tcsh,zsh
Cat /etc/shell
24. How will you list all file in directory, Including The Hidden?
ls –al:- this command will show you all file and directory including the hidden into your present working directory.
25. What is the port no. of ssh?
Default port no of ssh is 22.
26. What Is the port no of telnet?
Default port no of ssh is 23.
27. What is the difference between ssh and telnet?
Both for use remote login on system but ssh is more secure than telnet.
28. How will you check all installed packages of ftp?
rpm –qa | grep ftp
29. What are the contents of /boot?
/boot: – It contains Grub (boot loader of Linux) kernel (the core part of OS) and booting related files.
30. What are the contents of /sbin?
/sbin: – It contain all system command or super user command /usr/sbin.
31. What are the contents of /etc?
/etc: – It contain all configuration file and directory used for server.
32. What are the contents of /dev?
/dev :- It is a location of the devices file.
33. What are the contents of /bin?
/bin :- It contain all executable files or command or user command. /usr/bin also contain user command.
34. What is redirection?

Redirection is standard Input/output of the command, which used to displays on the terminal can be redirected into a file. 
Common redirection operator
> : command > file : this command will redirect output of command into file
>> : command >> file : this command will append output of command into file
< : command < file : this command will receive input from file
2> : command2 > file : this command will redirect error of command into file
2>> : command2 >> file : this command will append error of command into file
&> : Command &> file : this command will redirect output + error of command to file
&>>: Command &>> file : this command will append output + error of command to file 
35. What is Aliases?
Aliases are a short name for large commands.
Alias h=history
For permanent entry of alias in .bashrc file
Type:
vim .bashrc
alias h=history
save and exit
For test your change by logging out, logging back and type
h.

Friday, 12 July 2019

Top 60 Linux Interview Questions & Answers

1) What is Linux?
Linux is an operating system based on UNIX and was first introduced by Linus Torvalds. It is based on the Linux Kernel and can run on different hardware platforms manufactured by Intel, MIPS, HP, IBM, SPARC, and Motorola. Another popular element in Linux is its mascot, a penguin figure named Tux.
2) What is the difference between UNIX and LINUX?
Unix originally began as a propriety operating system from Bell Laboratories, which later on spawned into different commercial versions. On the other hand, Linux is free, open source and intended as a non-propriety operating system for the masses.
3) What is BASH?
BASH is short for Bourne Again SHell. It was written by Steve Bourne as a replacement to the original Bourne Shell (represented by /bin/sh). It combines all the features from the original version of Bourne Shell, plus additional functions to make it easier and more convenient to use. It has since been adapted as the default shell for most systems running Linux.
4) What is Linux Kernel?
The Linux Kernel is a low-level systems software whose main role is to manage hardware resources for the user. It is also used to provide an interface for user-level interaction.
5) What is LILO?
LILO is a boot loader for Linux. It is used mainly to load the Linux operating system into main memory so that it can begin its operations.
6) What is a swap space?
Swap space is a certain amount of space used by Linux to temporarily hold some programs that are running concurrently. This happens when RAM does not have enough memory to hold all programs that are executing.
7) What is the advantage of open source?
Open source allows you to distribute your software, including source codes freely to anyone who is interested. People would then be able to add features and even debug and correct errors that are in the source code. They can even make it run better and then redistribute these enhanced source code freely again. This eventually benefits everyone in the community.
8 ) What are the basic components of Linux?
Just like any other typical operating system, Linux has all of these components: kernel, shells and GUIs, system utilities, and an application program. What makes Linux advantageous over other operating system is that every aspect comes with additional features and all codes for these are downloadable for free.
9) Does it help for a Linux system to have multiple desktop environments installed?
In general, one desktop environment, like KDE or Gnome, is good enough to operate without issues. It's all a matter of preference for the user, although the system allows switching from one environment to another. Some programs will work in one environment and not work on the other, so it could also be considered a factor in selecting which environment to use.
10) What is the basic difference between BASH and DOS?
The key differences between the BASH and DOS console lie in 3 areas:
- BASH commands are case sensitive while DOS commands are not;
- Under BASH, / character is a directory separator and \ acts as an escape character. Under DOS, / serves as a command argument delimiter and \ is the directory separator
- DOS follows a convention in naming files, which is 8 character file name followed by a dot and 3 characters for the extension. BASH follows no such convention.
11) What is the importance of the GNU project?
This so-called Free software movement allows several advantages, such as the freedom to run programs for any purpose and freedom to study and modify a program to your needs. It also allows you to redistribute copies of software to other people, as well as the freedom to improve software and have it released for the public.
12) Describe the root account.
The root account is like a systems administrator account and allows you full control of the system. Here you can create and maintain user accounts, assigning different permissions for each account. It is the default account every time you install Linux.
13) What is CLI?
CLI is short for Command Line Interface. This interface allows the user to type declarative commands to instruct the computer to perform operations. CLI offers greater flexibility. However, other users who are already accustomed to using GUI find it difficult to remember commands including attributes that come with it.
14) What is GUI?
GUI, or Graphical User Interface, make use of images and icons that users click and manipulate as a way of communicating with the computer. Instead of having to remember and type commands, the use of graphical elements makes it easier to interact with the system, as well as adding more attraction through images, icons, and colors.
15) How do you open a command prompt when issuing a command?
To open the default shell (which is where the command prompt can be found), press Ctrl-Alt-F1. This will provide a command line interface (CLI) from which you can run commands as needed.
16) How can you find out how much memory Linux is using?
From a command shell, use the "concatenate" command: cat /proc/meminfo for memory usage information. You should see a line starting something like Mem: 64655360, etc. This is the total memory Linux thinks it has available to use.
You can also use commands
free - m

vmstat

top

htop
to find current memory usage
17) What is a typical size for a swap partition under a Linux system?
The preferred size for a swap partition is twice the amount of physical memory available on the system. If this is not possible, then the minimum size should be the same as the amount of memory installed.
18) What are symbolic links?
Symbolic links act similarly to shortcuts in Windows. Such links point to programs, files or directories. It also allows you instant access to it without having to go directly to the entire pathname.
19) Does the Ctrl+Alt+Del key combination work on Linux?
Yes, it does. Just like Windows, you can use this key combination to perform a system restart. One difference is that you won't be getting any confirmation message and therefore, a reboot is immediate.
20) How do you refer to the parallel port where devices such as printers are connected?
Whereas under Windows you refer to the parallel port as the LPT port, under Linux you refer to it as /dev/lp . LPT1, LPT2 and LPT3 would therefore be referred to as /dev/lp0, /dev/lp1, or /dev/lp2 under Linux.
21) Are drives such as hard drive and floppy drives represented with drive letters?
No. In Linux, each drive and device have different designations. For example, floppy drives are referred to as /dev/fd0 and /dev/fd1. IDE/EIDE hard drives are referred to as /dev/hda, /dev/hdb, /dev/hdc, and so forth.
22) How do you change permissions under Linux?
Assuming you are the system administrator or the owner of a file or directory, you can grant permission using the chmod command. Use + symbol to add permission or – symbol to deny permission, along with any of the following letters: u (user), g (group), o (others), a (all), r (read), w (write) and x (execute). For example, the command chmod go+rw FILE1.TXT grants read and write access to the file FILE1.TXT, which is assigned to groups and others.
23) In Linux, what names are assigned to the different serial ports?
Serial ports are identified as /dev/ttyS0 to /dev/ttyS7. These are the equivalent names of COM1 to COM8 in Windows.
24) How do you access partitions under Linux?
Linux assigns numbers at the end of the drive identifier. For example, if the first IDE hard drive had three primary partitions, they would be named/numbered, /dev/hda1, /dev/hda2 and /dev/hda3.
25) What are hard links?
Hard links point directly to the physical file on disk, and not on the pathname. This means that if you rename or move the original file, the link will not break since the link is for the file itself, not the path where the file is located.
26) What is the maximum length for a filename under Linux?
Any filename can have a maximum of 255 characters. This limit does not include the path name, so therefore the entire pathname and filename could well exceed 255 characters.
27)What are filenames that are preceded by a dot?
In general, filenames that are preceded by a dot are hidden files. These files can be configuration files that hold important data or setup info. Setting these files as hidden makes it less likely to be accidentally deleted.
28) Explain virtual desktop.
This serves as an alternative to minimizing and maximizing different windows on the current desktop. Using virtual desktops can clear the desktop when you can open one or more programs. Rather than minimizing/restoring all those programs as needed, you can simply shuffle between virtual desktops with programs intact in each one.
29) How do you share a program across different virtual desktops under Linux?
To share a program across different virtual desktops, in the upper left-hand corner of a program window look for an icon that looks like a pushpin. Pressing this button will "pin" that application in place, making it appear in all virtual desktops, in the same position onscreen.
30) What does a nameless (empty) directory represent?
This empty directory name serves as the nameless base of the Linux file system. This serves as an attachment for all other directories, files, drives, and devices.
31) What is the pwd command?
The pwd command is short for print working directory command.
Example:
pwd
Output:
/home/guru99/myDir
32) What are daemons?
Daemons are services that provide several functions that may not be available under the base operating system. Its main task is to listen for service request and at the same time to act on these requests. After the service is done, it is then disconnected and waits for further requests.
33) How do you switch from one desktop environment to another, such as switching from KDE to Gnome?
Assuming you have these two environments installed, just log out from the graphical interface. Then at the login screen, type your login ID and password and choose which session type you wish to load. This choice will remain your default until you change it to something else.
34) What are the kinds of permissions under Linux?
There are 3 kinds of permissions under Linux:- Read: users may read the files or list the directory- Write: users may write to the file of new files to the directory- Execute: users may run the file or lookup a specific file within a directory
35) How does case sensitivity affect the way you use commands?
When we talk about case sensitivity, commands are considered identical only if every character is encoded as is, including lowercase and uppercase letters. This means that CD, cd, and Cd are three different commands. Entering a command using uppercase letters, where it should be in lowercase, will produce different outputs.
36) What are environmental variables?
Environmental variables are global settings that control the shell's function as well as that of other Linux programs. Another common term for environmental variables is global shell variables.
37) What are the different modes when using vi editor?
There are 3 modes under vi:- Command mode – this is the mode where you start in- Edit mode – this is the mode that allows you to do text editing- Ex mode – this is the mode wherein you interact with vi with instructions to process a file
38) Is it possible to use shortcuts for a long pathname?
Yes, there is. A feature known as filename expansion allows you do this using the TAB key. For example, if you have a path named /home/iceman/assignments directory, you would type as follows: /ho[tab]/ice[tab]/assi[tab] . This, however, assumes that the path is unique and that the shell you're using supports this feature.
39) What is redirection?
Redirection is the process of directing data from one output to another. It can also be used to direct an output as an input to another process.
40) What is grep command?
grep a search command that makes use of pattern-based searching. It makes use of options and parameters that are specified along with the command line and applies this pattern in searching the required file output.
41) What could be the problem when a command that was issued gave a different result from the last time it was used?
One highly possible reason for getting different results from what seems to be the same command has something to do with case sensitivity issues. Since Linux is case sensitive, a command that was previously used might have been entered in a different format from the present one. For example, to lists all files in the directory, you should type the command ls, and not LS. Typing LS will either result in an error message if there is no program by that exact name exist or may produce a different output if there is a program named LS that performs another function.
42) What are the contents of /usr/local?
It contains locally installed files. This directory matters in environments where files are stored on the network. Specifically, locally-installed files go to /usr/local/bin, /usr/local/lib, etc.). Another application of this directory is that it is used for software packages installed from source, or software not officially shipped with the distribution.
43) How do you terminate an ongoing process?
Every process in the system is identified by a unique process id or pid. Use the kill command followed by the pid to terminate that process. To terminate all process at once, use kill 0.
44) How do you insert comments in the command line prompt?
Comments are created by typing the # symbol before the actual comment text. This tells the shell to completely ignore what follows. For example "# This is just a comment that the shell will ignore."
45) What is command grouping and how does it work?
You can use parentheses to group commands. For example, if you want to send the current date and time along with the contents of a file named OUTPUT to a second file named MYDATES, you can apply command grouping as follows: (date cat OUTPUT) > MYDATES
46) How do you execute more than one command or program from a single command line entry?
You can combine several commands by separating each command or program using a semicolon symbol. For example, you can issue such a series of commands in a single entry:
ls –l cd .. ls –a MYWORK which is equivalent to 3 commands: ls -l cd.. ls -a MYWORK
**Note that this will be executed one after the other, in the order specified.
47) Write a command that will look for files with an extension "c", and has the occurrence of the string "apple" in it.
Answer:
 Find ./ -name "*.c" | xargs grep –i "apple"
48) Write a command that will display all .txt files, including its individual permission.
Answer:
ls -al *.txt
49) Write a command that will do the following:
-look for all files in the current and subsequent directories with an extension c,v
-strip the,v from the result (you can use sed command)
-use the result and use a grep command to search for all occurrences of the word ORANGE in the files.
Find ./ -name "*.c,v" | sed 's/,v//g' | xargs grep "ORANGE"
50) What, if anything, is wrong with each of the following commands?
a) ls -l-s
b) cat file1, file2
c) ls - s Factdir
Answers:
a) there should be space between the 2 options: ls -l -s
b) do not use commas to separate arguments: cat file1 file2
c) there should be no space between hyphen and option label: ls –s Factdir
51) What is the command to calculate the size of a folder?
To calculate the size of a folder uses the command du –sh folder1.
52) How can you find the status of a process?
Use the command
ps ux
53) How can you check the memory status?
You can use the command
free -m to display output in MB
free -g to display output in GB
54) Explain how to color the Git console?
To color the Git console, you can use the command git config—global color.ui auto. In the command, the color.ui variable sets the default value for a variable such as color.diff and color.grep.
55) How can you append one file to another in Linux?
To append one file to another in Linux you can use command cat file2 >> file 1. The operator >> appends the output of the named file or creates the file if it is not created. While another command cat file 1 file 2 > file 3 appends two or more files to one.
56) Explain how you can find a file using Terminal?
To find a file you have to use a command, find . –name "process.txt" . It will look for the current directory for a file called process.txt.
57) Explain how you can create a folder using Terminal?
To create a folder, you have to use command mkdir. It will be something like these: ~$ mkdir Guru99
58) Explain how you can view the text file using Terminal?
To view the text file, go to the specific folder where the text files are located by using the command cd and then type less filename.txt.
59) Explain how to enable curl on Ubuntu LAMP stack?
To enable curl on Ubuntu, first, install libcurl, once done use following command sudo/etc/init .d /apache2 restart or sudo service apache2 restart.
60) Explain how to enable root logging in Ubuntu?
The command which enables root logging is
#sudo sh-c 'echo "greater-show-manual-login=true" >>/etc/lightdm/lightdm.conf'
61) How can you run a Linux program in the background simultaneously when you start your Linux Server?
By using nohup. It will stop the process receiving the NOHUP signal and thus terminating it you log out of the program which was invoked with. & runs the process in the background.
62) Explain how to uninstall the libraries in Linux?
To uninstall the libraries in Linux, you can use command sudo apt-get remove library_name

Friday, 5 July 2019

15 Best Jenkins Alternatives in 2019

Jenkins is an open source Continuous Integration platform and is a cruial tool in DevOps Lifecycle. However, its interface is outdated and not user-friendly compared to current UI trends. Moreover, Jenkin configuration could be tricky, and it has many other drawbacks.
Here, is a curated list of top 14 tools which can replace Jenkins. This list compromises of commercial as well as open-source continuos integration tool with popular features and latest download link.

1) Travis CI:

Travis is a popular CI Tool that is free for open source projects. As it is hosted, it does not have to depend on any platform. This CI tool provides supports for many build configuration and languages like Node, PHP, Python, Java, Perl, etc.
Features:
  • Travis uses the virtual machines to build application
  • Notifications via Slack, HipChat, Emails and more
  • Allows running parallel tests
  • Linux and Mac, and iOS supported
  • Easy Setup, no installation required.
  • Powerful API and command line tool

2) Final builder:

FinalBuilder is Vsoft's build tool. With FinalBuilder there is no need to edit XML, or write scripts. You can define and debug build scripts when it schedules them with windows scheduler, or integrate with Jenkins, Continua CI, etc.
Features:
  • It presents build process in a logically structured, graphical interface
  • It includes try and catch actions for localized error handling
  • It provides tight integration with the Windows scheduling service, which allows builds to be scheduled
  • FinalBuilder supports more than a dozen version control systems
  • It provides support for scripting
  • The output from all actions in the build process is directed to the build log.

3) CruiseControl:

CruiseControl is both CI tool and an extensible framework. It is used for building a custom continuous build process. It has many plugins for a variety of source controls, build technologies which include email and instant messaging.
Features:
  • Integration with a many different Source Control systems like vss, csv, svn, git, hg, perforce, clearcase, filesystem, etc.
  • It allows building multiple projects on single server
  • Integration with other external tools like NAnt, NDepend, NUnit, MSBuild, MBUnit and Visual Studio
  • Provide support for Remote Management

4) Integrity:

Integrity is a continuous integration server which works only with GitHub. In this CI tool whenever users commit the codes, it builds and runs the code. It also generates the reports and provides notifications to the user.
Features:
  • This CI tool currently only works with git, but it can easily mirror with other SCM
  • This CI tool supports numbers of notification mechanisms like AMQP, Email, HTTP, Amazon SES, Flowdock, Shell, and TCP.
  • HTTP Notifier feature sends an HTTP POST request to the specific URL

5) GoCD:

GoCD is an Open source Continuous Integration server. It is used to model and visualize complex workflows with ease. This CI tool allows continuous delivery and provides an intuitive interface for building CD pipelines.
Features:
  • Supports parallel and sequential execution. Dependencies can be easily configured.
  • Deploy any version, anytime
  • Visualize end to end workflow in realtime with Value Stream Map.
  • Deploy to production securely.
  • Handle user authentication and authorization
  • Keep orderly configuration
  • Tons of plugins to enhance functionality.
  • Active community for help and support.

6) Urbancode:

IBM UrbanCode Deploy is a CI application. It combines robust visibility, traceability, and auditing feature into a single package.
Features:
  • Increase frequency of software delivery by automated, repeatable deployment processes
  • Reduce deployment failure
  • Streamline the deployment of multi-channel apps to all environments whether on-premises or in the cloud
  • Enterprise level security and scalability
  • Hybrid cloud environment modeling
  • Drag-and-drop automation

7) Autorabit:

AutoRABIT is an end-to-end Continuous Delivery Suite to speed up the development process. It streamlines the complete release process. It helps the organization of any size to implement Continuous Integration.
Features:
  • The tool is specially designed to deploy on Salesforce Platform
  • Lean and faster deployments based on changes supporting all the 120+ supported metadata types.
  • Fetch changes from Version Control System and deploy them into Sandbox automatically
  • Auto-commit changes into Version Control System directly from Sandbox

8) CircleCI:

Circle CI is a flexible CI tool that runs in any environment like cross-platform mobile app, Python API server or Docker cluster. This tool reduces bugs and improves the quality of the application.
Features:
  • Allows to select Build Environment
  • Supports many languages like Linux, including C++, Javascript, NET, PHP, Python, and Ruby
  • Support for Docker lets you configure customized environment
  • Automatically cancel any queued or running builds when a newer build is triggered
  • It split and balance tests across multiple containers to reduce overall build time
  • Forbid non-admins from modifying critical project settings
  • Improve Android and iOS store rating by shipping bug-free apps.
  • Optimal Caching and Parallelism for fast performance.
  • Integration with VCS tools
Download link: https://circleci.com/

9) Buildkite:

The buildkite agent is a reliable and cross-platform build runner. This CI tool makes it easy to run automated builds on your infrastructure. It is mainly used for running build jobs, reporting back the status code and output log of the job.
Features:
  • This CI tool runs on a wide variety of OS and architectures
  • It can run code from any version control system
  • Allows to run as many build agents as you want on any machine
  • It can integrate with the tools like Slack, HipChat, Flowdock, Campfire and more
  • Buildkite never sees source code or secret keys
  • It offers stable infrastructure
Download link: https://buildkite.com/

10) TeamCity

TeamCity is a Continuous Integration server which supports many powerful features.
Features:
  • Extensibility and Customization
  • Provides better code quality for any project
  • It maintains CI server healthy and stable even when no builds are running
  • Configure builds in DSL
  • Project level cloud profiles
  • Comprehensive VCS integration
  • On-the-fly build progress reporting
  • Remote run and pre-tested commit

11) Wercker

Wercker is a CI tool that automates builds and deploys the container. It creates automated pipelines which can be executed through the command line interface.
Features:
  • Fully integrated with Github & Bitbucket
  • Use Wercker CLI for faster local iterations
  • Execute builds concurrently to keep your team moving
  • Run parallel tests to reduce wait time of your team
  • Integrate with 100s of external tools
  • Receive system notification in product and by email
Download link: http://www.wercker.com/

12) Bitrise

Bitrise is a Continuous Integration and Delivery Platform as a Service. It offers Mobile Continuous Integration and Delivery for your entire team. It allows integrations with many popular services like Slack, HipChat, HockeyApp, Crashlytics, etc.
Features:
  • Allows to create and test workflows in your terminal
  • You get your apps without the need of manual controls
  • Every build runs individually in its own virtual machine, and all data is discarded at the end of the build
  • Support for third party beta testing and deployment services
  • Support for GitHub Pull Request

13) Bamboo

Bamboo is a continuous integration build server which performs - automatic build, test, and releases in a single place. It works seamlessly with JIRA software and Bitbucket. Bamboo supports many languages and technologies such as CodeDeply, Ducker, Git, SVN, Mercurial, AWS and Amazon S3 buckets.
Features:
  • Run parallel batch tests
  • Setting up Bamboo is pretty simple
  • Per-environment permissions feature allows developers and QA to deploy to their environments
  • It can trigger builds based on changes detected in the repository, push notifications from Bitbucket
  • Available as hosted or on-premise versions
  • Facilitates real-time collaboration and integrated with HipChat.
  • Built-in Git branching and workflows. It automatically merges the branches.

14) Strider

Strider is an open source tool. Its written in Node.JS / JavaScript. It uses MongoDB as a backing store. Hence, MongoDB and Node.js are essential for installing this CI. The tool offers supports for different plugins that modify the database schema & register HTTP routes.
Features:
  • Strider integrates with many projects like GitHub, BitBucket, Gitlab, etc.
  • Allows to add hooks to execute arbitrary build actions
  • Build and test your software projects continuously
  • Integrates seamlessly with Github
  • Publish and subscribe to socket events
  • Create and modify Striders user interfaces
  • Powerful plugins to customize default functionalities
  • Supports Docker

15) Gitlab CI

GitLab CI is a part of GitLab. It is a web application with an API that stores its state in a database. It manages projects and provides a friendly user interface, besides offering the advantage of all the features of GitLab.
Features:
  • GitLab Container Registry is a secure registry for Docker images
  • GitLab offers a convenient way to change metadata of an issue or merge request without adding slash commands in the comment field
  • It provides APIs for most features, so it allows developers to create deeper integrations with the product
  • Helps developers to put their idea into production by finding areas of improvement in their development process
  • It helps you to keep your information secure with Confidential Issues
  • Internal projects in GitLab allow promoting inner sourcing of internal repositories.