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 Cloud Application Manager, 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 Cloud Application Manager 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 Cloud Application Manager 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 Cloud Application Manager Jenkins plugin on the Jenkins server integrate with build jobs and run the automated builds.
Another approach is to use Cloud Application Manager 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 Cloud Application Manager 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.
Cloud Application Manager 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 Cloud Application Manager 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 Cloud Application Manager? Simplify your OS X and Solaris development environments through Cloud Application Manager and automate integrated deployments to ship code faster. If you need help getting started, ping me.
Want to Learn More About Cloud Application Manager and ElasticKube?
Cloud Application Manager is a powerful, scalable platform for deploying applications into production across any cloud infrastructure – private, public or hosted. It provides interactive visualization to automate application provisioning, including configuration, deployment, scaling, updating and migration of applications in real-time. Offering two approaches to cloud orchestration — Cloud Application Manager and ElasticKube — enterprise IT and developers alike can benefit from multi-cloud flexibility.
Explore ElasticKube by visiting GitHub (curl -s https://elastickube.com | bash).
Visit the Cloud Application Manager product page to learn more.