Skip to main content

Posts

Getting started with Puppet - Part 2 - Hello World

This is the second post in the series for getting started with Puppet. We are going to run a really simple Puppet module that is hosted on GitHub. Tools needed: Git client (of course) VM or Nitrous.io or anything similar Puppet client installed (discussed in Part 1) Step 1 : Download the Hello World module git clone https://github.com/adityai/puppetStarter.git Step 2: Run the Puppet hello world sample cd puppetStarter sudo puppet apply --modulepath . helloWorld/site.pp This is how we apply a puppet module from the command line directly on the target machine or on your development workstation. The output will have some information about verifying or compiling along with a message 'Hello World!" ➜  puppetStarter git:(master) sudo puppet apply --modulepath . helloworld/manifests/site.pp Notice: Compiled catalog for ruby-on-rails-139787.us-west-2.compute.internal in environment production in 0.05 seconds Notice: Hello World Notice: /Stage[...

Getting started with Puppet - Part 1 - Sandbox setup

What is Puppet? Puppet  is a great product that enables IT infrastructure automation at scale. Produced by Puppet Labs, it is an open source product that also has a paid Enterprise version with additional features. It runs on Unix based operating systems and Windows. It has its own declarative language to allow programmers to script for automating infrastructure provisioning and configuration. To get started with learning Puppet, I recommend using the  Puppet learning Virtual Machine . Alternatively, any default Vagrant box has a Puppet client pre-installed. For the purpose of this tutorial, I will be using Nitrous.io, which I covered in a prior post titled ' Create a dashing.io on nitrous.io '. From that post, follow the basic instructions for creating a free account in nitrous.io and continue below after getting to the console. Installing Puppet client on Nitrous.io In the console, execute the following commands. sudo apt-get update sudo apt-get install puppet pu...

Create a dashing.io dashboard on nitrous.io

Dashing.io is a simple ruby based dashboard creation tool with live updates and high quality graphics that look great on HD TVs. Nitrous.io is a free cloud (browser based) Integrated Development Environment (IDE). I use the free package for this demo and that will work out to be adequate for what we are about to do. We will walk through the steps of creating a new account on Nitrous.io, creating and running a sample dashing.io dashboard on Nitrous.io. Step 1: Create an account or login with GitHub account Step 2: Get Started: Select 'Ruby on Rails' container Give it a cool name Step 3: Select a Plan I would stick with the free one for this demo. Step 4: Start the workspace Step 5: Start the container Step 6: Open the IDE Step 7: Install dashing gem Execute the following commands in the console section in the bottom of the IDE. gem install dashing gem install bundler Step 8: Create a new dashboard Execute th...

Redis cheatsheet

Redis is considered a NoSQL database. I see it as a great and efficient in memory cache on steroids. I use it for storing results of large calculations so I can quickly display the results on a web page. I actually use it as a cache for a production instance of dashing.io . Here's a good article about creating a dashboard using dashing.io -  https://gocardless.com/blog/raspberry-pi-metric-dashboards/ . Towards the bottom of the article check out the 'Persistance' section where there are instructions for adding Redis as the cache for dashing. Website:  http://redis.io/ Official Docker container:  https://hub.docker.com/_/redis/ Docker command:  docker run -d -p 6379:6379 -v `pwd`:/data --name redis-server redis To run redis commands on the container, execute: docker exec -it redis-server /bin/bash Docker command to start redis with persistent storage: docker run --name some-redis -d redis redis-server --appendonly yes  That should get you to the ba...

Everything I know about Jenkins - Part 2 - Test drive

In this post, I will list simple steps to start Jenkins and play with it for the first time. Prerequisites 1. Windows, Mac or Linux operating system or virtual machine 2. A recent version of JDK installed. Verify by executing 'java -version' on the command line. Installation Download the latest jenkins.war file from http://mirrors.jenkins-ci.org/war/latest/jenkins.war Startup 1. Start Jenkins as a java app by executing 'java -jar jenkins.war' (In Windows, you may need to open command prompt as admin) 2. A message stating 'Jenkins is fully up and running' shows up eventually. Access the front end Open http://localhost:8080 in a browser and you should see the front page of Jenkins. Authentication is disabled by default. Create your first Jenkins job 1. Click on 'New Item' on the list of links on the left. 2. Enter the job name, select 'Freestyle project' and click ok. 3. Scroll to the bottom of the job configu...

Blue Angels in San Francisco on Columbus day 2015

Fleet week, Columbus Day and Blue Angels in San Francisco. These pictures are from Saturday, October 10, 2015. 

Everything I know about Jenkins - Part 1

I have been working with Jenkins for over an year as a user, developer, customization programmer and providing operations support for Jenkins at Blue Shield of California. I started playing with Jenkins by running it on my laptop as a standalone jar. I moved on to running it on Tomcat in a VirtualBox VM. Later, I created reusable a Vagrant box for the same. Then I got hooked on Docker and created a replica of a production Jenkins server as a Docker container. 1. What is Jenkins? Jenkins is an open source tool that allows organizations to perform continuous integration and continuous delivery (CICD) of all their software applications through automated builds and deployments. The creator of Jenkins is Kohsuke Kawaguchi . I had the pleasure of meeting him at a Jenkins conference in San Francisco. 2. Are there other options? Yes. Teamcity from JetBrains, Bamboo from Atlassian. There may be others and I have not tried them. 3. Do I need any other tools or software to perform CICD ...