In this blog I will introduce you to the collaborative cloud development platform CloudForge. As you will see, signing up for a free account is easy. In just a few minutes you can be hosting your Git or Subversion repositories on CloudForge, as well as provisioning your other favorite development tools.
TeamForge, the industry leading Agile application lifecycle management platform, is available as part of your free CloudForge project. Using the TeamForge tracker, you can define and track all your work items such as business requirements, user stories, tasks, issues and bugs. To manage your backlogs and establish release and sprint plans, you can use TeamForge’s rich Agile toolset, including the task board, planning board and Kanban board. Your organization can share and manage documents and files using the TeamForge document manager, collaborate and share information using TeamForge wikis and discussion forums, and much more. And all for free.
To demonstrate this, I’ve chosen to use GitEye, a free graphical client for Git. Tr support is also provided by other CollabNet desktops such as the desktop for Eclipse and the desktop for Microsoft Windows, as well as by the CloudForge and TeamForge web UIs.
If you would like to follow along using GitEye, you can start by downloading your free copy from here.
When GitEye is first opened, a dashboard message indicates that registration will be required to use the product after 30 days.
When you click on “Learn More” you will see that registering is very simple. All you have to do is sign up for a free CloudForge account and connect to it from GitEye. When you connect, GitEye is automatically registered and free to use forever, even if you choose never to use CloudForge again.
When you click on “Sign-up for CloudForge” in the GitEye dashboard, you will be directed to the CloudForge signup page in your browser. Once you have provided your sign up information and verified your email address, you will be guided through the simple process of creating a CloudForge project.
Give your project a name and select the Git checkbox. If you like, you can also check SVN and/or TeamForge to add those services at well. However, for the purpose of following along with this blog, that is not necessary. You can always add services at a later time.
Click “Create Project” to create a CloudForge project with an empty Git repository.
Once you’ve signed up for CloudForge and created your project, the next step is to connect to your CloudForge account from GitEye. To do this, click on “Add Connection” in the GitEye dashboard, which will bring up the “Add CollabNet Site” wizard.
Under “Add a pre-configured site”, select CloudForge (if you happen to have a TeamForge server already, you could also register GitEye by selecting CollabNet TeamForge and connecting to that server). Click Next twice and enter the credentials that you provided when you signed up for your CloudForge account. Click Finish and that’s it!
Your CloudForge account is not only free, but it is private to your organization. It is a simple matter to create or invite users to your account so that they can collaborate on your project. The users that you add to your organization will not have to sign up for CloudForge to register their copies of GitEye; they will just need to enter their CloudForge credentials in GitEye, as described in the Connecting to CloudForge from GitEye section, above.
You are almost ready to clone your repository. But, first, you will set up your SSH key on CloudForge. Select the “Git Actions” tab in the GitEye dashboard, then click “SSH Settings”.
In the Preferences dialog, select the “Key Management” tab.
Now click “Generate RSA Key…”. Select the generated key and copy it to your clipboard. Then enter a passphrase to protect your private key, and click “Save Private Key…” to save it, accepting any confirmation requests.
Now that you have your SSH key, you need to add it to CloudForge. In your browser, go to the CloudForge dashboard and select “My Settings” from the dropdown menu next to your user name.
On the “My User Settings” page, select “Keys”.
On the “Keys Settings” page, click “Add Key”.
Enter a name for your key and paste your key from the clipboard. Click “Add Key” to add the key to CloudForge.
Now you are ready to clone your repository. In the GitEye CollabNet Sites tab, expand the CloudForge site and you will see your project. Expand the project and you will see the services you have added to the project. So far we have added only the Git service, so you will see your Git repository. If you were to add, for example, the TeamForge service or the Subversion service, you would see those as well. Right-click on the repository and select “Clone via SSH…” from the context menu.
You will see that the clone URL is already filled in for you. Click Next.
On the next page, ignore the warning about the Git repository being empty and click Next again.
Click Finish to clone the repository from CloudForge.
When the clone finishes, you can select the Git Repositories tab and see that your cloned repository is now accessible from GitEye.
And that’s all there is to it. Of course, at this point, you have simply cloned an empty repository. This blog is assuming that you know how to use Git and how to add and commit files to your repository and push them to a server.
Although we cloned the CloudForge repository using the GitEye client, it could be cloned just as well from the command line or from any other Git client. But I think you will find that, besides being free, GitEye is a rich and feature-complete client. It also offers seamless integration with CloudForge and TeamForge, enabling you to link artifacts with commits and take advantage of TeamForge’s Agile toolset as well as other cool features. In future blog posts I intend to illustrate this integration, but let’s close with a quick example of how you would create a new CloudForge project from GitEye and push an existing Git repository into it.
In the previous example, you cloned an empty Git repository from a CloudForge Git repository. This is great if you are just starting development for a new project, but perhaps you already have an existing Git repository that you would like to include, with all its history intact, on CloudForge? The steps to do this using GitEye are described below.
In the CollabNet Sites tab, right-click the CloudForge site and select “Add CloudForge project…”.
Enter a name for your project, select the Git checkbox, and click Finish.
Expand your new project and right-click your Git repository. Select “Clone via SSH…”, but do not actually clone the repository. In the “Clone Git Repository” dialog, the URI should already be selected. Copy it to your clipboard, then click Cancel. You will use this when you configure your local repository for fetch.
Now switch to the Git Repositories tab. Click on the first Git icon in the tab’s toolbar (tooltip is “Add an existing local Git Repository to this view”). In the “Add Git Repositories” dialog, use the Browse button or enter the path to the directory where your existing Git repository resides. Check your repository in the search results section and click Finish.
Your repository is now included in the Git Repositories view. Expand it, right-click “Remotes”, and select “Create Remote…” from the context menu.
In the “New Remote” dialog, accept the default remote name of “origin”. Change the selection from “Configure push” to “Configure fetch”. Click OK.
In the “Configure Fetch” dialog, click the “Change…” button to the right of the URI.
The “Select a URI” dialog should be automatically filled based on the contents of your clipboard.
Click Finish. Confirm that the Configure Fetch dialog has been filled in as shown below, then click “Save and Fetch”.
Your fetch results should show you that everything is up to date:
Click OK. Now you are ready to push your branch. Right-click your repository and select “Push Branch…” from the context menu.
In the “Push Branch to Remote” dialog, check “Force overwrite of branch on remote if it exists and has diverged”. Click Next.
Confirm the expected push results and click Finish.
You will see a confirmation that the branch was created successfully.
Your repository is now in your CloudForge project. Other users who you have added to your organization can clone it using GitEye, command line, or their Git client of choice.
The above is just one example of how the GitEye GUI simplifies fairly complex Git operations. If you are interested in how you would have accomplished the same thing from a command line, it would be like this:
$ git remote add origin ssh://email@example.com/blogdemotwo.git
$ git push -f –tags origin refs/heads/*:refs/heads/*
This blog has covered signing up for a free CloudForge account, setting up your SSH key, creating CloudForge projects to host Git repositories, cloning an empty Git repository from CloudForge, and pushing an existing local Git repository into a CloudForge repository. It also gives you an idea about just a few of the things that you can do from the GitEye client. If you followed along, then you already have your free CloudForge account and you can start to use it, along with GitEye or your favorite Git client. In a future blog, I will cover several neat features of TeamForge for Agile, but you can get a head start by adding the TeamForge service to your CloudForge project (right-click on your project in the CollabNet Sites tab and select “Add CloudForge service…”) and inviting a few colleagues to join your project.