Project

General

Profile

Application version management » History » Version 5

Herve Caumont, 2013-10-03 13:13

1 1 Herve Caumont
h1. Application version management
2
3 4 Herve Caumont
{{>toc}}
4
5 1 Herve Caumont
Application version management benefits from different tools available from a Developer Cloud Sandbox.
6
7
h2. Using Git
8
9
Git is a distributed version control and source code management system with an emphasis on speed.
10
Every Git working directory is a full-fledged local repository with complete history and full version tracking capabilities, and thus not dependent on the network or a central server.
11
12
We will describe here how to setup a Git working copy of an application folder, locally to a Sandbox, and how to push it to a GitHub code repository, for application sharing and collaborative development environment on the Web.
13
14
GitHub (http://github.com) is a web hosting service for software development projects, that uses the Git version control system. The service provides social networking tools such as feeds, watchers, and a social network graph to visualize how developers exploit their versions of a repository.
15
16
!local-remote.png!
17
18
h3. Step by step with Git
19
20 5 Herve Caumont
To initialize your Git local repository, with a synchronization to a web backup repository (GitHub), one option is to start from a repository previously initialized for a Sandbox project on Terradue's GitHub.
21 1 Herve Caumont
22 5 Herve Caumont
Start to save all the files of your /application folder.
23
Then ensure you have a clean, empty /application folder.
24 1 Herve Caumont
<pre>
25
[user@sb ~]$ cd /application
26 5 Herve Caumont
[user@sb ~]$ ls -al
27
</pre>
28
Then type:
29
<pre>
30 1 Herve Caumont
[user@sb ~]$ git clone git@github.com:Terradue/geowow-1.git ./
31
</pre>
32
33
You'll have to give your certificate passphrase.
34 5 Herve Caumont
As a result, this is creating the Sandbox's Git repository (.git) under your "application" folder, with synchronization to the web-based GitHub repository "geowow-1".
35 1 Herve Caumont
36 5 Herve Caumont
*From working directory to staging area*
37
38
Then copy your Application files back in your /application working directory.
39
Add your Application files in the sandbox's Git version control system:
40 1 Herve Caumont
<pre>
41
[user@sb ~]$ cd /application
42
[user@sb ~]$ git add application.xml yourSubFolder1/ 
43
</pre>
44
45 5 Herve Caumont
As a result, this is adding (referencing) file contents to the Git index (staging area).
46 1 Herve Caumont
47 5 Herve Caumont
*From staging area to local repository* 
48
49 1 Herve Caumont
To commit your Application in the sandbox's Git version control system:
50
<pre>
51
[user@sb ~]$ git commit
52
</pre>
53
54 5 Herve Caumont
As a result, this is recording files changes to the Git local repository.
55 1 Herve Caumont
56 5 Herve Caumont
*From local repository to remote repository*
57
58
To push your application on a webbackup area, for example on a dedicated GitHub repo (here the GitHub private repo https://github.com/Terradue/geowow-1 provided by Terradue to Sandbox users):
59 1 Herve Caumont
<pre>
60 5 Herve Caumont
[user@sb ~]$ git push
61 1 Herve Caumont
</pre>
62
63 5 Herve Caumont
As a result, this is updating the remote repository with the files changes from the Git local repository.
64 1 Herve Caumont
65
h2. Using Hadoop runs folders
66
67
Upcoming!