DevOps Engg Full-Time Position In SFO

DevOps Engineer (California Fulltime)
To support our key business initiatives, we are looking for a DevOps Engineer to build innovative and highly scalable solutions to help build best in class CI/CD pipeline by making use of cutting edge technologies and tools. Also, build a world-class infrastructure that could span across cloud, bare metal and/or a hybrid environment to support our DevOps ambitions. We believe in building incrementally, thoughtfully managing what we have, automating “all the things,” continuously integrating and delivering, prioritizing the many exciting projects on the roadmap, and, above all working together.

Responsibilities

• Support and improve our tools for continuous build, automated testing and release management
• Streamline, standardize and automate build and release processes
• Provide automation and provisioning through use of configuration management tools
• Continuously look to improve the efficiency of our build/release/deploy process (via automation, new tools), driving towards the implementation of Continuous Delivery
• Communicate and collaborate among cross-functional teams in a multinational environment
• Manage our infrastructure on AWS and our own Datacenters
• Ability to work in an agile way with complex systems and regulated environment

Qualifications

• 5+ years’ experience as a build/release engineer or similar role with hands on experience working with enterprise products
• A fast learner, self-starter with DevOps mindset and proponent of software development best practices
• Proficient in various programming and scripting languages, especially Python, Ruby, and shell scripting
• Experience with latest tools in the Continuous Integration Space, e.g. Jenkins, FinalBuilder, MSBuild, ANT, Maven
• Experience with version control tools like SVN, TFS, Git and managing branching strategy
• Knowledge of version control, build, packaging, and release workflows
• Experience of dealing with build failures, debugging and fixing the issues
• Experience with AWS (Amazon Web Services) hosting, VMware virtualization, VMware ESX, Linux, and Windows experience
• Experience in any of the configuration management tools like Chef, Puppet, Salt, Ansible is a big plus
• Experience working in a regulated environment, and familiarity with security analysis tools such as Fortify is a plus

Tagged : / /

How to configure Sonatype Nexus repository with Maven?

configure-sonatype-nexus-repository-with-maven

How to configure Sonatype Nexus repository with Maven?

 

Automatic dependencies is one of the powerful feature of Apache maven and its one of the reason Maven is very popular in developer community. Maven resolve the dependent library from local repository which is again connected with central repository or remote repository. thus we can say that Maven has 3 kinds of repository concept.

 

1. Local repostory e.g $USER_HOME/.m2
2. Central repostory e.g http://repo.maven.apache.org/maven2/
3. Private repostory e.g Sonatype Nexus, Artifactory, Archiva etc.
The diagram shown below represent how maven resolve the dependendency.

 
High Level Interaction between Local Repository, Central Repository and Remote Repository.


Dependency Management using Local Repository, Central Repository and Remote Repository.

This is How maven interact with Repository!


This is a diagram which shows the define flow in which maven try to resolve the dependency.

 

Now, We have understood that Central rrepository is in built but next questions is, How to inform the maven about the location of remote repository? In order to configure maven with remote repostory, in our case SonaType Nexus, we need to configuring host machine setting.xml and projects pom.xml to use your Nexus repos.

 

Put this in your ~/.m2/settings.xml file. This will configure the credentials to publish to your hosted repos, and will tell your mvn to use your repo as a mirror of central:

And now configure your projects.

If you want only to download dependencies from Nexus, put this in the pom.xml:

and

Add the following at the end of setting.xml

<activeProfiles>

    <!–make the profile active all the time –>

    <activeProfile>nexus</activeProfile>

  </activeProfiles>

 

Reference

https://maven.apache.org/guides/mini/guide-mirror-settings.html

Tagged : / / / / /

Top 5 Open Source Release Management Tools | List of Best Release Management Tools

top-5-open-source-release-management-tool
Few days ago, I published an article in which i covered the topic Top five release management tools which are high in trend these days. Today, I am going to write on the same topic but there is one difference, today we will discuss about open source release management tools.
In this article I am going to share top 5 open source tools for Release Management. But, if you want to know about Release management and it’s benefits than you can check out the previously written article here.
So, Without any further ado in this article, let’s directly move to the main section.
Let’s check out open source release management tools.
1. CruiseControl
 CruiseControl
CruiseControl basically known as continuous integration tool. It can be used in Release management process. Cruisecontrol is an open source tool which is written in java and supports cross platform and it was developed by CruiseControl development team and initially released in the year 2001. You can extend this tool with the help of plugins and extensions.

2. Luntbuild
Luntbuild
LuntBuild is known as Build management and continuous integration tool. This one is another open source release management tool which is written in java ans supports cross platform. This tool is developed by PMEase. This tool is easy to install and configure. It has a clean web interface.

3. Maven
Maven
Maven is also known as build tool but it’s also an open source release management tool which is written in java and supports cross platform. Maven was initially released in the year 2004 and developed by Apache Software Foundation. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages.

4. Jenkins
Jenkins
Jenkins is one of the most popular tool for Continuous integration but it can be used as a release management software. This software is written in java and it was initially released in the year 2011. It was developed as a Hudson project as Sun Microsystems which was later take over by Oracle corporation. The great thing about this tool is its functionality can be extended with plugins.
5. Subversion (SVN)

Subversion (SVN)

Subversion or SVN is a versioning and revision control system but it also can be used as Release management software . You can say this one is the leading release management tool in the open source category. This tool is written in C and it supports cross platform was developed by  CollabNet Inc in the year 2000.

So, That’s it. Now it’s your turn , share your views in this article and if you think this list should contain some other tools instead of this than fee free to share with us the in the comment section below.

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 : / / / / / / / / / / / / / / / / / / / / / / / /

Maven Training | Maven Course | Maven Trainer | Online | Classroom

maven-training

scmGalaxy is a community initiatives based on Software configuration management that helps community members to optimize their software development process, Software Development Life Cycle optimization, Agile Methodologies and improve productivity across all aspects of Java development, including Build Scripts, Testing, Issue Tracking, Continuous Integration, Code Quality and more. scmGalaxy group that helps organisations optimize their software development process. We provide consulting, training and mentoring services in Agile Development Practices such as Version Management, Continuous Integration, Build Management, Test-Driven Development, Acceptance-Test Driven Development, Build Automation, Code Quality Practices and Automated Testing.

We provide job oriented training in the area of Configuration management, Build and Release Engineering. Candidates with engineering or software background and looking to either start or change their career to Build and Release Engineering, would benefit most from this training. Instructor-led training course offered in India, Bangalore, Delhi, Pune, Mumbai and Hydrabad. Instructor is an expert in Software configuration management, Build and release engineering with more than 15 years industry experience in india.The Goal of the course make the training attendants equip with all the concepts of build and release engineering.

Contact us at info@scmGalaxy.com

Course Objectives
To bring your team up to speed with agile development, We can also run the from Continuous Integration to Continuous Delivery with autoamted course within your premises.

Course Schedule
This course is an intensive 1-day & 2-day workshop with a mixture of teaching and lab exercises. Currently, this course is offered exclusively as an on-site course. Please contact us for more details.

Audience
This is a hands-on, practical course designed to teach specialised skills for real-world development situations. It is thus primarily aimed at a SCM Engineer, Build/Release Engineer and developer audience.

Approach
The course is modular and flexible – depending on specific student needs and requests. Through our trainings, you benefit from the wide experience and architectural expertise of our team. We bring that experience to you in an highly interactive, intensely hands-on setting.

Assumptions
We assume participants have a reasonable understanding of Development in any language as well as a basic understanding of the Software Development Life Cycle.

Lab Work
All our courses are above all practical in nature. We believe that the best way to learn is by doing. So the course contains approximately 80% lab work.

Learning Resources
Each registrant will receive a copy of the student notes and lab solutions, a certificate of completion, and a CD containing all the tools covered in the course and CD containing all the tools covered in the course.

Contact Us
This course is provided on-site, and can be tailored to your particular requirements. If you would like our trainings delivered at your premises, or for any additional information please contact us. Please contact us

  • Mail – info@scmGalaxy.com
  • Call – +91 700 483 5930
  • WhatsApp – +91 700 483 5930
  • Skype – scmGalaxy

Course outline

The basic course program is outlined here:


Chapter 1: Introduction

  • Introduction to Apache Maven
  • Installing Apache Maven
  • Understanding the Maven Repository
  • Understanding the Maven Lifecycle
  • Understanding the Role of Plugins

Chapter 2: Dependencies

  • Introducing Maven Dependencies
  • Controlling Maven Classpaths
  • Maven and Transitive Dependencies
  • Managing Dependencies that All Projects Need – Part 1
  • Managing Dependencies that All Projects Need – Part 2

Chapter 3: Plugins

  • Introducing Maven Plugins
  • Adding Steps to a Maven Build
  • Code Generation
  • Managing Plugins with a Parent POM
  • Finding Available Plugins

Chapter 4: Controlling the Build

  • Maven Build Properties
  • Maven Profiles
  • Profile Activation via Properties
  • Profile Activation via Environment
  • User Settings, Profiles and Repositories

Chapter 5: The Project Website

  • The Basic Website and Reports
  • Using Report Plugins
  • Creating Custom Pages
  • FAQ (frequently asked question) Pages and Site Appearance
  • Deploying to a Web Server

Chapter 6: The Maven Release Process

  • Deploying to a Repository
  • Using Snapshots
  • Preparing for a Release
  • Releasing Maven Artifacts
  • Preparing for an Open Source Release
  • Publishing to Maven Central

Chapter 7: Multi-module Projects

  • Understanding the Multi-module Project
  • Incremental Building with Multiple Modules
  • Building a Website for a Multi-module project
  • Releasing the Multi-module Project

Chapter 8: Maven Tricks and Patterns

  • Invoking Ant from Maven
  • Accessing Maven Artifacts from Ant
  • Building a Simple Installer
  • Running Functional Tests
  • Disabling Default Plugin Bindings and Excluding Transitive Dependencies

Maven and Nexus Training In Bangalore | Maven and Nexus Training in India | Maven and Nexus Training in Hydrabad | Maven and Nexus Training in Delhi | Maven and Nexus Training in Pune | Maven and Nexus Trainer In Bangalore | Maven and Nexus Trainer in India | Maven and Nexus Trainer in Hydrabad | Maven and Nexus Trainer in Delhi | Maven and Nexus Trainer in Pune

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

Recommended Books for Maven | Good books for Maven learning

maven-books-references

Recommended Books for Maven

http://www.maestrodev.com/wp-content/uploads/2012/03/betterbuildswithmaven-2008.pdf

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

Maven Vs Ant | Maven or Ant which is better ?

maven-vs-ant

Maven Vs Ant

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

Maven CLI Options Reference – Command Line | Maven Command Line Cheatsheet

maven-cli-options-reference

Maven CLI Options Reference

Options Description
-am,--also-make If project list is specified, also build projects required by the list
-amd,--also-make-dependents If project list is specified, also build projects that depend on projects on the list
B,–batch-mode Run in non-interactive (batch) mode
-C,--strict-checksums Fail the build if checksums don’t match
-c,--lax-checksums Warn if checksums don’t match
-cpu,--check-plugin-updates Ineffective, only kept for backward compatibility
-D,--define <arg> Define a system property
-e,--errors Produce execution error messages
-emp,--encrypt-master-password <arg> Encrypt master security password
-ep,--encrypt-password <arg> Encrypt server password
-f,--file <arg> Force the use of an alternate POM file (or directory with pom.xml).
-fae,--fail-at-end Only fail the build afterwards; allow all non-impacted builds to continue
-ff,--fail-fast Stop at first failure in reactorized builds
-fn,--fail-never NEVER fail the build, regardless of project result
-gs,--global-settings <arg> Alternate path for the global settings file
-h,--help Display help information
-l,--log-file <arg> Log file to where all build output will go.
-llr,--legacy-local-repository Use Maven 2 Legacy Local Repository behaviour, ie no use of _maven.repositories. Can also be activated by using -Dmaven.legacyLocalRepo=true
-N,--non-recursive Do not recurse into sub-projects
-npr,--no-plugin-registry Ineffective, only kept for backward compatibility
-npu,--no-plugin-updates Ineffective, only kept for backward compatibility
-nsu,--no-snapshot-updates Suppress SNAPSHOT updates
-o,--offline Work offline
-P,--activate-profiles <arg> Comma-delimited list of profiles to activate
-pl,--projects <arg> Comma-delimited list of specified reactor projects to build instead of all projects. A project can be specified by [groupId]:artifactId or by its relative path.
-q,--quiet Quiet output – only show errors
-rf,--resume-from <arg> Resume reactor from specified project
-s,--settings <arg> Alternate path for the user settings file
-T,--threads <arg> Thread count, for instance 2.0C where C is core multiplied
-t,--toolchains <arg> Alternate path for the user toolchains file
-U,--update-snapshots Forces a check for updated releases and snapshots on remote repositories
-up,--update-plugins Ineffective, only kept for backward compatibility
-V,--show-version Display version information WITHOUT stopping build
-v,--version Display version information
-X,--debug Produce execution debug output
Tagged : / / / / / / / / / / / / / / / / / /

Apache Maven 3.0-RC1 | Pre – Release Testing

apache-maven-3

Hi,

in preparation for the release of Apache Maven 3.0, the Maven team is seeking your help to discover regressions since Maven 2.x. Everybody interested in taking a preview of the upcoming release for a test drive can get source and binary bundles from there portal.

Before reporting any issues found during testing, please be sure to have a close look at the compatibility notes for Maven 3.x:

https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes

If you encounter unexpected build issues, please fill a report in JIRA that provides sufficient information to reproduce and analyze the issue:

The fixes contained in this release candidate since the 3.0-beta-3 release can also be seen in JIRA:

Thanks,

-The Maven team

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

Sonar team released Sonar Maven Plugin 1.0-beta-2

sonar-maven-plugin

The Sonar team is pleased to announce the release of Sonar Maven Plugin, version 1.0-beta-2.

It makes configuration easier when using a repository manager like Archiva or Nexus. Indeed no additional settings are required anymore ! Let’s remind that the version 1.0-beta-1 needs to declare a mirror in maven settings or to add a new repository to the manager.
This improvement requires Sonar 2.2+. It is automatically disabled when using sonar 2.1 or less. Upgrading to this version should be automatic if the shortcut “mvn sonar:sonar” or the hudson plugin are used.

 

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