From 9954efb0b7bea9502115d44595a6cddd3b622f4d Mon Sep 17 00:00:00 2001 From: Sytse Sijbrandij Date: Mon, 23 Sep 2013 18:03:44 +0200 Subject: [PATCH 1/4] Login in done. --- ROADMAP.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index 83f4e6664..e653dd9f7 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,6 +1,5 @@ ## ROADMAP: -1. Auth to GitLab with username, email, ldap -2. Email notification -3. API documentation -4. Test coverage > 85% +1. Email notification +2. API documentation +3. Test coverage > 85% From ba65f00b43ce18497658619a3053d857ecad5608 Mon Sep 17 00:00:00 2001 From: Sytse Sijbrandij Date: Mon, 23 Sep 2013 18:15:03 +0200 Subject: [PATCH 2/4] Enhance readme. --- README.md | 47 +++++++++++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 94db8b35e..bfd51f2ec 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,6 @@ ### Requirements -GitLab CI is designed for the Linux operating system. - GitLab CI officially supports (recent versions of) these Linux distributions: * Ubuntu Linux @@ -18,21 +16,20 @@ GitLab CI officially supports (recent versions of) these Linux distributions: Additionally GitLab CI requires: +* GitLab 6.0+ * ruby 1.9.3 * MySQL or PostgreSQL -This version (3.x) is designed for GitLab 5.3+. - -__If you want to use GitLab CI without GitLab or with older versions you need to use [2-2-stable](https://github.com/gitlabhq/gitlab-ci/tree/2-2-stable#gitlab-ci-is-an-open-source-continuous-integration-server)__ +__If you want to use GitLab CI without GitLab or with older versions of GitLab you need to use [2-2-stable](https://github.com/gitlabhq/gitlab-ci/tree/2-2-stable#gitlab-ci-is-an-open-source-continuous-integration-server)__ -### How it works +### Architecture -__GitLab CI__ is a web application with API and connect to db. -It manage projects/builds and provide a nice user interface. -It uses GitLab application to authenticate users. +__GitLab CI__ is a web application with an API and it connect to the db. +It manage projects/builds and provides a nice user interface. +It uses the GitLab application API to authenticate users. -__GitLab CI Runner__ is a pure ruby application which process builds. -It can be deployed separately and work with GitLab CI through API. +__GitLab CI Runner__ is a pure ruby application which processes builds. +It can be deployed separately and works with GitLab CI through an API. In order to run tests you need at least 1 __GitLab CI__ instance and 1 __GitLab CI Runner__. However, for running several builds at the same time you may want to setup more than one __GitLab CI Runner__. @@ -45,10 +42,6 @@ Possible Cases: ![screen](https://raw.github.com/gitlabhq/gitlab-ci/master/app/assets/images/arch.jpg) -The runner runs the line below and then runs the commands in your projects settings - - cd /gitlab-ci-runner/tmp/builds && git clone git@gitlab_server_fqdn:group/project.git project-1 && cd project-1 && git checkout master - For more information see: [Announcing GitLab CI 3.0](http://blog.gitlab.org/announcing-gitlab-ci-3.0/) and @@ -56,7 +49,29 @@ and ### Installation -* [Installation and setup guide](https://github.com/gitlabhq/gitlab-ci/blob/master/doc/installation.md) +* [Installation guide](https://github.com/gitlabhq/gitlab-ci/blob/master/doc/installation.md) + +### How to add a new project to GitLab CI + +1) Log in the GitLab CI web interface +2) Press the 'Sync now' button +3) Select your project with the 'Add' button +4) Go the the Integration page and do the 'Complete (as service)' steps +5) Go to the settings page to add a build script (see below for an example) +6) Push a new commit to the project +7) If the build fails then adjust the build script and press the 'Retry' button on the build page +8) If the build is green you are done, all new commits will be tested and you see the status of merge requests builds within GitLab + +For your information, the runner runs the line below and then runs the commands in your build script: + + cd /gitlab-ci-runner/tmp/builds && git clone git@gitlab_server_fqdn:group/project.git project-1 && cd project-1 && git checkout master + +Build script example: + + bundle install + bundle exec rake db:create RAILS_ENV=test + bundle exec rake db:migrate RAILS_ENV=test + script/run_all_tests ### Getting help From 2139ee109612300861f5958c5fd5e21fa5bbe9d7 Mon Sep 17 00:00:00 2001 From: Sytse Sijbrandij Date: Mon, 23 Sep 2013 18:15:59 +0200 Subject: [PATCH 3/4] Keep things dry, the requirements are in the readme. --- doc/installation.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/doc/installation.md b/doc/installation.md index 528d37e5b..cc097352e 100644 --- a/doc/installation.md +++ b/doc/installation.md @@ -1,7 +1,3 @@ -# Requirements: - -* GitLab 5.3+ - # Setup: ## 1. Packages / Dependencies From 38f421f4aa7f7e52edc87db07692515df6d89bbc Mon Sep 17 00:00:00 2001 From: Sytse Sijbrandij Date: Tue, 24 Sep 2013 16:06:02 +0200 Subject: [PATCH 4/4] Limitations should be more obvious to people considering GitLab CI. --- README.md | 28 +++++++++++++++++++--------- ROADMAP.md | 5 ----- 2 files changed, 19 insertions(+), 14 deletions(-) delete mode 100644 ROADMAP.md diff --git a/README.md b/README.md index bfd51f2ec..aa523e0a3 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,16 @@ Additionally GitLab CI requires: __If you want to use GitLab CI without GitLab or with older versions of GitLab you need to use [2-2-stable](https://github.com/gitlabhq/gitlab-ci/tree/2-2-stable#gitlab-ci-is-an-open-source-continuous-integration-server)__ +### Limitations + +The following features are not in GitLab CI but merge requests are very welcome: + +* Email notification +* API documentation +* Increase test coverage (the goal is to be above 85%) +* Build artifacts access +* Build pipeline / build promotion actions + ### Architecture __GitLab CI__ is a web application with an API and it connect to the db. @@ -53,16 +63,16 @@ and ### How to add a new project to GitLab CI -1) Log in the GitLab CI web interface -2) Press the 'Sync now' button -3) Select your project with the 'Add' button -4) Go the the Integration page and do the 'Complete (as service)' steps -5) Go to the settings page to add a build script (see below for an example) -6) Push a new commit to the project -7) If the build fails then adjust the build script and press the 'Retry' button on the build page -8) If the build is green you are done, all new commits will be tested and you see the status of merge requests builds within GitLab +1. Log in the GitLab CI web interface +2. Press the 'Sync now' button +3. Select your project with the 'Add' button +4. Go the the Integration page and do the 'Complete (as service)' steps +5. Go to the settings page to add a build script (see below for an example) +6. Push a new commit to the project +7. If the build fails then adjust the build script and press the 'Retry' button on the build page +8. If the build is green you are done, all new commits will be tested and you see the status of merge requests builds within GitLab -For your information, the runner runs the line below and then runs the commands in your build script: +For your information, the runner runs the line below before it runs the commands in your build script: cd /gitlab-ci-runner/tmp/builds && git clone git@gitlab_server_fqdn:group/project.git project-1 && cd project-1 && git checkout master diff --git a/ROADMAP.md b/ROADMAP.md deleted file mode 100644 index e653dd9f7..000000000 --- a/ROADMAP.md +++ /dev/null @@ -1,5 +0,0 @@ -## ROADMAP: - -1. Email notification -2. API documentation -3. Test coverage > 85%