Difficulty: Intermediate
Let’s say you have an application you developed or perhaps you found one on Github and you want to deploy it to Reclaim Cloud. You create the environment with the appropriate programming language container. But now what? In this video we are going to look at the deployment options built right into Reclaim Cloud that allow you to easily take a copy of an application and deploy it to an environment. Whether you’re using Github, have a URL to a zip file, or simply upload the content yourself, the deployment manager makes this process a breeze. Let’s dive in.
The Deployment Manager is available at the bottom of your Reclaim Cloud dashboard and is an area where you can upload content that you’d like to deploy to a particular environment. Each account comes with a demo archive called HelloWorld.zip which is a single page application that works with every programming language supported by Reclaim Cloud. I’m going to create a PHP environment and then we will deploy this application to see how that works. I simply go to New Environment and select the PHP tab and click Create.
After a few moments the environment is up and running. Going back to the Deployment Manager I can mouse over my file and click this icon to deploy the code to an environment. I select my environment from a list and click Deploy. Reclaim Cloud takes that archive and extracts the code to correct folder on my Apache container automatically and within just a few seconds it’s online. Opening the URL we can see our application is online and working.
You’ll also find easily accessible deployment options located below the node associated with your application server here. These icons provide quick access to upload an archive file, reference an archive by URL, or to connect the deployment to a version control system either through Git or SVN. Let’s look at at each one individually.
The archive upload option is identical to the interface we just used to deploy our application in the deployment manager. You’ll notice since we already deployed an application to the Root folder the path has changed here. If we need to update the existing application we would change this to be just ROOT, in which case the system will warn us that an existing deployment will be updated. Below this you have options to add your own scripts as pre and post deployment scripts. This is a great way to run any necessary test scripts before a deployment is completed or to reboot services and generate specific logs after the code is deployed. If you have more than one server below this you’ll have the option for zero downtime deployment. This ensures that code is deployed to each application server individually with a delay to allow your load balancer to redirect traffic accordingly.
The URL deployment options are pretty identical with the big difference being that instead of uploading an archive file, you can simply paste a URL here and Reclaim Cloud will download and deploy the code for you. Let’s test that out with this URL to the latest version of WordPress. I’m going to replace our “Hello World” application so I’ll change the path here to just be ROOT and click Deploy. And I’ll confirm that I want to overwrite the existing deployment.
Loading the site I can see we now have the setup wizard for WordPress so our new code is live. Let’s delete that deployment to look at the last method, using version control systems.
The final deployment option is great for developers and groups that use a version control system or VCS. Both Git and SVN are supported here and in addition to public repositories, you can also access private repos with authentication.
I’ve create a repository at Github here and added all of the code from our Hello World application there.
So back in Reclaim Cloud I can add the repository by giving it a name, the clone URL, and which branch I want to pull from, in this case Master. This repo isn’t private, but if it were I could add authentication as well.
Now we have the same options to deploy from the repo but I also have the option here for Reclaim Cloud to regularly check this branch for updates and push those automatically, meaning we can setup a deployment that happens without even being logged into Reclaim Cloud!
Let’s give that a test by deploying this app with that turned on and then making changes directly in Github. Going to the site I can see our Hello World application is live again from the code pulled from the repo.
Now I’ll go make an update. I’m going to remove everything from index.php and add a basic phpinfo command to show us information about the version of PHP running on the server.
Now if we go back to the website and refresh, sure enough our site was updated automatically.
If you are not automatically deploying a project when your repo updates you’ll also still be able to manually pull down an update directly from the repo here.
Using these deployment options gives both developers and end users easy ways to deploy code without having to mess with FTP clients and navigating complex folder structures on a server. Whether it’s a zip file on your computer, a URL on the web, or a version control system with different branches of development, you have all the options to setup environments for development, production, and everything in-between with ease.