Getting Started With Git Based Deployments

Detailed Setup Guide For Advanced Users


The Steps:

  1. Create an account on Github
  2. Create your first Github repository
  3. Create your REPOMAN.IO account
  4. Create a deployment server on REPOMAN.IO
  5. Create a site on REPOMAN.IO
  6. Connect your github repository
  7. Install git and your repository on your server
  8. Ready to Go!

Create an account on Github.com

First things first, if you don't have an account on Github already, you'll need to create one. Github offers free accounts with public repositories.

Create your first Github repository

If you've just created a Github account, you'll need to create your first repository

.

Create an account on REPOMAN.IO and link it to your Github account

You can create a full-featured account on REPOMAN.IO for free (no credit card required) during our public preview period, to give us a spin. Simply set a username and password, and provide an email address so that we can validate your account and contact you from time to time about Repoman-specific news. Don't worry, we won't sell your email address to anyone.

Set up your deployment server on REPOMAN.IO

You'll need to create a name for your server (for instance "Staging Server" or "Production Server">, and tell REPOMAN.IO how to login to it by providing the Host Address (IP or FQDN), SSH Port number, username and password to connect to the server (be sure to specify Git as the deployment type).

Create your first site

First, give your site a name. This is just how it will be displayed to you on the REPOMAN.IO website.

Now choose which server this site should deploy to. If you've only defined one Server so far you'll only have one choice, but if you want to go back and set up a second server, you'll be able to have REPOMAN.IO deploy to both testing and live/production sites.

Application path is the root directory of your website. This is server-specific, but common settings could be "/var/www/html", "/home/< username>/public_html", etc.

Enter the repository that you will be deploying to the server. You need to enter both the username and repository name on the github account, e.g. "username/my-project".

Enter the Github branch you'll be deploying. If you haven't created any branches yet, you should enter "master".

Enter the deployment commands you would like to use. You can use any available git commands and you could even execute custom console commands or scripts. For example, a basic Laravel setup might look like this:


git pull origin production
composer install --no-interaction --no-dev --prefer-dist
php artisan migrate --force
php artisan queue:restart


Finally, click the "Create" button

Connect your github repository

On the site detail page, click on the "connect" button in the Operations column. This process makes sure you have a valid server key and makes sure that the key has been added to your github account. Without this step, your server may not have the appropriate access it needs from Github.

Install Git and your repository to your server

You can verify whether your deployment server has Git installed by logging into the terminal using SSH and issuing the following command:

git --version

If git is present, it will respond with the version of Git that is installed on your server (i.e.: "git version 1.9.1"), if it is not installed, it should give you the following response ("git: command not found")

To install git on a Debian-based distribution, you should only have to issue the following command:

sudo apt-get install git-all

(issuing the following command should install Git on a Redhat, CentOS or Fedora-based server)

sudo yum install git-all

After Git has been installed, you will need to clone your repository to your server for the first time.

git clone git@github.com:username/repository-name.git

We don't automate repository installation for security reasons. The first time you clone in from Github you will need to verify the authenticity of the remote server by typing yes into the command prompt.

Ready to Go!

That's it! You can head back to REPOMAN.IO and run your first manual deployment to confirm things are working. Or go ahead and enable automatic deployments.