Posts

DynamicLeadership

Image

Colour formatting - Jenkins Console

Image
Jenkins is the main CI tool used in Software industry. This is the backbone tool for all CI and CD implementation, Build - release and deployment methods. With the help of 100s of plugin available around the jenkins, We can achieve so much of automation around build process including build/deployment pipeline, notification, analysis, pre and post build action etc. Jenkins has tremendous power to perform great amount of work around the core build process. Many time we write script in pre and post build action to perform many tasks which is becoming very command and necessary for automation. But the main limitation in running shell script is that it's very difficult to make it more human readable for errors and make it fancy. Today i am going to cover some steps to make the output of shell script colour formatted. Jenkins Configuration Steps First install following jenkins plugin https://wiki.jenkins-ci.org/display/JENKINS/AnsiColor+Plugin Go to jenkins configurati...

Code Quality Check

Image
Every software development needs coding; without it, nothing can be developed. The quality of software depend on the way developer write code. It's an essential part of the system and the behavior of the system depends on it.  A small mistake in coding may make software vulnerable and unstable. Quality engineering works hard to find bugs to avoid potential problems with the software. They spend numerous hours and put tremendous effort into finding any problems with the software and reporting it to the developers. Cost of fixing the defects at various level. The Cost of fixing defects at latter stage increases exponentially, hence, you need more hours of QA Engineers and Developers to fix and run the entire release cycle again. If we can save some amount of time and effort from above, we can utilise resources in more productive way. Can we make sure code is better written, tightly secure, having no potential bug and right libraries ...

Maven Errors - Few common Maven error and troubleshooting part 2

In this post i am going to talk about maven build troubleshooting, Here is the list few maven error and its troubleshooting.  This is the part 2 of the Troubleshooting tips. concurrent.ExecutionException If you see following type of error in your release build. [ERROR] java.util.concurrent.ExecutionException: java.lang.NullPointerException   [ERROR]     [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.     [ERROR] Re-run Maven using the -X switch to enable full debug logging. Solution Your build job is having parellel execution, Please contact Release team to "-T -1C" get removed from the job. Docker image building failed due to Unable to locate package If you see following type of error in non java projects release build. [INFO] [91mE: Unable to locate package [ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.2:prepare (default-cli) on project : Mave...

Manage Docker images on local disk

Docker is very powerful containerization technique, and it is becoming famous in short time. People are adapting and containerizing their applications for deployment. Soon container become very heavy and consume too much of disk space, If you do not delete old images and layers you may soon run out of disk space. Here i am trying to cover the ways to regain the disk space consumed by docker images. Moving docker filesystem to bigger mount point. Usually docker keeps all temporary files related to image building and layers at /var/lib/docker This path is local to the system usually at root partition "/" . You can mount a bigger disk space and move the content of /var/lib/docker to the new mount location and make sym link.  This way even docker images occupy space, will not affect  your system as it will be using some other mount location. Remove Old docker images Here are few ways to remove old and unused docker images Removing stopped contai...

Authentication Error while pulling images via docker-maven-plugin

docker-maven-plugin is the great plugin provided by spotify to build docker image during maven build. There is very strange error or behaviour I have seen during the image creation. Plugin expects that image which Dockerfile is pulling needs to be passed with username and password, which should not an essential parameter as most of the images does not need any auth to be downloaded.  You may see this error [INFO] Building image your-application:0.0.3 Step 1 : FROM ubunt:latest [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] your-application..................................... FAILUER [ 3.619 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 39.938 s (Wall Clock) [INFO] Finished at: 2016-06-25T16:26:06+00:00 [INFO] Final Memory: 65M/1216M [INF...

Lessons Learned in Jenkins Configuration Management

Summary: Managing the configuration of Jenkins—the popular open source, continuous integration and continuous delivery application—is not trivial. Even a small change can make the platform less stable or result in problems. Vishal Sahasrabuddhe talks about his experiences using Jenkins and offers tips to take advantage of its many powerful features to automate deployment and increase productivity and product quality. (Originally published on  cmcrossroads.com ) Configuration management requires that you automate application build, package, and deployment. There are many tools used to accomplish these tasks, but Jenkins is one of the most popular open source frameworks employed by teams today. Jenkins is widely used by developers to automate not only application procedures, but also continuous integration and continuous delivery. It comes with many powerful built-in features, and there are also hundreds of plugins that help it integrate with other tools and p...

Lessons Learned in Jenkins Management

Lessons Learned in Jenkins Management : Managing the configuration of Jenkins is not trivial; even a small change can make the platform less stable or result in problems. Vishal Sahasrabuddhe talks about his real-world experiences with Jenkins and details how to take advantage of its many powerful features while avoiding possible pitfalls.

How to provide effective training/presentation

Providing effective training is an art form. It requires much dedication and skill to engage your students so they believe they have benefited. Simple presentations can feel dull and unengaging, making the topic less interesting and many times leading to little or no knowledge transfer, even if the subject was covered correctly and the information was spot on. Gaining—and keeping—the interest of your audience is paramount in any successful training program. Here are a few essentials to consider when creating your presentation to make it more effective: Start with the basics

Working in Inmobi - My experience

Inmobi is a Mobile Advertising organization and making a huge impact all over the Market. I would like to talk about some of my personal experience working with Inmobi as an employee. Work culture - Just one word, awesome. They have lots of work with tight deadlines, but employee rarely need to compromise with their personal life. Inmobi work policies are really employee friendly in all aspects. Its great to work together with like minded freaks to disrupt the market.

Setup Docker slaves for Jenkins

Image
Jenkins is the one of the primary CI tool used in industry. Jenkins provide on cross planform support and have master-slave configuration. Your slave could be any operating system. Recently docker is becoming very popular for replacement of virtualisation up to some extend. Today I will detail out the steps needed to make  dynamically slave provision via docker images . Setting up Host for Docker You need to have your base machine either VM or hypervisor etc and need to install with all prerequisite. Lets install docker now. curl -sSL https://get.docker.com/ | sh

Release Management and Release Engineering

Many times people get confused with the terms as Release management and Release Engineering. They interchange both the terms and use it as the same. Release Management and Release Engineering looks to be similar but both their functions are completely different in implementation, however both serves the same purpose in bigger picture of Releases.

Why I did not attend Infosys Interview

Some time back when i was looking for a job change, i got a call from an Infosys HR for an outstanding opening in their organization and they invited me for the interview. Since job description was nice, i decided to attend the interview and the story began…  They scheduled an interview time and asked me to come with 2 photos and a resume. Photos were requested to be in formals (no round neck t- shirt), Humm that was weird to start with, as i was just attending their first round of interview.

Sample gradle file

Following details are part of previous blog http://www.scmtechblog.net/2015/12/how-to-migrate-parent-pom-from-maven-to.html Here is the sample of base gradle file which can be acted as super pom for your project. There are 2 profiles we have enabled whitebox-analysis and Coverage-analysis which does complete checks and only jacoco respectively.

How to migrate Parent pom from maven to gradle

Convert Maven parent/super pom to Gradle init file When you think of moving to gradle for some reason from maven, You need to take care of lot of stuff around it, You can find lot of tools and help to convert maven pom.xml to gradle build.gradle But one of the most important task as an engineer or architect would be to convert your super pom (or parent pom) in to gradle init scripts. Gradle init script provides same functionality as Maven super/parent pom. The basic difference is that you can call init script Run time As many as of them This gives us flexibility to change the init script on run time but doubt of not tracking the changes.

Search Engine Optimization (SEO) for blog

Search Engine Optimization  Adding right content to you website is very important aspects of making your site more useful and relevant. At same time its important that people read the blog and content. How are you going to do that, You need to make sure your content is right and searchable. I am going to list out few tips to make your blog/site more searchable and (SEO) Seach Engine optimization. Things to take care of while writing content and improve search result for blog

The Rise of the Jenkins CI Butler - by Jonathan McAllister

Author of Mastering Jenkins [Packt Publishing] [ http://www.masteringjenkins.com ] Kohsuke Kowaguchi designed and developed the Hudson automation system from the ground up while he was working at Oracle in 2006.  Primitive inceptions of the Jenkins platform (then known as Hudson) simply aimed to support continuous integration practices and offer a viable replacement for CruiseControl, which was the popular CI solution at the time. The Hudson platform was initially very Java centric with tight coupling to Maven and Java development paradigms. Little did Kohsuke know that his internal Hudson tool would catapult in notoriety, change names (into Jenkins), spin off to become CloudBees and eventually become the most popular modern Continuous Integration and automation orchestration platform in use in modern history. The current Jenkins platform provides an easily consumable unified user interface coupled with a highly scalable distributed automation solution that can build, t...

Maven Errors - Few common Maven error and troubleshooting part 1

In this post i am going to talk about maven build troubleshooting, Here is the list few maven error and its troubleshooting. Tag Already exist If you see following type of error in your release build after the perform step [ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.3.2:prepare (default-cli) on project : Unable to tag SCM [ERROR] Provider message: [ERROR] The git-tag command failed. [ERROR] Command output: [ERROR] fatal: tag '<some tag>' already exists

Preparing for an M&A: 5 Tips for VP of Engineering

 A Nice article on how to take care of Merger and acquisition smartly. http://www.whitesourcesoftware.com/preparing-software-due-diligence-5-tips-vp-engineering /

In house tool vs enterprise tool / open source tool

Tool development and adoption The current pace of software development cannot manage its speed without the automation. Automation is the most important element in order to achieve agility in delivery of the product. Every part of the software development life cycle needs tools to perform their action automatically. These phases could be coding, code review, build & deployment, environment management, resource assignment, notification and many others. There could be 2 options, which a team can opt for: Use a third party tool One can select the tools, which are available in market, either open-sourced or free. You can even buy enterprise solution if needed. Build an in-house tool Tool can be built or developed in-house for the consumption as well. Lets take look different aspects of choosing options