Commit 915dda14 authored by Achilleas Pipinellis's avatar Achilleas Pipinellis

Split Koding admin/user docs

parent 94cfd4ad
...@@ -3,7 +3,7 @@ class KodingController < ApplicationController ...@@ -3,7 +3,7 @@ class KodingController < ApplicationController
layout 'koding' layout 'koding'
def index def index
path = File.join(Rails.root, 'doc/integration/koding-usage.md') path = File.join(Rails.root, 'doc/user/project/koding.md')
@markdown = File.read(path) @markdown = File.read(path)
end end
......
...@@ -405,7 +405,7 @@ ...@@ -405,7 +405,7 @@
%strong gitlab %strong gitlab
team, and you need to provide that team's URL here. Learn more in the team, and you need to provide that team's URL here. Learn more in the
= succeed "." do = succeed "." do
= link_to "Koding integration documentation", help_page_path("integration/koding") = link_to "Koding administration documentation", help_page_path("administration/integration/koding")
.form-actions .form-actions
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
- [SSH](ssh/README.md) Setup your ssh keys and deploy keys for secure access to your projects. - [SSH](ssh/README.md) Setup your ssh keys and deploy keys for secure access to your projects.
- [Webhooks](web_hooks/web_hooks.md) Let GitLab notify you when new code has been pushed to your project. - [Webhooks](web_hooks/web_hooks.md) Let GitLab notify you when new code has been pushed to your project.
- [Workflow](workflow/README.md) Using GitLab functionality and importing projects from GitHub and SVN. - [Workflow](workflow/README.md) Using GitLab functionality and importing projects from GitHub and SVN.
- [Koding](user/project/koding.md) Learn how to use Koding, the online IDE.
## Administrator documentation ## Administrator documentation
...@@ -29,6 +30,7 @@ ...@@ -29,6 +30,7 @@
- [Restart GitLab](administration/restart_gitlab.md) Learn how to restart GitLab and its components. - [Restart GitLab](administration/restart_gitlab.md) Learn how to restart GitLab and its components.
- [Integration](integration/README.md) How to integrate with systems such as JIRA, Redmine, Twitter. - [Integration](integration/README.md) How to integrate with systems such as JIRA, Redmine, Twitter.
- [Issue closing](customization/issue_closing.md) Customize how to close an issue from commit messages. - [Issue closing](customization/issue_closing.md) Customize how to close an issue from commit messages.
- [Koding](administration/integration/koding.md) Set up Koding to use with GitLab.
- [Libravatar](customization/libravatar.md) Use Libravatar for user avatars. - [Libravatar](customization/libravatar.md) Use Libravatar for user avatars.
- [Log system](administration/logs.md) Log system. - [Log system](administration/logs.md) Log system.
- [Environment Variables](administration/environment_variables.md) to configure GitLab. - [Environment Variables](administration/environment_variables.md) to configure GitLab.
......
# Koding & GitLab # Koding & GitLab
> [Introduced][ce-5909] in GitLab 8.11.
This document will guide you through installing and configuring Koding with This document will guide you through installing and configuring Koding with
GitLab. GitLab.
...@@ -12,10 +14,9 @@ provisioned VMs. This agent is called Klient and it provides Koding to access ...@@ -12,10 +14,9 @@ provisioned VMs. This agent is called Klient and it provides Koding to access
and manage the target machine. and manage the target machine.
Kontrol and Klient are based on another technology called Kontrol and Klient are based on another technology called
[Kite](github.com/koding/kite), that we have written at Koding. Which is a [Kite](https://github.com/koding/kite), that we have written at Koding. Which is a
microservice framework that allows you to develop microservices easily. microservice framework that allows you to develop microservices easily.
## Requirements ## Requirements
### Hardware ### Hardware
...@@ -31,20 +32,20 @@ least a `c3.xlarge` instance. ...@@ -31,20 +32,20 @@ least a `c3.xlarge` instance.
### Software ### Software
- [git](https://git-scm.com) - [Git](https://git-scm.com)
- [docker](https://www.docker.com) - [Docker](https://www.docker.com)
- [docker-compose](https://www.docker.com/products/docker-compose) - [docker-compose](https://www.docker.com/products/docker-compose)
Koding can run on most of the UNIX based operating systems, since it's shipped Koding can run on most of the UNIX based operating systems, since it's shipped
as containerized with Docker support, it can work on any operating system that as containerized with Docker support, it can work on any operating system that
supports Docker. supports Docker.
Required services are; Required services are:
- PostgreSQL # Kontrol and Service DB provider - **PostgreSQL** - Kontrol and Service DB provider
- MongoDB # Main DB provider the application - **MongoDB** - Main DB provider the application
- Redis # In memory DB used by both application and services - **Redis** - In memory DB used by both application and services
- RabbitMQ # Message Queue for both application and services - **RabbitMQ** - Message Queue for both application and services
which are also provided as a Docker container by Koding. which are also provided as a Docker container by Koding.
...@@ -237,3 +238,5 @@ login) once you accept you will be redirected to your Koding instance. ...@@ -237,3 +238,5 @@ login) once you accept you will be redirected to your Koding instance.
From now on you can login by using `SIGN IN WITH GITLAB` button on your Login From now on you can login by using `SIGN IN WITH GITLAB` button on your Login
screen in your Koding instance. screen in your Koding instance.
[ce-5909]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5909
# Koding & GitLab # Koding & GitLab
> [Introduced][ce-5909] in GitLab 8.11.
This document will guide you through using Koding integration on GitLab in This document will guide you through using Koding integration on GitLab in
detail. For configuring and installing please follow [this](koding.md) guide. detail. For configuring and installing please follow the
[administrator guide](../../administration/integration/koding.md).
You can use Koding integration to run and develop your projects on GitLab. This You can use Koding integration to run and develop your projects on GitLab. This
will allow you and the users to test your project without leaving the browser. will allow you and the users to test your project without leaving the browser.
...@@ -10,29 +13,26 @@ environment for your project. With this integration you can automatically ...@@ -10,29 +13,26 @@ environment for your project. With this integration you can automatically
create a proper stack template for your projects. Currently auto-generated create a proper stack template for your projects. Currently auto-generated
stack templates are designed to work with AWS which requires a valid AWS stack templates are designed to work with AWS which requires a valid AWS
credential to be able to use these stacks. You can find more information about credential to be able to use these stacks. You can find more information about
stacks and the other providers that you can use on Koding from stacks and the other providers that you can use on Koding following the
[here](https://www.koding.com/docs). [Koding documentation][koding-docs].
# Enable Integration ## Enable Integration
You can enable Koding integration by providing the running Koding instance URL You can enable Koding integration by providing the running Koding instance URL
in Application Settings; in Application Settings under **Admin area > Settings** (`/admin/application_settings`).
- Open **Admin area > Settings** (`/admin/application_settings`). ![Enable Koding](img/koding_enable-koding.png)
![Enable Koding](help/integration/img/koding_enable-koding.png)
Once enabled you will see `Koding` link on your sidebar which leads you to Once enabled you will see `Koding` link on your sidebar which leads you to
Koding Landing page Koding Landing page.
![Koding Landing](help/integration/img/koding_landing.png) ![Koding Landing](img/koding_landing.png)
You can navigate to running Koding instance from here. For more information and You can navigate to running Koding instance from here. For more information and
details about configuring integration please follow [this](koding.md) guide. details about configuring the integration, please follow the
[administrator guide](../../administration/integration/koding.md).
# Set up Koding on Projects ## Set up Koding on Projects
Once it's enabled, you will see some integration buttons on Project pages, Once it's enabled, you will see some integration buttons on Project pages,
Merge Requests etc. To get started working on a specific project you first need Merge Requests etc. To get started working on a specific project you first need
...@@ -40,83 +40,89 @@ to create a `.koding.yml` file under your project root. You can easily do that ...@@ -40,83 +40,89 @@ to create a `.koding.yml` file under your project root. You can easily do that
by using `Set Up Koding` button which will be visible on every project's by using `Set Up Koding` button which will be visible on every project's
landing page; landing page;
![Set Up Koding](help/integration/img/koding_set-up-ide.png) ![Set Up Koding](img/koding_set-up-ide.png)
Once you click this will open a New File page on GitLab with auto-generated Once you click this will open a New File page on GitLab with auto-generated
`.koding.yml` content based on your server and repository configuration. `.koding.yml` content based on your server and repository configuration.
![Commit .koding.yml](help/integration/img/koding_commit-koding.yml.png) ![Commit .koding.yml](img/koding_commit-koding.yml.png)
# Run a project on Koding ## Run a project on Koding
If there is `.koding.yml` exists in your project root, you will see If there is `.koding.yml` exists in your project root, you will see
`Run in IDE (Koding)` button in your project landing page. You can initiate the `Run in IDE (Koding)` button in your project landing page. You can initiate the
process from here. process from here.
![Run on Koding](help/integration/img/koding_run-in-ide.png) ![Run on Koding](img/koding_run-in-ide.png)
This will open Koding defined in the settings in a new window and will start This will open Koding defined in the settings in a new window and will start
importing the project's stack file; importing the project's stack file.
![Import Stack](help/integration/img/koding_stack-import.png) ![Import Stack](img/koding_stack-import.png)
You should see the details of your repository imported into your Koding You should see the details of your repository imported into your Koding
instance. Once it's completed it will lead you to the Stack Editor and from instance. Once it's completed it will lead you to the Stack Editor and from
there you can start using your new stack integrated with your project on your there you can start using your new stack integrated with your project on your
GitLab instance. For details about what's next you can follow GitLab instance. For details about what's next you can follow
[this](https://www.koding.com/docs/creating-an-aws-stack) guide from 8. step. [this guide](https://www.koding.com/docs/creating-an-aws-stack) from step 8.
Once stack initialized you will see the `README.md` content from your project Once stack initialized you will see the `README.md` content from your project
in `Stack Build` wizard, this wizard will let you to build the stack and import in `Stack Build` wizard, this wizard will let you to build the stack and import
your project into it. **Once it's completed it will automatically open the your project into it. **Once it's completed it will automatically open the
related vm instead of importing from scratch** related vm instead of importing from scratch**.
![Stack Building](help/integration/img/koding_start-build.png) ![Stack Building](img/koding_start-build.png)
This will take time depending on the required environment. This will take time depending on the required environment.
![Stack Building in Progress](help/integration/img/koding_build-in-progress.png) ![Stack Building in Progress](img/koding_build-in-progress.png)
It usually takes ~4 min. to make it ready with a `t2.nano` instance on given It usually takes ~4 min. to make it ready with a `t2.nano` instance on given
AWS region. (`t2.nano` is default vm type on auto-generated stack template AWS region. (`t2.nano` is default vm type on auto-generated stack template
which can be manually changed) which can be manually changed).
![Stack Building Success](help/integration/img/koding_build-success.png) ![Stack Building Success](img/koding_build-success.png)
You can check out the `Build Logs` from this success modal as well; You can check out the `Build Logs` from this success modal as well.
![Stack Build Logs](help/integration/img/koding_build-logs.png) ![Stack Build Logs](img/koding_build-logs.png)
You can now `Start Coding`! You can now `Start Coding`!
![Edit On IDE](help/integration/img/koding_edit-on-ide.png) ![Edit On IDE](img/koding_edit-on-ide.png)
## Try a Merge Request on IDE
# Try a Merge Request on IDE
It's also possible to try a change on IDE before merging it. This flow only It's also possible to try a change on IDE before merging it. This flow only
enabled if the target project has `.koding.yml` in it's target branch. You enabled if the target project has `.koding.yml` in it's target branch. You
should see the alternative version of `Run in IDE (Koding)` button in merge should see the alternative version of `Run in IDE (Koding)` button in merge
request pages as well; request pages as well;
![Run in IDE on MR](help/integration/img/koding_run-mr-in-ide.png) ![Run in IDE on MR](img/koding_run-mr-in-ide.png)
This will again take you to Koding with proper arguments passed, which will This will again take you to Koding with proper arguments passed, which will
allow Koding to modify the stack template provided by target branch. You can allow Koding to modify the stack template provided by target branch. You can
see the difference; see the difference;
![Different Branch for MR](help/integration/img/koding_different-stack-on-mr-try.png) ![Different Branch for MR](img/koding_different-stack-on-mr-try.png)
The flow for the branch stack is also same with the regular project flow. The flow for the branch stack is also same with the regular project flow.
## Open GitLab from Koding
# Open GitLab from Koding
Since stacks generated with import flow defined in previous steps, they have Since stacks generated with import flow defined in previous steps, they have
information about the repository they are belonging to. By using this information about the repository they are belonging to. By using this
information you can access to related GitLab page from stacks on your sidebar information you can access to related GitLab page from stacks on your sidebar
on Koding. on Koding.
![Open GitLab from Koding](help/integration/img/koding_open-gitlab-from-koding.png) ![Open GitLab from Koding](img/koding_open-gitlab-from-koding.png)
## Other links
- [YouTube video on GitLab + Koding workflow][youtube]
- [Koding documentation][koding-docs]
[ce-5909]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5909
[youtube]: https://youtu.be/3wei5yv_Ye8
[koding-docs]: https://www.koding.com/docs
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment