Skip to content

Getting started as a developer

Assumptions

  • You already have an account in the Platform
  • You are a part of an Organization
  • You have a Role that allows you to access the DevOps section of the Platform (view projects and environments), to access one or more Projects (and their Environments) and to execute certain actions on those Environments (notably, deploying code). We’ll refer to this as ‘Developer’ from now on.

In this tutorial…

We’ll show you:

  • Where to find your user settings
  • How to set up an SSH key, so you can check out Projects
  • Where to find your Projects and their Environments
  • What actions and information is available in those Projects and their Environments

Step 1: Log in

Warning:
If you have recently been granted an account on the Platform, you should have gotten an email asking you to confirm and log into your account.
Make sure to do so, as the first-time login link is only valid for 24 hours.

When trying to access the Platform directly, you will be greeted with a login screen.
Fill in your credentials and let’s go in.

Log in screen

If you’ve lost your password, you can open the ‘Reset your password’ tab. There you can use your username or email address to request a reset.
If either of these are known to the system, you should get an email with further instructions.

Reset password screen

Now, if your account already has Two-Factor Authentication (TFA) set up, you will be greeted by an additional screen, asking you to enter the verification code.

If you don’t see this screen, no worries, we’ll discuss the TFA setup later.

2-factor authentication screen with input field

Step 2: User settings

When logged in, you are directed to your ‘User Settings’ page, where you can find more information about your account and manage your SSH keys.

Overview

In the ‘Overview’ tab you can see what Organizations you are a part of. This will come up again when accessing Projects.

Note: in future, we will also use this space to display the Roles you occupy within these organizations.

User settings page

Incidentally, you can find your way back to the User Settings from any page, by hovering or clicking your user name in the header, to reveal a dropdown menu. The ‘My Settings’ item will lead you back here.

dropdown menu in header

Account

Moving on to the ‘Account’ tab, this is where you can modify your email address and password, as well as your full name.
Note: the picture is currently not used so you can leave it empty.

User account tab

User account tab with profile info

Two-Factor Authentication (TFA)

The next tab, lets you set up an extra layer of security. This is mandatory.

If you haven't set this up yet, you will be asked to do so now. This relies on the use of an Authentication app on a smartphone. So be sure to install one of the suggested options before proceeding.

2-factor authentication tab with setup button

When starting the setup in the Platform, you will be asked to confirm your password again.

password confirmation step

Afterwards, use your Authenticator app to scan the code or fill in the key manually.
Once you click ‘Verify and save’, you should be good to go.

Verify step, showing a QR code or text code

When you go back to the TFA tab, you will now see some information about the status and when it was set up.

If at some point you need to move to another Authentication app or you need to remove TFA, you can do so using the Reset RFA button at the bottom of the page.

Tab with activated 2-factor authentication

Manage SSH Keys

As a Developer, you need to be able to check out code repositories or push code to them.
If you are already familiar with working in Git, you’ll know that in order to allow your local computer to access those repositories, you need an SSH key.
This page offers you some information on how to do this.

Generating a key:

  • You can find info about generating a key on your machine, in the Gitlab documentation.
  • We recommend setting RSA as type, for compatibility reasons: -t rsa
  • We’ve seen PEM issues with keys generated on MacOS, therefore we recommend setting PEM as a format when generating on a Mac: -m pem
  • Set the number of bits for the key size to 4096: -b 4096

Example command:
ssh-keygen \-t rsa \-b 4096 \-m pem \-C "[your\_email@example.com](mailto:your\_email@example.com)"

When you have your SSH key on your machine, find the public part (usually contained in the file '\~/.ssh/id_rsa.pub'), paste it into the `SSH Keys’ field and save your changes.

Things of note:

  • Don't paste the private part of your key.
  • Allow up to 30 minutes for SSH keys to be deployed to all of our projects and environments.
  • Please do not re-upload your keys or switch them out if you can't immediately access certain projects, as that will only increase the amount of time it will take for your keys to be deployed everywhere.

tab to manage your SSH keys

Step 3: Find your Projects and Environments

When logged in, you can find your way to an overview of all the Projects (and their Environments) you have access to.

One way is by clicking on the ‘DevOps’ item in the left sidebar.
DevOps tab

Or by going to the ‘Dashboard’ item in the header and clicking the ‘DevOps’ card you’ll find on the page.

header
DevOps Card in sidebar

Once in the DevOps section, you will see an overview of all the Projects you have access to.
On top of that list, there is a bar containing various filters and sorting options.

DevOps overview filter bar

  • Organization: If you are a member of multiple ones, the first filter allows you to either display all your Projects (‘any organization’) or just the ones belonging to 1 of them.
  • Filter: Typing part of the name (or machine name) of your project, will generate a list list of suggestions for Projects. You can click those names to go directly to a Project, or click open a submenu containing the Environments.
  • State. By default, only the active projects are shown.
  • Sorting. By default it is set by creation date.
  • Sorting direction. By default it is set to be the newest first (descending)
  • View: switch between a list and a grid overview of Projects

For this example, we’ll try to find the Florista Demo and go to that project. So we simply input the ‘florista’ keyword and this will give us a dropdown list of Projects containing said keyword.

DevOps overview filter bar with autosuggested list

If I wanted to go to a specific Environment of that Project, I can click the arrow icon to reveal that list and click one of those items instead.
We’ll see more about Environments later, let’s go to the Project page instead.

autosuggested list with open project with environments

Project

Clicking a Project name (be it in the listing or in the search suggestions), brings you to the Project itself.
There are 3 tabs:

  • Overview: the default landing tab, you can see/edit the name and description but there is also a subset of other tabs, all of which aim to give you basic info manage your project, get your project running locally, what organizations own it, …
  • Environments: this will show you what environments are active
  • History: something like your Notifications History, this displays the tasks that have run that are relevant to this project only.

Project detail page

Besides tabs, there is a sidebar which contains a variety of actions you can perform.
Most of these are relevant to Environments and will be repeated on individual Environment pages as well.
Some of these will not be available in the Project page, if it has no production environment (Live).

  • Actions: they have info-icons that explain the function when you click them
  • Delete project (available for users with an Architect role only)
  • Take a Snapshot: stores the Project’s repository only, so it’s still possible to recover the data of the Project at a later time. So no database or uploaded files.
  • Shortcuts: actions you use a lot, they have info-icons that explain the function when you click them
  • Generate login link (production only)
  • Deploy (environment-specific)
  • Sync (environment-specific)
  • Logs (eg. Apache, Nginx, FPM, …)
  • Build log: lists the deploys that have happened (for production environment), with status and some details (arrow button) and links through to a paged overview with more info

You can see in the screenshot below, that our example Project does not show any other shortcuts besides ‘Deploy’ and ‘Sync’, because it has no Production environment. We will explore the full list of options when we talk about the Environments.

sidebar menus
actions menu

The Project overview also contains a subset of tabs:

  • General: this contains a link to the repo’s page in Gitlab, as well as its SSH url
  • Extra Info: some meta information, such as the machine name, the deploy method and others
  • Cron: if the Project has a Production environment, you will find a list of Crons here. We’ll get more into that as part of the Environments
  • Tokens: these can be used for token replacement in the deploy flow. More about that in the Environments section

Environments

Here you will find an overview of all the Environments available (active), with some very basic information.

environments overview

Environment

Once you click through an Environment card, you will get a view very similar to the Project detail itself, including a variety of subtabs.

Environment detail page

General

Things like the url to surf to, password protection (and the credentials for htpasswd), repo url and SSH command (if you need to access the server).

Warning:
Regarding password protection: some projects have a custom solution (eg. so the API isn’t password protected by the platform protection, but the “regular site” is.

Extra info

All manner of meta information that is useful to know how the environment runs. Creation data, type of application and its version, …

As a bonus, Drupal projects also have a Common Commands item, which tells you how to use Drush aliases to connect to the environment and, for example, sync files or the database.

extra info subtab

Domain

Here you can manage your SSL, as well as add/remove domains. Info related to these functionalities (eg. set up domains, DNS, …) can be found when clicking the info-icons.

domains subtab

Cron

Manage your cron jobs here, see which ones are active and when they run.
Important to note is that they will run for the first time when they are added.

crons subtab

Tokens

Exactly what Tokens are and how they are used, can be found in the support pages (as linked from the component as well).

We have 2 categories here:

  • Custom tokens: the ones you add to this environment
  • Computed tokens: includes the tokens inherited from the Project and other places and that are available for this environment.

tokens subtab

Backups

This shows you the Backups that exist for that Environment, along with options to filter and sort them:

  • Filter by type: the scheduled ones are done by cron (daily, weekly, …) and the manual ones are on-demand backups
  • Filter using a Date range
  • Sort direction (they are already sorted chronologically)

backups subtab

As a Developer, you can also take a new backup (on-demand), as well as choose to download or restore any backup from the list, using the cog-icon.

Services

Here you will find information on the various services available, such as PHP (with the active version), Varnish, …

services subtab

Actions

Just like on the Project page, you’ll find a dropdown with possible Actions. These have a lot more in them. What these all do, can again be read by clicking the info-icon at the right end of each item.

sidebar of an environment

Note: the ‘Request SSH access' action is used to gain access for Production environments only. The other environments should be accessible for you by default, if you use the SSH command provided in the 'General’ tab.

Open Screenshot 2023-06-16 at 14.45.23.png

Shortcuts

The sidebar Shortcuts are roughly the same as on the Project detail:

  • Generate login link: for Drupal projects only
  • Deploy code
  • Sync: sync a database between Environments
  • Logs: from Apache, Nginx, FPM, …

shortcuts for an environment

Latest build / Build logs

When deploy code, a notification will pop up to tell you the Environment is being deployed. But if you want more information on what is going on, you should keep an eye on this section.
This will show and update a log, which you can expand and follow along with for information about what is being executed on the server: which commits are being deployed, who made them, …).

shortcuts for an environment

Build log

Past logs can also be accessed using the ‘Builds’ component in the sidebar. Each of the entries has its own detail page, with the complete log.
build logs