Prerequisites#
- An e-mail address, or a Google or GitHub account.
- A repository on GitHub, GitLab or Azure DevOps that you want to deploy (for example
github.com/acme/web,gitlab.com/acme/webordev.azure.com/acme/shop/_git/web). - Somewhere to run the agent: a Kubernetes cluster (with
kubectlaccess) or a server with Docker. The machine only needs to reachacme.ejocloud.comover HTTPS; it does not need to accept incoming connections.
1. Sign up#
- Open
https://ejocloud.com/signup. - Fill in the form:
- Organization name
- Subdomain: becomes the address of your EJO, for example
acme.ejocloud.comforacme. 3-31 characters: lowercase letters, digits and hyphens; must start with a letter. - Password: at least 12 characters. You sign in to the console with this e-mail and password.
- Accept the Terms of Service and the Data Processing Agreement attached to them, and press Sign up.
Tip: With Continue with Google or Continue with GitHub at the top of the form there is no verification e-mail and no password; you later sign in to your organization with the same account. See Sign in with Google and GitHub.
2. Confirm your e-mail#
- Open the verification link in your inbox. It is valid for 24 hours; if it does not arrive, look in your spam folder.
- Press Confirm on the page that opens. Only this click confirms the address.
During the beta, new accounts are approved by hand. The page then says "Waiting for approval" and we e-mail you once yours is approved. Your EJO is then prepared; the page refreshes by itself and a "Your EJO is ready" e-mail arrives when it is done.
Note: A subdomain is not reserved until you confirm. If someone else confirms the same subdomain first, you need to sign up again with another one.
3. Open your EJO#
- Open the address from the welcome e-mail, for example
https://acme.ejocloud.com. - Use your signup e-mail as the username and the password you chose. If you signed up with Google or GitHub, use that button on the sign-in page.
- Overview > Welcome shows which of the tasks below you have finished.
4. Connect your SCM#
Connect the SCM your repository lives on; you can connect more than one.
- GitHub: on Settings > GitHub App, press Install EJO on GitHub, pick the account and repositories on GitHub and press Connect on the confirmation page on ejocloud.com. No webhook is needed.
- GitLab: save a webhook for your project under Settings > Webhooks > New webhook. With a GitLab token set in EJO, the webhook is created on GitLab by itself; otherwise enter the URL and secret shown under the project's Settings > Webhooks on GitLab.
- Azure DevOps: save a webhook for
org/projectunder Settings > Webhooks > New webhook. With a PAT set in EJO, the service hooks are created by themselves; otherwise add them under Project Settings > Service hooks.
The GitLab token and the Azure DevOps PAT are needed to clone private repositories, write statuses and use the merge gate. Details: Connect your source control.
5. Create an environment and install an agent#
- Create an environment under Infrastructure > Environments > New environment. Give it a name (for example
production) and pick the type: Kubernetes (K8S) or Docker. - On the environment page, press Install agent.
- For Kubernetes, press Generate manifest on the Kubernetes (otomatik kurulum) tab and run the
kubectl apply -f "<url>"command it shows against your own cluster. - When the agent sends its first heartbeat the page updates by itself and the agent shows as ONLINE.
For Docker and the other options, see Installing an agent.
6. Bind a repository#
- On Delivery > Repositories, press Bind repository.
- Pick your repository's SCM as the Provider and enter the repository:
acme/webon GitHub,acme/webon GitLab (path_with_namespace),acme/shop/webon Azure DevOps (org/project/repo). On GitLab and Azure DevOps, pick the webhook you saved in section 4 from the Webhook secret list. - Choose the environment you just created as Environment and a pipeline as Commit / default pipeline.
- To keep the pipeline in the repository, choose From repo — ejo.yaml is source of truth under Pipeline source and enter the file path.
- Set the triggers: by default, pushes to
mainand tags start a run.
To start from a ready-made pipeline, pick a blueprint under Services > Catalog > Install a pipeline; the wizard creates the pipeline, binds the repository and can start the first run.
7. Start your first deployment#
- Push a commit to the bound branch, or
- Start a run by hand with the Run button on the repository page.
Open the run under Delivery > Deployments. You can follow the step logs live, rerun from a failed step, and promote a successful run to another environment.
Next steps#
- The .ejo file: describe your service and pipeline in the repository.
- Pipeline definition: supported step kinds and fields.
- Triggers and bindings: push, PR, tag, schedule and merge gates.
- Two-factor authentication: protect your account.