Getting Started

Overview

Welcome to Codenvy. In this section you will find a step-by-step guide on creating an account, starting your first project and working with that project in the Codenvy Developer Environment Cloud.

We’ve kept this section high-level as an introduction to the many features within the Codenvy workspace, but if you want more detail just follow the links in each section below.

Register and Login

Register

There are 3 ways to register with Codenvy:

  • Use your Google account (via Google oAuth)
  • Use your GitHub account (via GitHub oAuth)
  • Create a Codenvy account associated with your email and workspace name

When using either of the oAuth methods, click on either Google or GitHub icon and follow the instruction. If it’s your first-time visiting Codenvy you will need to authorize Codenvy to use certain features in your Google or GitHub account.

registration

When registering with your Google or GitHub account we automatically use that as your workspace name. For instance, if your Google email address is example@gmail.com, your workspace name will be https://codenvy.com/ws/example, provided that such a workspace name is free. If it’s not, we’ll add random symbols to it, for instance https://codenvy.com/ws/example-oy79f. For more details see our Registration FAQ.

When registering with email you can enter a desired workspace name. You will then receive a confirmation email from us. Click on the confirmation link, and you will get redirected to your Codenvy workspace.

Login

You can login to your workspace using Google or GitHub oAuth or with your email and password. If you forget your password you can recover it with our password recovery request form.

Starting Your Project

There are four ways to create a new project in Codenvy:

  • Start with a blank project
  • Start with a sample application
  • Import an existing application
  • Import from a configuration file

Starting with a Blank Project

To create a project in the User Dashboard hit the big “+” symbol on the left-hand side. Alternatively, if you want to create a project from within a workspace, go to File > New > Project or click on a folder icon on a toolbar and choose Project from there.

Each of these methods will bring up the Project Wizard to guide you through Project creation. Choose a project type, and the Project Wizard will set up a new blank environment for you that matches your selected project type.

Starting with a Sample Application

The Project Wizard also includes sample applications for various languages. To access these first choose the “Samples” section, then your chosen programming language (each sample application comes with a short description). The Wizard will automatically set up the environment that’s appropriate for your application.

create_new_project

Import From Configuration File

You can create a project from a configuration file that other users can share with you, or you can generate one by yourself at File > Export Configuration.

Find more details about creating a project from a config file. Also, look at configuration reference.

Import a Project

If you have a project that’s already started in another location, you can import that into the Codenvy Developer Environment and begin working with it.

To clone a project hosted in a remote Git repository or Subversion repository (coming soon), go to File > Import Project > Import From Location. You’ll need to choose an importer type: git or svn (Subversion) depending on which VCS your project uses:

import_project

Once you paste in the repository URL, the project’s name will be automatically generated (you can change it).

If you use an SSH URL you will need to establish a secure SSH connection between your Codenvy workspace and a remote code hosting provider. More information is available in source code management docs.

Define the Project Type

Codenvy can use projects created elsewhere, or those created in Codenvy and stored elsewhere:

  • Projects Created in Codenvy: If the project you import has been created in a Codenvy workspace and then pushed to a remote repository, it already has the necessary metadata to instruct the system on how to behave, and configure builders and runners. In this case, the project can be built and run immediately after cloning.
  • Projects Created Outside Codenvy: If the project you import does not have Codenvy metadata because it was created elsewhere, the system will ask you to specify its type. A Project Wizard dialogue will open, and you will be prompted to specify the type of your project.

Upload a ZIP

If you have your project in a remote zip archive, you can upload it to a Codenvy workspace. Choose zip importer in Import from Location Box, enter a direct URL of a zip archive and click Import.

When importing a project as a zip, the system will ask you to define the project type if the project doesn’t already have Codenvy metadata.

Versioning Your Application

Codenvy supports Git and Subversion (coming Q4 2014). When your Codenvy project is mapped to a version control system, we create a local clone in your Project workspace. Git and Subversion plugins provide UI for a variety of common operations:

  • Checkout
  • Clone
  • Add changes to the index
  • Commit
  • Create and merge branches
  • Push to remote repositories

You can find a detailed Git and Subversion reference in the Versioning Your Code section of our docs.

Building Your Application

Build processes are performed on dedicated Codenvy builder nodes so they never compete for resources with editors, runners, debuggers, and code assistants. With premium plans, you can have a dedicated builder node and even execute builds in parallel.

Builders can be shared or dedicated depending on the account type:

  • Free users with a community subscription share builder resources. This means that when you click Build, the process is added to a queue and executed depending on how busy the shared builder service is at the moment.
  • Premium plans give you builders with dedicated resources. This means you are never contending with anyone for builder resources. You can also build as many applications as you want in parallel within the limits of the RAM allocated to your account.

You can find more information on resource configurations for free and paid subscriptions and the features associated with each on our website.

Builds are executed from the Build menu or by clicking on the Build icon in the menu bar. When using Maven as a build system, it is possible to execute custom Maven commands (e.g. skip tests, sort pom, etc…).

Find more details in Using Pre-Built Environments.

Running Your Application

Our runners are Docker-based, which means they are fast, flexible and secure. All run processes are performed on a Runner node, where an application is added to an image that is launched in a Docker container. You can either use our pre-built environments (Run > Run and Run > Custom Run) or create your own runtime recipe.

Runtimes are highly configurable, and we let you create any runtime environment your project may require. Check out our docs with tips, instructions, and best practices.

Debugging Your Application

Debugging is available for Java web applications only. When you hit Debug, the app is launched in a Docker container, however a special debugging recipe is used. Once the app is launched, a debugger panel will open. The Codenvy debugger is a fully functional debugger that runs in the cloud.

If you need to customize your debugging environment, you can create your own recipe. Find more details on our Debugging page.

Sharing Your Project

One of the great advantages of using the Codenvy Developer Environment Cloud is the ease with which you can share your project with the world:

  • Share the URL of your public project (optionally include access restrictions)
  • Invite developers to your workspace, giving them specific or group access rights
  • Create a Factory based on your project – this creates a clone of your project and developer environment that will be reproduced for each user who clicks on the temporary or (optionally) permanent URL

Get more information on sharing projects, privacy and access policies, and creating Factories.