It’s a 3 parts long article.
- Understanding CICD. (you are here)
- Understanding Jenkins.
- Jenkins Android integration. (coming soon)
You might have heard about CICD but always thought maybe its something only for “Pros” or its too hard to understand so lets not bother right now when i have a deadline to meet. Because I had exactly same thinking before I started learning and implementing CICD.
but Guess what, CICD is piece of a cake if you have your basics right in whatever domain your are working.
So what is this SEE I, SEE D?
Continuous Integration & Continuous Delivery is a process in software development. OK … what process?
Automating the process of you writing the code in your tiny laptop to the production where its available to the end users.
OK Cool.. But can you elaborate in more specific way.
Lets break down the steps in mobile application development “from coding to the production.”
- You are done coding, Now you push your code to a version control i.e GitHub or Gitlab
- You run the tests … HA HA HA!!!
- Your create the build
- You send the build to the QA team
- Maybe you release the build in some task management tool. Jira maybe?
- if QA clears the build then you have to upload in apple’s Appstore or google’s Playstore because why not!!
- If QA fails then skip point 6 and repeat from 1.
Woff! Crazy repeated process, isn’t it?. But really, Can CICD help me automate this all? YES
Can CICD run my test? YES!
Can CICD create builds? YES!
DAAMN!! Can CICD upload build to the Playstore? FUCK YES!
You just have to push the code and let some CICD tool to do its magic.
So why not start learning CICD already?
THERE IS ONE SINGLE BIG ENEMY BETWEEN YOU LEARNING CICD AND THAT IS LET ALONE YOUR IDE!
IDE’s are there to make your life easy but you are a developer and you don’t have a life so fuck IDE.
Lets take mobile developers into a test. Can you build your ipa or apk from command line? No, right? Have you ever thought whats going on under the hood when you press the pretty “build” button in your IDE? No, right?
No Magic, your IDE is only running few commands and providing you the build in a plate.
So lets learn those commands and implement CICD.
If we learn at-least the basics how to execute our code from command line, without the single help of the mighty IDE’s then you understand how actually things are running under the hood. And if you understand how things are running under the hood then all it takes for you to implement CICD is to get your hands dirty with a CICD tool.
which is exactly what we are going to in the next article. JENKINS!!