Three reasons why an enterprise should have a mobile build server

Have you ever considered having an enterprise mobile build server? This component is often overlooked by many enterprises, and some may even think it is redundant. However, this small component is critical in your long-term mobile strategy. If you have a large-scale mobile project and you do not have a build server for mobile in your mobile architecture, I strongly recommend that you get one!

Here are three reasons why I suggest that you have a dedicated mobile build server.

1. To ensure that the mobile application build quality is constant

Sometimes a developer uses his own notebook computer to build the application, test it with a device and upload the app into mobile application stores (such as iOS app store and Google Play). What happens, though, if the developer leaves the project or the notebook crashes? Someone has to check out the code from source code management system and prepare his or her computer’s environment to build it. Occasionally, even with the same source code, it is likely that the build will cause some problems or experience unexpected behavior in the mobile application. This is due to the change in the build machine.

Before development, there must be some guidelines and standards for the building process. Here are some key considerations:

  • The OS version and whether it is 32- or 64-bit
  • The software development kit (SDK)—for example, XCode or Android SDK version
  • Other components required for building—for example, which Java or .NET framework the machine is using
  • Any external libraries that the application uses

The developer’s machine may have a different configuration from the build machine due to some constraints. (You don’t expect to buy an OS license solely for a mobile project, right?) Developers should have their machine’s environment configuration as similar as possible to the build machine. When the developer completes the program and tests it, he should upload to the source version control system (such as IBM Rational Team Concert or source version control (SVN). The build machine will check out the code and compile it to ensure it is working.

2. To make it easy for a developer to test the code

Having a build server will make the life of the developer much easier, and it will speed up the process for application testing and deployment. If you are building hybrid applications for many mobile operating systems, it is very important to have a build server because the developers may not be able to compile on their machines. For example, it is not possible to compile an iOS app on the Windows platform. Providing a centralized build server will facilitate the process in a controlled manner.

3. To centralize the process for deploying a mobile app (client) into various app stores

Deployment processes are different for mobile apps compared to traditional enterprise applications. The mobile application needs to be signed with certificates provided by the respective app stores. The signing process should be done at the build server, and the certificate for production should be tightly controlled by the mobile team to avoid any security breaches. In short, the process of preparing the mobile client application for the app stores should occur at the build server.

I recommend that you have a mobile build server as part of the mobile strategy your enterprise should adopt. If you think that having a machine solely for building mobile applications is costly, you can also consider combining the build server with the test server to perform stress and performance testing.

In my upcoming blog posts, I will talk more about problems of using a mobile build server, as well as other mobile strategies for your enterprise to adopt. If you have any questions, feel free to connect with me on Twitter at @yauchinglee. Stay tuned for my next post on the correct approach for having a build server!

Technorati Tags: , ,

The post Three reasons why an enterprise should have a mobile build server appeared first on IBM Mobile.