Launching an IDE
Launching the IDE
An IDE is always created in the context of a project and an environment. To launch an IDE, navigate to the directory of a project you checked out locally. Inside the directory, you can run the following command to create your IDE:
conveyor ide create --env YOURENV
This will launch an IDE with the default settings for your project and environment. You can always find all the available settings using:
conveyor ide create --help
The most important settings are:
--env
, the environment we should launch your IDE on, this determines which AWS role and Azure application client id you can use.--aws-role
, this flag describes the AWS role attached to your IDE.--azure-application-client-id
, the Azure Application ID attached to your IDE.--instance-type
, the instance type that the IDE should use.
There is no --instance-lifecycle
flag, at the moment an IDE is always launched on an on-demand
node.
If your project is configured with a Git URL, we will attempt to automatically clone your repository, saving you some keystrokes. You can verify the Git URL for a project using:
- CLI:
conveyor project get -o json
from the root of your project - UI: click on the settings tab for a given project
The underlying mechanism remains the same as with manually cloning a repository, which is described in the next section.
Cloning a public repo
After your IDE is launched, you can clone your code in the IDE. We support cloning repositories over HTTPS, so for example for the conveyor-samples GitHub repo, you can use the following command to clone the repository:
git clone https://github.com/datamindedbe/conveyor-samples.git
After cloning, you can open this folder using the command line:
code-server -r conveyor-samples
Alternatively, you can use the UI as well. Click on the folder icon on the left, and then on "open folder" to open the cloned project.
Cloning a private repo
Cloning a private repository requires you to be logged in and authenticated. Conveyor provides an automatic way to login using an OAuth application to simplify the process when using the SaaS version of GitHub, Gitlab, Bitbucket or Azure DevOps. If you are using a self-hosted version of one of these platforms, please have a look at our guide for setting up a custom Git integration with your IDE.
When doing a first checkout, you might see a screen pop up like this:
When you look at the URL, you'll see that the application is attempting to log in to GitHub. When cloning a repository from a different Git provider, Conveyor will log in to the corresponding provider, ensuring smooth interaction with most major Git platforms.
To continue the tutorial, please click the Configure Trusted Domains
,
and select the option Trust https://github.com
as pictured:
After logging in, we will continue on to github.com. The first time you will need to give permissions to enable the Conveyor IDE to retrieve a temporary OAuth token. This token will later be used to access the code repository.
.
If you would like to learn how to customize your IDE, you can continue with this tutorial.
Attach an IAM identity to your IDE
You can launch an ide with an AWS role
or an Azure application client id
, which defines permissions available from an IDE.
For more details on how to set up the permissions, take a look at the following pages:
When an IDE has an identity attached, it is most of the time automatically picked up when executing code using the
The same applies for when you want to use the AWS CLI or the Azure CLI in your IDEs.
- The AWS CLI will automatically pick up the correct credentials from the IDE. You can thus immediately run any command to access AWS resources.
- The Azure CLI does not automatically pick up the IDE credentials,
which is why we provide the
azlogin
alias to simplify using the Azure CLI. After runningazlogin
, you can execute any command to access Azure resources.
If you want to use your own credentials in Azure, you need to use the az login --use-device-code
command.
This allows you to copy the device token in the CLI.
The default login does not work in a cloud IDE as it redirects to localhost instead of the cloud IDE.
Suspending your IDE
As IDEs run inside your cloud account, there will be associated costs while they are active. To keep costs as low as possible, Conveyor will automatically suspend an IDE when there has been no activity for 60 minutes. When an IDE is suspended, a snapshot of its current state is created, allowing you to resume your work from where you left off later on.
We also provide the option to manually suspend an IDE whenever you prefer:
conveyor ide suspend
This command will suspend your IDE, the state can be viewed using:
conveyor ide list
To continue your work at a later time, you can use the following command to resume your IDE:
conveyor ide resume
Once the IDE is ready, it will be automatically opened in your browser.
Suspended state
When an IDE is suspended, all changes you made in the IDE will be saved. This includes your code changes and packages installed with apt. You can also use Git from within the IDE to push your code to a remote repository at any time, saving your work that way.
Docker images built inside the IDE are not retained in order to reduce storage costs.
Current limitations
At the moment, IDEs ship with a minimal amount of pre-installed software. This means that components such as Spark will not work out of the box (as they do in the notebooks).
We aim for eventual feature parity between IDEs and Notebooks,
but for the time being we recommend our users to install their required dependencies themselves.
You can make use of the buildSteps
mechanism,
as explained in Customizing your IDE.