View
2.435
Download
2
Category
Tags:
Preview:
Citation preview
Building a Drupal site with GitDiagrams and Notes
Jan 2013
Provided by dumbass
Please note this is currently a documentation for discussion- it has not been reviewed yet. Please leave any useful commentsThis document should be used in conjunction with the excellent tutorial on Drupal.org
Server with user fooproject
* This directory is not the working tree, where you edit and commit code. Rather, it is simply the central location for the git objects and history.
public_html
fooproject.git*
$ ssh username@mysite.com$ cd ~$ git init --bare fooproject.git
Creating the Central Repository
Local machine
fooproject
$ git clone git://drupalcode.org/project/drupal.git fooproject$ cd fooproject$ git checkout 7.0
This command clones a copy of the latest Drupal code into a local folder named fooproject
Locally Cloning Drupal
git://drupalcode.org/project/drupal.git
local_development_environment
TIPBefore you issue these commandsEnsure you are in the correct directory where you want to install your local Drupal installation by navigating to the correct directory by using the usual
$ cd path/to/my/directory
Serverpublic_html
fooproject.git*
Local machine
local_development_environment
fooproject
How your setup should look
Local machine $ git remote rename origin drupal
$ git remote add origin path/to/your/central/git/repo
(example: ssh://fooproject@fooproject.com/home/fooproject/fooproject.git)
Rename the original origin remote (the drupal.org Drupal project repository) to ‘drupal’
Updating Remotes
TIPTo end your current remote session and start working locally useCTRL+D
Creating a Working Branch
Local machine
local_development_environment
fooproject (fooproject)
$ git branch fooproject$ git checkout fooproject
You now have a git branch called fooproject. You can use this fooproject branch as a working branch to add contributed and custom modules and themes to your site. Consider it the equivalent of the default Git ‘master’ branch for your project.
At this point, you should complete the Drupalinstallation process to get a working local installation.
Complete local installation of Drupal
Local machine
local_development_environment
fooproject (fooproject)
Pushing Code to the Central Repository and Completing Initial Deployment
Local machine
$ git push origin fooproject
Serverpublic_html
fooproject.git (fooproject)
Pushing Code to the Central Repository and Completing Initial Deployment
$ git clone --branch fooprojectssh://fooproject@fooproject.com/home/users/fooproject/fooproject.git fooproject_dev
Serverpublic_html
fooproject.git (fooproject)
fooproject_dev
This fooproject_dev version could exist on another server. But is a sub –directory in this example. Once you have completed your initial pull you will see the Drupal file structure on the server
Now, you have a fooproject_dev directory that you can use as the root of a new virtual host. You can proceed through the normal Drupal installation process using this development copy of your site and a separate database for it. Repeat this process for the Staging and Production environments - we’ll assume that they live on the same server in directories fooproject_stg and fooproject_prod.
Complete dev installation of Drupal
Server
Pushing Code to the Central Repository and Completing Initial Deployment
public_html
fooproject.git (fooproject)
fooproject_dev
fooproject_stg
fooproject_prod
Server
Staging and Production - Tag Based Deployment
$ git tag prod_20110419 ## Creating a tag from the current commit. You can specify a commit here if you wish.
Local machine
$ git push origin prod_20110419
$ git pull $ git checkout prod_20110419
Server
Recommended