Q1 : What do you know about Software Configuration Management?
A : Software configuration management (SCM or S/W CM) is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. SCM practices include revision control and the establishment of baselines.
Q2 : Which version control (VC) or software configuration management (SCM) systems work with Merge?
A : You can use Tortoise SVN, which has Merge Utility embedded in it.
Q3 : What is the purpose of continuous integration for a development team?
A : The primary purpose of CI is to provide regular, fast feedback to developers as they commit changes to the shared code repository (VCS).
The idea is that we’re always integrating our code on commit so that when conflicts arise, they can be addressed more quickly and easily than if the changes had been made days, week, or even months ago.
Q4 : Which SCM tools Jenkins supports?
A : AccuRev, CVS, Subversion, Git, Mercurial, Perforce, Clear case and RTC.
- Configuration status accounting – Recording and reporting all the necessary information on the status of the development process.
- Configuration auditing – Ensuring that configurations contain all their intended parts and are sound with respect to their specifying documents, including requirements, architectural specifications, and user manuals.
- Build management – Managing the process and tools used for builds.
- Process management – Ensuring adherence to the organization’s development process.
- Environment management – Managing the software and hardware that host the system.
- Teamwork – Facilitate team interactions related to the process.
- Defect tracking – Making sure every defect has traceability back to the source.
Q6 : What is the difference between Maven, Ant, and Jenkins?
A : Maven and Ant Are Build Technologies whereas Jenkins is a continuous integration tool.
- Builds can be triggered by source code management commits.
- Can be triggered after completion of other builds.
- Can be scheduled to run at specified time (crons)
- Manual Build Requests
- It reduces redundant work
- It effectively manages simultaneous updates
- It avoids configuration related problems
- It simplifies coordination between team members
- It is helpful in tracking defects
Q13 : How is attenuation happens from Jenkins to remote server?
A : we have already like password less log in enable, so from Jenkins server anyone log in to the remote the Linux server and all without asking the password the key exchange is already done.
Q14 : What factors influence the opening of a feature branch?
A : Typically, feature branches are created in cases where the new feature or enhancement has broad-sweeping changes to the code base such that introducing them in the trunk may be too disruptive. Also, feature branches may be used for prototyping or proof-of-concept for code that may never end up in trunk.
Q15 : How can I change the default location of the generated jar when I command “mvn package”?
A : By default, the location of the generated jar is in ${project.build.directory} or in your target directory. We can change this by configuring the outputDirectory of maven-jar-plugin.
Q16 : What is the difference between compile and install?
A : Compile compiles the source code of the project
whereas
Install installs the package into the local repository, for use as a dependency in other projects locally.
Q17 : What is a transitive dependency? Can we override Transitive Dependency version and If Yes, how?
A : Transitive dependency is the dependencies not defined directly in the current POM but the POM of the dependent projects.
Yes, we can override transitive dependency version by specifying the dependency in the current POM.
Q18 : What is the use of !! command? Can I use it in conjunction with some other string to complete a command?
A : It’s used to execute last command. Yes, this can be used with other string to execute new command. For eg – if ls was the last command, we can execute !! -l for having the long listing.
Q19 : What is Jenkins?
A : It is a continuous integration tool written in Java.
Q20 : What is Repository?
A : Repository is the heart of any version control system. It is central place where developers store all their work. Repository not only stores files but also history. Repository is accessed over a network, with repository acting as a server and version control tool acting as a client. Client can connect to repository, and then they can store/retrieve their changes to/from repository.