Solve git scenario as given below

rajeshkumar created the topic: Solve git scenario as given below
Create a local repo and do following…

1. commit 10 text file into it.
2. 5 files should have 3 commits.
3. One commit should have 3 files changes
4. These changes should be pushed to new repo created in github
5. Send me the url of your github repo location.
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

sribhavani_u replied the topic: Solve git scenario as given below
github.com/sribhavani/mygitrepo

brunda replied the topic: Solve git scenario as given below
Hi Rajesh,

Please find my git repo (public) as below:

github.com/brunda8/Practice01

Thanks,
Brunda

anilpantham replied the topic: Solve git scenario as given below
github.com/anilpantham/testrepo
ASSIGNMENT

anilpantham replied the topic: Solve git scenario as given below
github.com/anilpantham/testrepo
—added petstore source code

koushik replied the topic: Solve git scenario as given below
github.com/koushiktalluri/MyMainRepo

srkomma@gmail.com replied the topic: Solve git scenario as given below
github.com/srkomma/skgitrepo

Tagged :

Git repository backup

vishal_vsh1 created the topic: Git repository backup
Git repository backup

Git is distributes system, the beauty of the git make is more robust and easy to recover from any last known good working copy.

However, You can not always rely on such copy and you will definitely need proper backup solution to deal with such situation.

There are many ways to take backup of git repositories.
I am listing few here.

You can directly take a tar of the git repo directory as it has the whole bare contents of the repo on server. There is a slight possibility that somebody may be working on repo while taking backup.
The following command will give you the bare clone of repo (just like it is in server), then you can take a tar of the location where you have cloned without any issue.
git clone –bare {your backup local repo} {new location where you want to clone}

Reference – www.scmtechblog.net/2015/07/git-repository-backup.html

rajeshkumar replied the topic: Git repository backup
Thanks for useful info.
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

Tagged :

Git Server Setup In Windows

saiki created the topic: GIT server setup in windows
Hi,

How to set GIT server in windows machine?

Can we have the steps

rajeshkumar replied the topic: Re: GIT server setup in windows
Hi Deepak,

GIT is bit different from other SCM. I would suggest you reading this before jumping to installations…
git-scm.com/book/en/Getting-Started-Git-Basics

GIT installation in Windows is pretty easy, please do refer following..
git-scm.com/book/en/Getting-Started-Installing-Git

buzz me here if you have more Q…
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

saiki replied the topic: Re: GIT server setup in windows
Hi rajesh

Will update u on this

Tagged :

Software Configuration Management Tools

SOFTWARE CONFIGURATION MANAGEMENT CONTROL TOOLS
Software Configuration Management Tools Blog

Welcome to the Software Configuration Management Tools Discussion Blog. Featured below are links to the most widely used SCM tools available on the market. Which tool has your origination implemented? How well does your tool funtion compared with others you have utilized in the past?

cmtoolsblog.blogspot.com/

PROJECT FOR APACHE ANT, APACHE MAVEN AND GIT
Create a three directory as below in repo as above; Directory Layout as below

harsha
…………..src
…………..test
…………..build.xml
…………..pom.xml
satya
…………..src
…………..test
…………..build.xml
…………..pom.xml
rajesh
…………..src
…………..test
…………..build.xml
…………..pom.xml
Masterbuild.xml
Masterpom.xml
lib
…………..build1
…………..build2
…………..build3
Using Ant
> Each sub directory, add 5 sample java program under “src” eg. under harsha/src.
> Each sub directory, add 5 sample junit test under “test” e.g under rajesh/test.
> Each sub directory has Apache ant build.xml and pom.xml
> Write a Masterbuild.xml which internally call 3 build.xml in the subdirectory and
> compile the source code and run the junit test cases.
> Package each subdirectory src code into jar
> Upload to github.com/microsoft-scmgalaxy/buildrelease3 under “lib/v1-2-3” folder

Using Maven
> Write a Masterpom.xml which internally call 3 pom.xml in the subdirectory and
> compile the source code and run the junit test cases.
> Package each subdirectory src code into jar
> Upload to github.com/microsoft-scmgalaxy/buildrelease3 under “lib/build1” folder
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

OFFERINGS/ACTIVITIES/PRACTICES UNDER SCM/BUILD/RELEASE/DEPLOYMENT
I am in the process of making a list of Offerings/Activities/Practices under SCM/build/release/Deployment area.

Can some someone please suggest some of those Offerings/Activities/Practices which come under SCM/build/release/Deployment.

i have attached a some of the listing in the document.

NAME OF THE TEAM WHICH HAS CM, BUILD, RELEASE, APPOPP AND DB ENGINEER
Hello Folks,

I am looking for ideal NAME OF THE TEAM which has CM, Build, Release, AppOpp Support and Database engineers. Few people Suggested that it should be DevOps and some of them voted for EnterpriceAppOps Team. What is the naming convention is being used in your company? Please comment for new name as well if you have some idea.

ESCAPING A PASSWORD USING MYSQLDUMP CONSOLE
when you use the quotes, make sure there is no space :
between -p and ‘PASSWORD’ or
between –password= and ‘PASSWORD’

correct:
mysql -u root -p’PASSWORD’
mysql -u root –password=’PASSWORD’

does not work:
mysql -u root -p ‘PASSWORD’
mysql -u root –password = ‘PASSWORD’

you can also define a variable and then use it for the command (still with no spaces in between) MSQLPWD=’PASSWORD’
mysql -u root -p$MSQLPWD
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

RELEASE VERSION PORTAL
Hi,

We have a complex product architecture having multiple integrated component making a complete solution.

Each component has its own development team and which provide their delivery to release management team

We have catered the version numbering system where all components are sent under one version in incremental manner.

Now in order to provide the high level visibility to the management about what version of which component is running in QA staging and prod i need to have url based dashboard.

How can achieve this using any simple free tool which enable the font end data form entry , and when someone click on specific version hyperlink it should redirect to release notes of that version in SharePoint.

We tried creating list in SharePoint but it didn’t work as we need environment name as columns and components as rows against which we have to enter version number in the grid table as hyperlinks.

something like

QA staging Prod
Component A 1.7.4 4.24.4 1.4.5
Component B 3.46.5 3.5.7 3.5.7
Component C 3.6.5 3.5.7 2.6.7

PUPPET
As anyone worked on puppet Configuration Management tool? Can you please provide the complete details about that or point me to any web portal which contains details except puppetlabs.com

CODE PROMOTION MODEL
Hi ,

I am looking for a code promotional model example like how to dev-> qa -> uat _ release.

How to maintain the branches ?
How to merge the code after the release if the fixes are there?

Can some give a real time example how it is maintained in other companies.

CM BEST PRACTICES WEB SITE:
www.cmbestpractices.com/

SAMPLE RESUME
Can any attache sample resume for build and release engineer.

I need for reference , not for projects but for technical data.

AUTOMATICALLY BCC ALL OUTGOING MESSAGES
automatically Bcc all outgoing messages

www.outlookcode.com/article.aspx?id=72

IBM RATIONAL CLEARCASE VERSION 7.1.1 RELEASE
TEST TOPICS
test topics

AFTER 9 YRS……………..
Hi Everyone,

If ur working as a build and release engineer what would be the growth or opportunity after 9 yrs.

Various path :

1) Can we become a release manger (do we have more opportunity )

2) Is there any certification for becoming release manager

To be clear if we work as developer or QA or System Engineer we may become architect or manager or may be any thing which have opportunity .

want clear way for build and release engineer

CANNOT OPEN THE DISK
Earlier my disk was full and my VMware stopped working.

Later when i start my VM after disk cleanup, i am getting following error. any idea?
Cannot open the disk ‘C:\Windows XP Professional-000002.vmdk’ or one of the snapshot disks it depends on.
Reason: The specified virtual disk needs repair.

BEST PRACTICE IN BRANCHING
Git does not dictate a process, so usually each project does. Common featurs:
–> Branch for features
–> Branch for fixes
–> Branch for experiments
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

SHELL OR PERL
When do we use the shell or perl scripting in build or configuration mgnt?

Any example?

Which can be preferd shell or perl for build and release carrer?

HOW TO HIRE THE BEST WEBSITE DESIGN COMPANY.
Once a business has been developed and set up properly, the need for a website arises. The website is the online identity of a company and it is necessary that you hire an experienced and professional website design company who can complete the task perfectly. While looking for the best website design company you should compare the prices as well as services offered by the various companies in the market. Before hiring a website design company, it is necessary to assemble the various ideas or thoughts of what your business needs and requirements are. Even if you have already hired a web designer, you still need your website to project your ideas. Creating a list of ideas and services that you plan to offer through your site is a good idea so that when you hire the design company, you are already prepared.

You should also make sure that the company you hire has a good track record in terms of customer satisfaction. This can be done by asking your friends who have utilized the firm’s services or by reading customer reviews online. Checking out their work portfolio can give you a better view of their work quality and their individual style. You can choose the services of a firm depending on whether or not the services offered meet your requirements and specifications and whether that design company has the ability and talent required to design your website you are thinking of.

COMPONENT OBSOLESCENCE TRACKING
Often obsolescence management is confined to availability of parts, but the issue of obsolescence management goes beyond. There are key issues related to it- design for the longest possible product life cycle, availability of electronic parts, skills to modify the product, product knowledge, system and domain, tools to modify the product and continuing Electronic Security and Support Issues. While the product is being designed it is important to identify the parts that pose the greatest obsolescence risk. Component Obsolescence Management has to be balanced against product features.

For example, opto-electronic displays (LCDs, OLEDs) commonly tend to become obsolete quickly despite big promises made by their vendors. The design phase will result in a list of parts that are at risk for obsolescence. A proactive approach must be taken to manage these at risk parts. This is possible only if the product is part of an expensive long life cycle product. An estimate is prepared for the requirement of at risk parts for the entire life cycle and these parts are procured. This is a costly process and it is important to correctly identify the risk parts and limit the procurement to them. It is also important to store the parts acquired properly. A less costly approach for handling at risk components is to do obsolescence tracking for them. For critical components, it is essential that the availability be proactively checked every month. Thus, you will want to buy enough components to make sure your product stays in production while your engineering team redesigns the product to not use the part about to go obsolete.

APPLICATION PACKAGING INTERVIEW TIPS…….
Hi,

Need advise for preparation of application packaging interview .

Currently i am working on Installshield.

What are the general questions do we expect for application packaging job ?

BUILD AND RELEASE ENGINEER JOB GROWTH ?
Hi guys,

I am working on build and release from past 1.5 years (70%) on installshield cruisecontrol,maven,finalbuilder,hudson on windows platform.

Apart form these i am working on .net (bug fixing).

I am in a confusion whether to change my designation to build and release engineer or software engineer.

How will be growth in build and release ?

UNIX COMMAND
Hi All,

What is the command to find error line in a file and 10 lines above abd 10 lines below error line?

Say if I have a error text at line 35, I want 10 lines above 35th line and below 10 lines below 35th line.

EC2 FTP CONNECTION PROBLEM – WINDOWS INSTANCE –
We’re trying ftp connection from EC2 ftp client to external our server.
But we encounterd the following ftp connection problem.

We need to solve this problem.
We are very much appreciated if you could give us the solutions.

1. Problem
EC2 ftp client fail to conect to ftp Server ,
pwd or cd command can work, but ls, put and get comand cannot work.
We need to use Windows ftp command for connection.
ftp client is EC2 and have Elastic IP address
ftp server is on our office side and have grobal IP address.

2. ftp client Environment
Amazon EC2
Windows 2003 Server Instance
Windows ftp command
EC2 Elastic IP address – zz.zz.zz.zz
EC2 Internal IP address – aa.aa.aa.aa
We used EC2 as ftp client, not ftp server.

3. ftp Server Environment
ftp server is on our office Japan.
it have a grobal IP address xx.xx.xx.xx.

4. firewall security on our office
Our office -> EC2(internet) : all tcp permitted
EC2(internet) -> Our office: tcp20/21 permitted.

5. EC2 security group setting.
tcp20/21 from any IP permitted

6. EC2 ftp client Log
ftp> open xx.xx.xx.xx
Connected to xx.xx.xx.xx
220 ftp server ready.
User (xx.xx.xx.xx:(none)):
—> USER yyyyy
331 Password.
—> PASS ecopass
230 User yyyyy logged in super!
ftp> cd LogFiles\DayLog
—> CWD LogFiles\DayLog
250 CWD command succesful.
ftp> ls
—> PORT aa,aa,aa,aa,9,134
200 PORT command successful.
—> NLST
150 ASCII data.

xx.xx.xx.xx means that ftp Server grobal IP address
aa,aa,aa,aa means that EC2 Internal IP address

7. ftp Server ftp log
Session 7, Peer xx.xx.xx.xx ftp Server session started
Session 7, Peer xx.xx.xx.xx ftp Server session started
Session 7, Peer xx.xx.xx.xx USER xxxx
Session 7, Peer xx.xx.xx.xx 331 User name ok, need password
Session 7, Peer xx.xx.xx.xx ftp: Login attempt by: xxxx
Session 7, Peer xx.xx.xx.xx PASS XXXXXXX
Session 7, Peer xx.xx.xx.xx 230 User logged in
Session 7, Peer xx.xx.xx.xx ftp: Login successful
Session 7, Peer xx.xx.xx.xx PORT aa,aa,aa,aa ,5,106 <- EC2 Internal IP Address Session 7, Peer xx.xx.xx.xx 200 PORT command successful. Session 7, Peer xx.xx.xx.xx NLST Session 7, Peer xx.xx.xx.xx Could not connect to peer. Aborting transfer. Session 7, Peer xx.xx.xx.xx 226 Closing data connection Session 7, Peer xx.xx.xx.xx QUIT Session 7, Peer xx.xx.xx.xx 221 Service closing control connection Session 7, Peer xx.xx.xx.xx ftp: Connection closed. 8. reason why It seems that EC2 Internal IP address is used when ftp Server tried to tansfer data to EC2 ftp client by TCP20. We tried ftp PASSIVE mode by literal command, but rejected by ftp Server. ftp> literal pasv
—> pasv
502 [pasv] Command not implemented.

W need to solve this problem.

Thank you for reading.

Message was edited by: mgcloud
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

DIRECTLY SUPPORTED BUILD TOOLS
Shell / command script
Ant
Groovy
OpenMake Meister
Maven
Maven2
Make
MsBuild
NAnt
Rake (Ruby)
Visual Studio (‘devenv’)
FinalBuilder
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

LIST OF TEST TOOLS
Agitar
CppUnit result rendering
JUnit result rendering
NUnit result rendering
QualityCenter test rendering
PHPUnit result rendering
PMD result rendering
Clover result rendering
Selenium result rendering
SilkCentral
MSTest result rendering
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

LIST OF ISSUE & PM INTEGRATIONS
Bugzilla
ClearQuest
Confluence
JIRA
Mingle
QualityCenter
Rally
Rubyforge.org
Scarab
Sourceforge.net
Trac
VersionOne
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

LIST OF SCM TOOLS
List of SCM Tools (Version Control Tools / Configuration Management Tools)

AccuRev
AlienBrain
Bazaar
BitKeeper
ClearCase
CA Harvest
CM Synergy
CVS
Dimensions
File system SCM
Git
HTTP file
MKS
Perforce (p4)
PVCS
SourceGear Vault
StarTeam
Subversion
Surround
Team Foundation Server
VSS
VSS Journal
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

QUESTION FROM RELEASE ENGINEER SCM PERSPECTIVE
1. How many major, minor releases a year per project?
2. How many customers per release per project?
3. How do you deliver the releases to the customers? – Is it physical media
4. distribution or Push/Pull mechanism from web or any other process?
5. Is the distribution CD/DVD creation process automated?
6. What is the size of the release deliverable?
7. What are the contents of a release?
8. How is the release bundle tested?
9. How many platforms are certified? How different are the release packages?
10. Is there any release check-list for cross-check?
11. Is any part of the release process automated?
12. Is there a need for i18n? If yes, is the i18n release handled separately?
13. In case of installers, is there installer testing? Is it automated?
14. Is the release schedule well-planned?
15. Are you delivering patches in well constructed and cost effective way?
16. Is there any release audit process in place?
17. How are you tracking your releases?
18. Is there any legal compliance in place while shipping the release to the customers?
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

QUESTION FROM BUILD ENGINEER SCM PERSPECTIVE
1. What is the build process adopted (automated/manual)?
2. Are there nightly builds?
3. Is there continuous integration?
4. Are there smoke and sanity tests at the end of the build?
5. What is the build acceptance criterion (BAT)?
6. What is the build duration? Is it optimal?
7. How are pre-conditions to the build verified?
8. Are there any build environment integrated automated unit test-cases?
9. Is there any enforcement tool on coding standards?
10. Is there any code coverage tool being used?
11. Are the post build activities automated?
12. Any additional practices (like checksum generation, signing the build artifacts) in place as part of the build?
13. Are there any scripting technologies used in automating build process?
14. Is Labeling strategy well-defined?
15. If any third party tool is being used for packaging, is that package creation process automated?
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

QUESTION FROM CONFIGURATION MANAGER SCM PERSPECTIVE
1. Do you know what files/documents should be delivered?
2. How do you track who changed what, when, where, and why?
3. How long does a build or release take?
4. Is there a Configuration Management Plan document?
5. Is there a tight integration between Version control tool and Bug/Change tracking tool?
6. How the parallel (if any) development is enabled? Any limitations with the current branching strategy?
7. Is this project development spanned across multiple sites? If so, what is your multi-site strategy?
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

QUESTION FROM TESTERS SCM PERSPECTIVE
1. Do you know what files/documents should be delivered?
2. How do you assess, and track the impact of a proposed change?
3. Can you show me what artifact versions went into a certain release?
4. How comfortable are you working with Bug/Change management tool?
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

QUESTIONS FROM DEVELOPERS IN SCM PERSPECTIVE
1. How do you baseline project artifacts?
2. Can you build your system reliably and repeatedly?
3. Explain your labeling scheme?
4. Can you show me what versions went into a certain release?
5. What does the version tree for this file look like?
6. How many product versions are you supporting at the moment?
7. What is the version control tool being used? Is it user friendly?
8. What is the bug tracking/change management tool being used? Is it user friendly?
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

QUESTION FROM PROJECT/DEVELOPMENT MANAGERS SCM PERSPECTIVE
How do you maintain all the artifacts together and version them?
Where are the people working on the project located?
What’s the difference between Developer CM and Release CM?
How do you assess, and track the impact of a proposed change?
How do you manage system integration of modules developed by individual developers?
How many product versions are you supporting at this moment?
Who is the designated Configuration Manager?
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

QUESTIONS TO IDENTIFY THE SUPPORTING TOOLS
What are the tools that you currently use in your work?
How is the integration among the above tools?
Are we using the tool features the way they are designed or intended?
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

QUESTIONS TO CHARACTERIZE THE PROJECT APPLICATION

  • What is the size of each project (duration, persons, person years, LOC)
  • What type (maintenance / enhancement / new development / prototype / feasibility)
  • What type of development model is being used?
  • Are we using any process models like UCM, RUP or any other?
  • Any industry/domain specific standards (like CMMI, ITIL etc.) to be followed?

Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

MIGRATION OF CLEARCASE TO GIT
Could anyone help me in this case, migrating CC vob to GIT.

Thanks & Regards,
Vijay

LOOKING FOR SUGGESTIONS FOR BUILD JOBS
Looking for suggestions for build jobs using Mercurial MQ

Hello

I’ve recently setup matrix projects to test Py libs (so far axis are
the version of the interpreter and versions of dependencies) .
Considering the fact that Hudson Mercurial plugin doesn’t provide
explicit support for MQ (AFAIK) I’m looking for suggestions so as to
find ways to work around this limitation in order to achieve the
following

1. First of all I’d like to test each and every revision
committed to the repository . I think this could be
achieved by parameterizing the build job and
supplying individual revision number
to the build in the Hg hook that triggers it
from remote (is there a better way to do this ?)
2. I’d like to start a variable number of jobs , more
precisely one job for each patch in the queue .
The goal is to ensure that every patch will work
if applied against repository trunk (have
no idea of how to do this …)
3. I need to copy some (script) files to the workspace
before starting the build (and I don’t use neither Ant
nor Maven, nor MSBuild, nor … I just need to copy
static files ;o) .
4. I need to publish in the build results page
some files generated
during the build (binaries, logs, … ) and browse
(some of) them inside Hudson site . They should
be accessible from the page showing build results
e.g. myserver.com/job/jobname/49

(I suppose this is the «Archive the artifacts» +
«Files to archive» combination … isn’t it ? )
5. I need to execute custom scripts only if the build
succeds.

Please ideas and suggestions about how to do this (and probably
plugins that need to be installed, …) will be very welcomed.

Thnx in advance !

FINDING COMPUTER NAME USING IP
I need to find the computer name of one PC connected in LAN (joined to domain).
I have the IP address of terminal. how i will find the computername?

kindly advice
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn

ARTICLE FORMATTING
Where can I find the help for formatting the articles? Like syntax for adding code, images, url etc.

Thanks,
-Tushar

UNPUBLISHED ARTICLES
I have posted 2 articles but looks like not published yet.

Please let me know if these requires any modifications.

HOW TO LESSEN DEPLOYMENT TIME?
Hi All,

Can anyone please let me know any technique in which we can reduce the deployment time from Dev environment to other environment, we currently use robocopy for copying files.

Please share your ideas/ suggestions.

A FORUM TO DISCUSS APPLICATION PACKAGING
A Forum to discuss Application packaging related issues, troubleshoot, queries, tools and share knowledge. Covers all installer software.

www.packaginggalaxy.com

www.packaginggalaxy.com – A Forum to discuss Application packaging related issues, troubleshoot, queries, tools and share knowledge. Covers all installer software such as

wyBuild & wyUpdate
WiX
Wise Package Studio
Wise Installation Express 7
Wise Installation Studio 7
Windows Installer
VISE X
Tarma QuickInstall 2
Tarma Installer 5
Tarma ExpertInstall 3
Smart Install Maker
Setup Factory
SetupBuilder Professional Edition
Scriptlogic Desktop Authority MSI Studio
Scriptlogic Desktop Authority MSI Studio
Remote Install Mac OS X
QSetup
Nullsoft Scriptable Install System (NSIS)
MSI Package Builder
LANrev InstallEase
JExpress
Instyler Setup
Installer VISE
InstallShield
InstallAnywhere
InstallAce
Install Creator (Pro)
InstallBuilder
InstallAware
Inno Setup
Iceberg
Excelsior Delivery
Excelsior Installer
DreamShield
DeployMaster
CreateInstall Free
CreateInstall Light
CreateInstall
ClickInstall
Advanced Installer

Tagged : /

Top 5 Open Source Code Management tools

top-5-open-source-code-management-tools
The old way of software development where the release engineers ran from one mates to another mates to keep track on Developers to know which module they are working and when they changed something in the code or which bugs has been tracked or fixed. No doubt, that process was pathetic, stressful, filled with issues and errors.
But, now things have changed. This is the era of DevOps where everyone works as a Team and collaborate with each other and use various tools in the Software Development Lifecycle. So, today we are going to discuss on one of the most important tool called by name Code Management Tools. In this article we will see top 5 open source code management tools which are mostly used by DevOps professionals these days.
But before going further lets see what is source code management?
Code management is actually a process of handling or managing changes to source code over time with the help of softwares or tools. These softwares keeps track of every changes and modifications in the code which is made by developers frequently. If there is some kind of mistakes made by developers they can simply go back compare it with previously written code and fix the mistakes easily. With the help of code management tools Developers team can work on different features and on bug fixing simultaneously by changing code with out disrupting team members. In other words you can say It give developers the ability to work concurrently on files (in branches that may or may not converge) without conflicting each other and also give developers the ability to merge changes with other developers’ changes, to track and audit changes that were requested and made, to track bug-fix status and to perform releases.
So now the question is which code management tools to use. When you search for the options you will get hundred of tools in your search results. To make this job easy for you we have done some research and make this list of Top 5 Open Source Code Management tools.

1. Subversion

Subversion

Key Features
  • Open Source
  • Merge tracking
  • Renamed/copied/moved/removed files retain full revision history.
  • Google Code even uses SVN
  • Path-based authorization
  • Language bindings for C#, PHP, Python, Perl, Ruby, and Java
  • Changelists to organize commits into commit groups

2. GIT

GIT

Key Features
  • open source
  • cheap local branching
  • fast performance
  • multiple workflows
  • convenient staging areas
3. Mercurial

Mercurial
Key Features
  • open source
  • fast and powerful
  • easy to learn
  • functions are less complicated
  • integrated web-interface

4. Github

Github

Key Features
  • Open Source
  • Code review
  • Issue tracking with labels, milestones
  • largest host of source code in the world
  • Commits history
  • Graphs: pulse, contributors, commits, code frequency, punch card, network, members
  • Unified and split diffs

5. CVS

CVS

Key Features
  • Open Source
  • Easy to learn
  • Google still hosts the original Usenet post that announced CVS
  • Maintains a central repository of the most recent repository
  • CVS allows to rollback any commit in the repository, even if this may require some time
  • CVS uses a client–server architecture
  • CVS can also maintain different “branches” of a project
  • Several developers may work on the same project concurrently
Code Management these days plays an important role in development process and especially when team (large / small) works on single application. So, choose it wisely. Now , its your turn if you think this list should contain some other tools instead of this than write below in the comment box.
Tagged : / / / / / / / / / / / / /

Top 5 Git hosting solutions | List of best Git hosting tools

top-5-git-hosting-solutions
This is the era of DevOps where automation and collaboration is the key of success in software industry. This is the reason code availability is for everyone in the team is the necessity for today’s work environment. Developers are using Git nowadays for their code management and collaboration. But, this is not enough. Now you need to decide, which GIT hosting solution is good for your collaboration within your team or organization.
You can find so many options who offers hosting for GIT Repositories, which makes it really a challenge to find the right solution for your needs. Therefore, we are presenting you the list of top ten git hosting solutions.
Here is the list of Top Five Git Hosting Solutions
1. Bitbucket
 

 Bitbucket
Bitbucket formerly knows as stash belongs to one of the best software solution provider Atlassian who also developed popular tools like JIRA, Bamboo & Confluence. It offers both plans free & Commercial. Bitbucket is written in python.

Key Features
  • web-based hosting service
  • Unlimited private repositories
  • Supports private & Public repositories
  • Native integration (Jira, Confluence,Bamboo)
  • Flexible deployment models
  • Source tree – works with any git hosting
  • Branch permissions
  • Git Large File Storage (LFS)
2. GitHub

 GitHub

Github is one of the top Git hosting solution which is belongs to GitHub, Inc. and founded in the year 2008. As per the latest Github reports they have  52 million repositories which shows that they are one of the most trusted brands in the industry. Github is written also written in Ruby.
Key features
  • web-based hosting service
  • Unlimited private repositories
  • Built-in code review
  • Supports private and Public repositories
  • Support Many Programming language
  • Flexible hosting plans
  • Free to use for public and open source projects
  • Comes with Issue tracking & Wikis
3. GitLab

 GitLab

Gitlab is an open source git hosting service provider which belongs to GitLab Inc. Gitlab claimed themselves as modern software development. This tool is launched in 2011 is written in Ruby and Go. Gitlab is also amongst the most trusted brand which is also used by even NASA. GItlab has more than 1400 contributors which makes it one of the most reliable service provider.
Key Features
  • Unlimited public and private repos
  • web-based Git repository manager
  • wiki and issue tracking features
  • open source
  • Allow Project importing
  • Own Continuous Integration service
  • Collect and share reusable code
  • Control read/write permissions to specific branches
4. Microsoft Visual Studio Team Services

 Microsoft Visual Studio Team Services

Visual studio team services formerly known as Visual Studio Online is a Microsoft product which is launched in the year 2012. Visual studio is also a very good option for Git hosting. This platform includes not only code hosting but it has its own CI & agile planning tools for scrum and kanban teams. If you have 5 members team than you can use there most features for free but you need to upgrade your plans if you want to increase that number.

Key Features
  • Unlimited private code repositories
  • Customizable Dashboards
  • Branch Updates
  • Code reviews
  • Web Hooks & API Integration
  • unlimited free private git repositories
  • Get functionality with extensions
  • Semantic Code Search
  • Security – SOC compliance and multi-factor authentication
  • Built-in continuous integration and support for Jenkins and others tools
5. Perforce

 Perforce

Perforce or perforce helix is also amongst one the most reliable and trusted git hosting solution. Perforce was initially released in the year 1995 which makes it one the veteran player of the software industry. Recently they have introduced Git Swarm with Gitlab collaboration. It comes with similar features like Gitlab but in terms of security and scalability it is more reliable.

Key Features

  • All the power and flexibility of Git without compromise:
  • Access control is more fine-grained
  • Specific branches and files can be locked
  • Developers can “slice” big repositories and pull only what they need
  • Pull requests
  • Merge-request workflow
  • Issue tracking
  • Git powered Wiki
  • Project visibility & security
  • Automatically mirrors work into Helix mainline repository
SO, these are the top players currently trending in GIT hosting solutions. Hope this will help you while selecting your hosting solutions. One more thing, if you think that this list is missing any other solutions instead of this than feel free to share with us in the comment section below.
Tagged : / / / / / / / / / / / / / / / /

Git Interview Questions and Answer

git-interview-questions-and-answer

Q1. What is GIT?

Git is a distributed version control system and source code management (SCM) system with focus to handle small and large projects source code versions in the local repository with speed and efficiency. It is free and open source and its one of widly used versioning tools used ever worldwide.


Q2. What do you understant the repository in Git?

A repository in git, consists of .git directory which contains the each source code commited in form of objects created using SHA1 algorithms. A .git directry where git keeps all of its metadata for the source code in objects forms. It also contains the git configuration file, breanch reference and staging state of the work space.


Q. What is the command you can use to write a commit message?

The command that is used to write a commit message is “git commit –m”this is reason for commit”.  The –a on the command line instructs git to commit the new content of all tracked files that have been modified. You can use “git add <file>” before git commit –a if new files need to be committed for the first time.

In nutshell, any new changes has to added from working directory to stageing area and then commit from staging area to reposiory. Please refer the image for the same as below;


Q. What is the difference between GIT and SVN?

The difference between GIT and SVN is

  1. Git is less preferred for handling extremely large files or frequently changing binary files while SVN can handle multiple projects stored in the same repository.
  2. GIT does not support ‘commits’ across multiple branches or tags.  Subversion allows the creation of folders at any location in the repository layout.
  3. Gits are unchangeable, while Subversion allows committers to treat a tag as a branch and to create multiple revisions under a tag root.

Q. What are the advantages of using GIT?

  1. Data redundancy and replication
  2. High availability
  3. Only one.git directory per repository
  4. Superior disk utilization and network performance
  5. Collaboration friendly
  6. Any sort of projects can use GIT

Q. What language is used in GIT?

GIT is fast, and ‘C’ language makes this possible by reducing the overhead of runtimes associated with higher languages.


Q. What is the function of ‘GIT PUSH’ in GIT?

‘GIT PUSH’ updates remote refs along with associated objects.


Q. Why GIT better than Subversion?

GIT is an open source version control system; it will allow you to run ‘versions’ of a project, which show the changes that were made to the code overtime also it allows you keep the backtrack if necessary and undo those changes.  Multiple developers can checkout, and upload changes and each change can then be attributed to a specific developer.


Q. What is “Staging Area” or “Index” in GIT?

Before completing the commits, it can be formatted and reviewed in an intermediate area known as ‘Staging Area’ or ‘Index’.


Q. What is GIT stash?

GIT stash takes the current state of the working directory and index and puts in on the stack for later and gives you back a clean working directory.  So in case if you are in the middle of something and need to jump over to the other job, and at the same time you don’t want to lose your current edits then you can use GIT stash.

Q. What is GIT stash drop?

When you are done with the stashed item or want to remove it from the list, run the git ‘stash drop’ command.  It will remove the last added stash item by default, and it can also remove a specific item if you include as an argument.


Q. How will you know in GIT if a branch has been already merged into master?

Git branch—merged lists the branches that have been merged into the current branch

Git branch—no merged lists the branches that have not been merged


Q. is the function of git clone?

The git clone command creates a copy of an existing Git repository.  To get the copy of a central repository, ‘cloning’  is the most common way used by programmers.


Q. What is the function of ‘git config’?

The ‘git config’ command is a convenient way to set configuration options for your Git installation.  Behaviour of a repository, user info, preferences etc. can be defined through this command.


Q. What does commit object contain?

  1. A set of files, representing the state of a project at a given point of time
  2. Reference to parent commit objects
  3. An SHAI name, a 40 character string that uniquely identifies the commit object.

Q. How can you create a repository in Git?

In Git, to create a repository, create a directory for the project if it does not exist, and then run command “git init”. By running this command .git directory will be created in the project directory, the directory does not need to be empty.


Q. What is ‘head’ in git and how many heads can be created in a repository?

A ‘head’ is simply a reference to a commit object. In every repository, there is a default head referred as “Master”.  A repository can contain any number of heads.


Q. What is the purpose of branching in GIT?

The purpose of branching in GIT is that you can create your own branch and jump between those branches. It will allow you to go to your previous work keeping your recent work intact.


Q. What is the common branching pattern in GIT?

The common way of creating branch in GIT is to maintain one as “Main“

branch and create another branch to implement new features. This pattern is particularly useful when there are multiple developers working on a single project.


Q. How can you bring a new feature in the main branch?

To bring a new feature in the main branch, you can use a command “git merge” or “git pull command”.


Q. What is a ‘conflict’ in git?

A ‘conflict’ arises when the commit that has to be merged has some change in one place, and the current commit also has a change at the same place. Git will not be able to predict which change should take precedence.


Q. How can conflict in git resolved?

To resolve the conflict in git, edit the files to fix the conflicting changes and then add the resolved files by running “git add” after that to commit the repaired merge,  run “git commit”.  Git remembers that you are in the middle of a merger, so it sets the parents of the commit correctly.


Q. To delete a branch what is the command that is used?

Once your development branch is merged into the main branch, you don’t need development branch.  To delete a branch use, the command “git branch –d [head]”.


Q. What is another option for merging in git?

“Rebasing” is an alternative to merging in git.


Q. What is the syntax for “Rebasing” in Git?

The syntax used for rebase is “git rebase [new-commit] “


Q. What is the difference between ‘git remote’ and ‘git clone’?

‘git remote add’  just creates an entry in your git config that specifies a name for a particular URL.  While, ‘git clone’ creates a new git repository by copying and existing one located at the URI.


Q. What is GIT version control?

With the help of GIT version control, you can track the history of a collection of files and includes the functionality to revert the collection of files to another version.  Each version captures a snapshot of the file system at a certain point of time. A collection of files and their complete history are stored in a repository.


Q. Mention some of the best graphical GIT client for LINUX?

Some of the best GIT client for LINUX is

  1. Git Cola
  2. Git-g
  3. Smart git
  4. Giggle
  5. Git GUI
  6. qGit

Q. What is Subgit? Why to use Subgit?

‘Subgit’ is a tool for a smooth, stress-free SVN to Git migration.  Subgit is a solution for a company -wide migration from SVN to Git that is:

a)      It is much better than git-svn

b)      No requirement to change the infrastructure that is already placed

c)       Allows to use all git and all sub-version features

d)      Provides genuine stress –free migration experience.


Q. What is the function of ‘git diff ’ in git?

‘git diff ’ shows the changes between commits, commit and working tree etc.


Q. What is ‘git status’ is used for?

As ‘Git Status’ shows you the difference between the working directory and the index, it is helpful in understanding a git more comprehensively.


Q. What is the difference between the ‘git diff ’and ‘git status’?

‘git diff’ is similar to ‘git status’, but it shows the differences between various commits and also between the working directory and index.


Q. What is the function of ‘git checkout’ in git?

A ‘git checkout’ command is used to update directories or specific files in your working tree with those from another branch without merging it in the whole branch.


Q. What is the function of ‘git rm’?

To remove the file from the staging area and also off your disk ‘git rm’ is used.


Q. What is the function of ‘git stash apply’?

When you want to continue working where you have left your work, ‘git stash apply’ command is used to bring back the saved changes onto the working directory.


Q. What is the use of ‘git log’?

To find specific commits in your project history- by author, date, content or history ‘git log’ is used.


Q. What is ‘git add’ is used for?

‘git add’ adds file changes in your existing directory to your index.


Q. What is the function of ‘git reset’?

The function of ‘Git Reset’ is to reset your index as well as the working directory to the state of your last commit.


Q. What is git Is-tree?

‘git Is-tree’ represents a tree object including the mode and the name of each item and the SHA-1 value of the blob or the tree.


Q. How git instaweb is used?

‘Git Instaweb’ automatically directs a web browser and runs webserver with an interface into your local repository.


Q. What does ‘hooks’ consist of in git?

This directory consists of Shell scripts which are activated after running the corresponding Git commands.  For example, git will try to execute the post-commit script after you run a commit.


Q. Explain what is commit message?

Commit message is a feature of git which appears when you commit a change. Git provides you a text editor where you can enter the modifications made in commits.


Q. How can you fix a broken commit?

To fix any broken commit, you will use the command “git commit—amend”. By running this command, you can fix the broken commit message in the editor.


Q. Why is it advisable to create an additional commit rather than amending an existing commit?

There are couple of reason

  1. The amend operation will destroy the state that was previously saved in a commit.  If it’s just the commit message being changed then that’s not an issue.  But if the contents are being amended then chances of eliminating something important remains more.
  2. Abusing “git commit- amend” can cause a small commit to grow and acquire unrelated changes.

Q. What is ‘bare repository’ in GIT?

To co-ordinate with the distributed development and developers team, especially when you are working on a project from multiple computers ‘Bare Repository’ is used. A bare repository comprises of a version history of your code.


Q. How do you revert a commit that has already been pushed and made public?

One or more commits can be reverted through the use of git revert. This command, in essence, creates a new commit with patches that cancel out the changes introduced in specific commits. In case the commit that needs to be reverted has already been published or changing the repository history is not an option, git revert can be used to revert commits. Running the following command will revert the last two commits:

git revert HEAD~2..HEAD

Alternatively, one can always checkout the state of a particular commit from the past, and commit it anew.


Q. How do you squash last N commits into a single commit?

Squashing multiple commits into a single commit will overwrite history, and should be done with caution. However, this is useful when working in feature branches. To squash the last N commits of the current branch, run the following command (with {N} replaced with the number of commits that you want to squash):

git rebase -i HEAD~{N}

Upon running this command, an editor will open with a list of these N commit messages, one per line. Each of these lines will begin with the word “pick”. Replacing “pick” with “squash” or “s” will tell Git to combine the commit with the commit before it. To combine all N commits into one, set every commit in the list to be squash except the first one. Upon exiting the editor, and if no conflict arises, git rebase will allow you to create a new commit message for the new combined commit.


Q. How do you find a list of files that has changed in a particular commit?

git diff-tree -r {hash}

Given the commit hash, this will list all the files that were changed or added in that commit. The -r flag makes the command list individual files, rather than collapsing them into root directory names only.

The output will also include some extra information, which can be easily suppressed by including a couple of flags:

git diff-tree –no-commit-id –name-only -r {hash}

Here –no-commit-id will supress the commit hashes from appearing in the output, and –name-only will only print the file names, instead of their paths.


Q. How do you setup a script to run every time a repository receives new commits through push?

To configure a script to run every time a repository receives new commits through push, one needs to define either a pre-receive, update, or a post-receive hook depending on when exactly the script needs to be triggered.

Pre-receive hook in the destination repository is invoked when commits are pushed to it. Any script bound to this hook will be executed before any references are updated. This is a useful hook to run scripts that help enforce development policies.

Update hook works in a similar manner to pre-receive hook, and is also triggered before any updates are actually made. However, the update hook is called once for every commit that has been pushed to the destination repository.

Finally, post-receive hook in the repository is invoked after the updates have been accepted into the destination repository. This is an ideal place to configure simple deployment scripts, invoke some continuous integration systems, dispatch notification emails to repository maintainers, etc.

Hooks are local to every Git repository and are not versioned. Scripts can either be created within the hooks directory inside the “.git” directory, or they can be created elsewhere and links to those scripts can be placed within the directory.


Q. What is git bisect? How can you use it to determine the source of a (regression) bug?

Git provides a rather efficient mechanism to find bad commits. Instead of making the user try out every single commit to find out the first one that introduced some particular issue into the code, git bisect allows the user to perform a sort of binary search on the entire history of a repository.

By issuing the command git bisect start, the repository enters bisect mode. After this, all you have to do is identify a bad and a good commit:

git bisect bad # marks the current version as bad

git bisect good {hash or tag} # marks the given hash or tag as good, ideally of some earlier commit

Once this is done, Git will then have a range of commits that it needs to explore. At every step, it will checkout a certain commit from this range, and require you to identify it as good or bad. After which the range will be effectively halved, and the whole search will require a lot less number of steps than the actual number of commits involved in the range. Once the first bad commit has been found, or the bisect mode needs to be ended, the following command can be used to exit the mode and reset the bisection state:

git bisect reset


Q. What are the different ways you can refer to a commit?

In Git each commit is given a unique hash. These hashes can be used to identify the corresponding commits in various scenarios (such as while trying to checkout a particular state of the code using the git checkout {hash} command).

Additionally, Git also maintains a number of aliases to certain commits, known as refs. Also, every tag that you create in the repository effectively becomes a ref (and that is exactly why you can use tags instead of commit hashes in various git commands). Git also maintains a number of special aliases that change based on the state of the repository, such as HEAD, FETCH_HEAD, MERGE_HEAD, etc.

Git also allows commits to be referred as relative to one another. For example, HEAD~1 refers to the commit parent to HEAD, HEAD~2 refers to the grandparent of HEAD, and so on. In case of merge commits, where the commit has two parents, ^ can be used to select one of the two parents, e.g. HEAD^2 can be used to follow the second parent.

And finally, refspecs. These are used to map local and remote branches together. However, these can be used to refer to commits that reside on remote branches allowing one to control and manipulate them from a local Git environment.


Q. What is git rebase and how can it be used to resolve conflicts in a feature branch before merge?

In simple words, git rebase allows one to move the first commit of a branch to a new starting location. For example, if a feature branch was created from master, and since then the master branch has received new commits, git rebase can be used to move the feature branch to the tip of master. The command effectively will replay the changes made in the feature branch at the tip of master, allowing conflicts to be resolved in the process. When done with care, this will allow the feature branch to be merged into master with relative ease and sometimes as a simple fast-forward operation.


Q. How do you configure a Git repository to run code sanity checking tools right before making commits, and preventing them if the test fails?

This can be done with a simple script bound to the pre-commit hook of the repository. The pre-commit hook is triggered right before a commit is made, even before you are required to enter a commit message. In this script one can run other tools, such as linters and perform sanity checks on the changes being committed into the repository. For example, the following script:

#!/bin/sh
files=$(git diff –cached –name-only –diff-filter=ACM | grep ‘.go$’)
if [ -z files ]; then
exit 0
fi
unfmtd=$(gofmt -l $files)
if [ -z unfmtd ]; then
exit 0
fi
echo “Some .go files are not fmt’d”
exit 1

… checks to see if any .go file that is about to be commited needs to be passed through the standard Go source code formatting tool gofmt. By exiting with a non-zero status, the script effectively prevents the commit from being applied to the repository.

Tagged : / / / / / / / / / / /

Top 10 DevOps Tools which is mostly used by DevOps Engineers | scmGalaxy

top-10-devops-tools
DevOps is an important component for software industry today. Developing and implementing a DevOps culture helps to focus IT results and to save time and money as the gap between developers and IT operations teams closes. Just as the term and culture are new, so are many of the best DevOps tools these DevOps engineers use to do their jobs efficiently and productively. To help you in your DevOps process, we have searched and created this list of DevOps tools which is mostly used by DevOps Engineers in their projects.

1. Chef

devops-tool-chef

Chef is an extremely popular tool among DevOps engineers. From IT automation to configuration management, Chef relies on recipes and resources so you can manage unique configurations and feel secure knowing Chef is checking your nodes and bringing them up to date for you.
Key Features:
  • Manage nodes from a single server
  • Cross-platform management for Linux, Windows, Mac OS, and more
  • Integrates with major cloud providers
  • Premium features available

2. Jenkins

devops-tool-jenkins

 

An extensible continuous integration engine, Jenkins is a top tool for DevOps engineers who want to monitor executions of repeated jobs. With Jenkins, DevOps engineers have an easier time integrating changes to projects and have access to outputs to easily notice when something goes wrong.
Key Features:
  • Permanent links
  • RSS/email/IM integration
  • After-the-fact tagging
  • JUnit/TestNG test reporting
  • Distributed builds
3. Puppet

devops-tool-puppet

Puppet is an open-source configuration management tool. It runs on many Unix-like systems as well as on Microsoft Windows, and includes its own declarative language to describe system configuration. DevOps engineers often rely on Puppet for IT automation. Get a handle on configuration management and software while making rapid, repeatable changes with Puppet.
Key Features:
  • Automatically enforce consistency of environments
  • Works across physical and virtual machines
  • A common tool-chain
  • Support key DevOps best practices, including continuous delivery

4. Ant

 

devops-tool-ant

A Java library and command-line tool, Apache Ant looks “to drive processes described in build files as targets and extension points dependent upon each other.” This build automation tool is one that saves DevOps engineers a great deal of time.
Key Features:
  • Supplies a number of built-in tasks for compiling, assembling, testing, and running Java applications
  • Builds non-Java applications, such as C or C++ applications
  • Pilot any type of process which can be described in terms of targets and tasks
  • Extremely flexible and does not impose coding conventions or directory layouts to the Java projects which adopt it as a build tool

5. Apache Maven

devops-tool-apache-maven

DevOps engineers can manage a project’s build, reporting, and documentation from a central piece of information with Apache Maven. A software project management and comprehension tool, Maven has been a reliable tool for DevOps engineers.
Key Features:
  • Simple project setup follows best practices
  • Easily work with multiple projects at one time
  • Large repository of libraries and metadata that continue to grow
  • Extensible, with the ability to write plugins in Java or scripting languages
6. Logstash

devops-tool-logstash

For open source log processing, search, and analytics, Logstash is a popular tool among DevOps engineers. Because Logstash is licensed under Apache 2.0, you can use it in the way that best suits your needs.

Key Features:
  • Collects, parses, and stores logs for later use
  • Includes a web interface for searching and drilling into all of your logs
  • Ship logs from any source, parse them, timestamp them correctly, index them, and search them

7. Docker

devops-tool-docker

 

An open platform for distributed applications, Docker is an application for DevOps engineers who want to “build, ship, and run any app, anywhere.” With Docker, you can quickly assemble apps from components and work collaboratively.
Key Features:
  • Assemble multi-container apps and run on any infrastructure
  • Compose an app using both proprietary containers and Docker Hub Official Repos
  • Manage all containers of an app as a single group
  • Cluster an app’s containers to optimize resources and provide high-availability
8. New Relic

devops-tool-new-relic

With New Relic APM, DevOps engineers spend less time monitoring applications and more time on building and deploying. A popular, reliable tool, New Relic APM is a great choice for DevOps engineers.
Key Features:
  • Helps in the build, deployment, and maintenance of web software
  • Application monitoring in one place
  • Cross application and transaction tracing
  • Database and availability and error monitoring
9. Gradle

devops-tool-gradle

 

Gradle is a robust tool for automating building, testing, publishing, and deploying software packages and other projects. With the combined power and flexibility of Ant and Maven, Gradle is an open source build automation system which is perfect and very useful for DevOps engineers.
Key Features:
  • Declarative builds and build-by-convention
  • Language for dependency-based programming
  • Structure your build
  • Deep API
  • Multi-project builds
  • Ease of migration
10. Git 

devops-tool-git 

 

Git is a mature, actively maintained open source project originally developed in 2005 by Linus Torvalds, the famous creator of the Linux operating system kernel. Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Key Features:
  • Working offline
  • Fast to Work With
  • Repositories Are Smaller
  • Moving or Adding files
  • Ignore Certain Files
  • Branches
  • Check the Status of Your Changes
  • Stash Branches
  • Cherry Pick Changes from Branches
  • Find version that Introduced a bug using Binary Search
These are the most popular DevOps tools which are used by DevOps engineers or practitioners these days. But to make most out of these tools you need to have proper knowledge of these tools like installation process, implementation process, where to you use, how to use, troubleshooting and much more. So, if you think you need help or training for these tools or for DevOps related helps than we are here to assist you with our industry expertise professionals.
Tagged : / / / / / / / / / / / / / / / / / / / /

Build and Release Course Training with Jenkins / Maven /Ant/ SVN & Git

build-and-release-training-with-jenkins-maven-ant-svn-git

Upcoming Training Dates | Training Agenda | Training Calender | FAQ | Why scmGalaxy Online Training

Click Here

Mode – Online based
Email – info@scmgalaxy.com

Lab Setup Details – Prerequisites
Operating Systems – Windows 7 or Linux(RHEL 7.X or Ubantu)
JDK 1.7 or Higher
SCM Tool Clients Installed (SVN, GIT, Perforce)
Servlet container like GlassFish and Tomcat (If one wants to host Jenkins outside) – Optional

[If trainee is having any specific learning agenda to be addressed in this training apart from the table of Content as below; please email me @ info@scmgalaxy.com]

Table of Content

Continuous Integration with Jenkins

  • What is Software Configuration Management
  • What is Build and Release Engineering
  • Introduction of Version Control Management?
    • Basic usage of Subversion
    • Basic usage of git
  • Introduction of Build Management?
    • How to write ant script?
    • How to write Maven script?
    • How to write MSBuild Script?
  • Introduction of Release Management?
  • Benefit of Continuous Integration?
  • Different Continuous Integration Tools?
  • Focus on Jenkins
  • Installation and Setup of Jenkinks
  • Configure a Job to Build the Project using SVN /GIT and ANT/Maven
  • Using Build Script (Ant, Maven and MSBuild) with Jenkins
  • Authentication and Authorization in Jenkins
  • Lab and Assignment
  • Nodes Setup in Jenkins
  • Labels, Tags and Notification using Jenkins
  • Empowered with Plugins in Jenkins
  • 20 Popular Plugins and Their Usage
  • Integrating Jenkins with Junit for automated testing
  • Integrating Jenkins with HP-QC for automated testing
  • Integrating Jenkins with Cobertura for test Coverage
  • Integrating Jenkins with Sonar for static code analysis
  • Release and Deployments using Jenkins and Nexus
  • Advance Jenkins
    • Jenkins Scripting
    • Jenkins Command line
  • Reporting and Dashboard using Jenkins
  • Lab and Assignment

Build and Release Training In Bangalore | Build and Release Training in India | Build and Release Training in Hyderabad | Build and Release Training in Delhi | Build and Release Training in Pune | Build and Release Trainer In Bangalore | Build and Release Trainer in India | Build and Release Trainer in Hyderabad | Build and Release Trainer in Delhi | Build and Release Trainer in Pune

Tagged : / / / / / / / / / / / / / / / / / / / / / / / /

Basics of Git and Gerrit | Git & Gerrit Overview | Git and Gerrit Concept

basics-of-git-and-gerrit

Git & Gerrit

  • As per British English, Git means “unpleasant person”. The inspiration of designing Git is taken from “BitKeeper” and “Monotone”. 
  • Both are distributed revision control system. Git was originally designed as a low level version control system engine and on top of this Cogito and StGIT(Stacked Git) is developed. StGIT is a Python application that provides functionality similar to quilt
  • Git is a highly performant free and open source distributed version control system as compare and contrast to other centralized version control systems such as CVS, SVN, ClearCase, and Perforce. 
  • It was initially designed and developed by Linus Torvalds for Linux kernel development in 2005.
  • As per the analysis corresponding to Eclipse IDE users, Git has reported 30% adoption as of 2013 in software industry for VCS(Version Control System)/RCS(Revision Control System)/SCM(Source code management).
  • The Stable release of Git is released on August 23, 2013 which is of version 1.8.4. Its Initial release was introduced in the 7th april 2005 . Originally Git is developed in “C”.

Gerrit

  • Gerrit is a free, web-based review tool developed by Google for Android. 
  • It is developed with a git based workflow in mind. It acts as a firewall in front of a Git repository. 
  • Software developers working in a team can review each other’s changes/modifications on their source code using a web browser and approve or reject those changes. 
  • Gerrit works on “Change”s. A change is a set of modifications to various files in your repository to accomplish a task. It is essentially one large git commit with all the necessary changes which can be both built and tested. 
  • It integrates closely with Git, a distributed version control system. 
  • It was developed at Google by Shawn Pearce (founder of JGit) for the development of the Android project. Gerrit uses Google Web Toolkit to generate front-end JavaScript code from Java source. 
  • It is a SSH server. 
  • Gerrit centralizes the distributed nature of Git, while maintaining the advantages of a DVCS, by imposing a centralized workflow. 
  • Large corporations such as SAP, Sony Mobile, Qualcomm and many other enterprises, organisations and non affiliated individuals/volunteers contributed to the review and development of the code-base.
  • The Stable release of Gerrit is released on September 18, 2013 which is of version 2.7.   
  • Originally this tool was written in Python and now this tool is written in Java, Servlet and GWT. 
  • This is a code review tool and now Apache is having its license.
Tagged : / / / / / / / / / / / / / / /