CICD Process:
Continuous Integration and Continuous Deployment
Git is the source repository. Below are some of the points.1. For enhancements a feature branch would be created out of Master. The changes for this feature would be made in the
feature branch by checking out the source code and pushing the changes.
For pushing the changes to the remote GIT repository, it first needs to be committed and then pushed.
commit - adds changes to local repository.
push - transfer the last commits to GIT Remote server.
What is difference between commit and push in git?
Since git is a distributed version control system, the difference is that commit will commit changes to your local repository, whereas push will push
changes up to a remote repo. git commit record your changes to the local repository. git push update the remote repository with your local changes.
2. Jenkins is a build tool in which source code would be compiled, JAR would be generated and copies the JAR to the specified location in the EMR cluster.
3. This would be used for UAT Testing in L3 environment. Dev testing would be done by using the JAR compiled in developers machine in L1 environment.
4. Once UAT is passed, deployment would be done in L4 with the same JAR and post 15 days of DEV warranty this code from feature branch would pushed to the
Master branch by DEVOPS team.
Basic Structure and usage:
Initially Master would be created and that would have 1.0 version of code. 2 more branches will be created out of it namely staging and Dev.
Development process:
1. Each developer would create each of their feature branch namely “feature/JIRATicketNumber” branches from Dev. This branch would be created only in local machine and not in Remote server at this point of time. Below are the steps for this process:
è Clone code from all the 3 branches Master, staging and Dev- command: Git Clone.
è Checkout Dev for creating a branch out of this. command: Git checkout Dev
è Create a feature branch in the local machine. Command: Git checkout –b feature/JIRATicketNumber.
2. Each developer would make changes in their Local feature branch and the changes can be saved in the local machine as in the form of branch by using commit. Command: Git commit. To compare the changes made the command used is, command: Git Status.
3. Pushing the changes from the feature branch to the Remote Repository.
Currently the code changes made by each developer are in the local Repository. Here Local refers as Laptop and Remote server as Git Server. At this point of time, below are the branches in Remote Server and Local.
Remote Server - 3 Branches. Master, Staging and Dev.
Local Repository – 4 Branches. Master, Staging and Dev + feature branch.
The changes in the local branch are to be pushed to Remote Server, in this case first the feature branch has to be create in Remote server and subsequently each time the code has to be pushed.
Commands: Git push –set–upstream origin <name>
Git push (for subsequent pushes)
4. Once the changes are done at the developer end along with Unit testing and is ready to push the changes from feature branch to Dev branch. Below are the steps to be followed:
Pull the latest changes from Dev in the Remote server to local Dev Repository. So, on doing this the latest code changes from peer developers would be pulled in and as an example consider 2 new source files have been added to the Dev branch by a peer developer during this phase and these are not available in the feature branch. Also these are to be updated in the local Dev branch, so a pull has to be made and changes re the be merged.
Commands: Git pull (Remote Dev branch to Local Dev)
Git push (from Local feature branch to Remote feature branch)
Git pull Request (This includes code review process)
Git merge (Once Code review is completed the code would be merged to the Dev branch)
Anatomy of a Pull Request
When you file a pull request, all you’re doing is requesting that another developer (e.g., the project maintainer) pulls a branch from your repository into their repository.
Sources: https://www.atlassian.com/git/tutorials/making-a-pull-request
GIT Commands in Git Bash:
cd dirname
git clone https://github.ent.srccode.com/leel0002/DataUpgrade
cd DataUpgrade/
git branch //Gives the current branch we are pointing to
git branch -a // Lists all the branches in the repository
git checkout unit //Switching to the branch
git pull origin unit unit // Updates code in all the branches in the repository
Make changes in the code
git status // gives the status of the updated files
git add .
git commit -a -m "adding new updates" // commit the code changes in the local branch in laptop
git checkout master //Need to comeout of the branch and only then we can check-in
git push origin unit // pushes the code which is committed in the local branch in the repository to the remote server
To create a feature branch from development branch.
1. In the UI, select develop branch and type the new branch name as feature/JIRANUMBER, as below. Observe the from 'develop'.
GIT Commands in Git Bash:
cd dirname
git clone https://github.ent.srccode.com/leel0002/DataUpgrade
cd DataUpgrade/
git branch //Gives the current branch we are pointing to
git branch -a // Lists all the branches in the repository
git checkout unit //Switching to the branch
git pull origin unit unit // Updates code in all the branches in the repository
Make changes in the code
git status // gives the status of the updated files
git add .
git commit -a -m "adding new updates" // commit the code changes in the local branch in laptop
git checkout master //Need to comeout of the branch and only then we can check-in
git push origin unit // pushes the code which is committed in the local branch in the repository to the remote server
To create a feature branch from development branch.
1. In the UI, select develop branch and type the new branch name as feature/JIRANUMBER, as below. Observe the from 'develop'.
Spot on with this write-up, I actually think this amazing site needs a great deal more attention. I’ll probably be returning to read through more!
ReplyDeleteUI Development Training in Bangalore
Reactjs Training in Bangalore
PHP Training in Bangalore
As per my opinion, videos play a vital role in learning. And when you consider AWS big data consultant , then you should focus on all the learning methods. Udacity seems to be an excellent place to explore machine learning.
ReplyDeleteIts a wonderful post forr Hadoop and very helpful, thanks for all this information.A very nice guide. I will definitely follow these tips. You are including better information regarding this topic in an effective way.Thank you so much
ReplyDeleteDevOps Training in Chennai
DevOps Online Training in Chennai
DevOps Training in Bangalore
DevOps Training in Hyderabad
DevOps Training in Coimbatore
DevOps Training
DevOps Online Training
I have been following your post for a long time. I always found it very interesting and valuable. keep posting it is really helpful.keep up!!
ReplyDeleteJava training in Chennai
Java Online training in Chennai
Java Course in Chennai
Best JAVA Training Institutes in Chennai
Java training in Bangalore
Java training in Hyderabad
Java Training in Coimbatore
Java Training
Java Online Training
Thank you so much for this nice information. Hope so many people will get aware of this and useful as well. And please keep update like this.
ReplyDeleteAWS Course in Chennai
AWS Course in Bangalore
AWS Course in Hyderabad
AWS Course in Coimbatore
AWS Course
AWS Certification Course
AWS Certification Training
AWS Online Training
AWS Training
Nice article i was really impressed by seeing this article, it was very interesting and it is very useful for me.
ReplyDeleteacte chennai
acte complaints
acte reviews
acte trainer complaints
acte trainer reviews
acte velachery reviews complaints
acte tambaram reviews complaints
acte anna nagar reviews complaints
acte porur reviews complaints
acte omr reviews complaints
Apple Ecosystem. The Apple Ecosystem is both a boon and a curse. ...
ReplyDeleteOverpriced. While the products are very beautiful and sleek, prices for apple products are way too high. ...
Less Storage. iPhones do not come with SD card slots so the idea of upgrading your storage after buying your phone is not an option.keep to improve!!
Android Training in Chennai
Android Online Training in Chennai
Android Training in Bangalore
Android Training in Hyderabad
Android Training in Coimbatore
Android Training
Android Online Training
Great article. Very educative
ReplyDelete| Certification | Cyber Security Online Training Course | Ethical Hacking Training Course in Chennai | Certification | Ethical Hacking Online Training Course | CCNA Training Course in Chennai | Certification | CCNA Online Training Course | RPA Robotic Process Automation Training Course in Chennai | Certification | RPA Training Course Chennai | SEO Training in Chennai | Certification | SEO Online Training Course