How to deploy pain-free on OS X and Solaris OS platforms


OS X and Solaris are two of my favorite platforms for developing native Apple and Node.js applications. Thanks to the deployment support for OS X and Solaris in ElasticBox, today I can easily solve a common problem many developers like me face when coding in these environments.

Here’s the problem: How do I integrate with Jenkins to automatically build the lifecycle of the application I’m coding so I can test and integrate code into different environments smoothly?

Deploying on OS X

When I develop native applications for Apple platforms (OS X or iOS), I need an OS X platform and the XCode tools to build and test my application. On top of this, I need VM instances to run builds and unit test the code in my development branch. So a private cloud like vSphere is the best scenario to do both. It allows me to create and dispose of OS X machine instances in an agile and flexible way.

The support for OS X in ElasticBox makes things easy for me. I can quickly automate the way applications deploy on an Apple platform and share that process with other developers in the organization. As a result, all our development environments are set up faster, and we can develop, test, and ship code rapidly.

The process is easy. I’ll explain how it works.

One approach is to define a box in ElasticBox that installs the required development tools (Xcode, brew among others) to execute and build the code I want to test. The next step is to configure the box. I use the predefined GitHub box to clone the Git branch containing the application code. When done, I let the ElasticBox Jenkins plugin on the Jenkins server integrate with build jobs and run the automated builds.

Another approach is to use ElasticBox to deploy a permanent Jenkins slave in an OS X virtual machine in a private cloud. This setup can predictably work for one or many developer environments. The slave is notified to start the continuous integration process from a Jenkins master node to build the native application and then publish it to a beta testing service like TestFlight.

That’s how my life and that of other Apple developers becomes hassle-free when I use ElasticBox to automate deployments in OS X environments.

Deploying in Solaris OS

When I build Node.js applications, given that it has a single thread runtime, I need to check routinely for leaks and low performance to make sure it runs well. DTrace is a powerful tool in the Solaris Operating System that allows me to observe the behavior of my Node.js application. It lets me gather information for the purpose of, among other things, find bottleneck points in the code, check the system health, etc. I’m a fan of Node.js and MongoDB and I found in Solaris-like systems an excellent platform for running and profiling Node.js applications.

ElasticBox support for the Solaris platform and Node.js make a good combo for developers like me who want to deploy Node.js applications in a robust, high-performance and secure profiling environment in private clouds.

Take a look here. I’ve just created a box through ElasticBox to deploy the Node.js runtime plus MongoDB and grab the application code from a GitHub repository. This setup is everything I need to have a complete Node.js profiling cloud environment in Solaris OS.


Are you going to give it a shot in ElasticBox? Simplify your OS X and Solaris development environments through ElasticBox and automate integrated deployments to ship code faster. If you need help getting started, ping me.

Hacker News

Categories: Cool Features & Tutorials, DevOps, ElasticBox
Tags: , , , , , ,