Commit Graph
692 Commits
Author SHA1 Message Date
Douwe MaanandRobert Speicher bf0294378e Merge branch 'feature/project-export' into 'master'
Export project functionality

This is a MR for the export functionality of https://gitlab.com/gitlab-org/gitlab-ce/issues/3050, which adds the ability to export single projects.

- [x] members
- DB data
  - [x] issues
  - [x] issue comments
  - [x] merge requests
  - [x] merge request diff
  - [x] merge request comments
  - [x] labels
  - [x] milestones
  - [x] snippets
  - [x] releases
  - [x] events
  - [x] commit statuses
  - [x] CI builds
- File system data
  - [x] Git repository
  - [x] wiki
  - [x] uploads
  - [ ] ~~CI build traces~~
  - [ ] ~~CI build artifacts~~
  - [ ] ~~LFS objects~~
- DB configuration
  - [x] services
  - [x] web hooks
  - [x] protected branches
  - [x] deploy keys
  - [x] CI variables
  - [x] CI triggers

See merge request !3114
2016-06-17 14:18:15 -04:00
Robert SpeicherandRobert Speicher 27625dec2a Merge branch 'fix-project-find-with-namespace-order' into 'master'
Fixed ordering in Project.find_with_namespace

This MR fixes the ordering of `Project.find_with_namespace` to ensure that it returns rows that match literally first.

Closes #18603

See merge request !4682
2016-06-16 20:36:09 -04:00
Rémy Coutable be09845914 Merge branch 'environments-and-deployments' into 'master'
Add environments and deployments

This MR is a continuation of https://gitlab.com/gitlab-org/gitlab-ce/issues/17009.

The current implementation is as follow:
1. We have two new tables: `environments` and `deployments`.
2. We have a new tab: `Environments` under `Pipelines` where you can see all you environments and add a new one.
3. We add a new option to `.gitlab-ci.yml` to track where we should create a deployment for environment.
4. If environment in `.gitlab-ci.yml` is specified it will create a deployment. **If environment does not exist it will be created.** (this got changed)
5. The deployment is always successful and shows the time of the action, in that case a build that presumably should do deployment. In the future we could extend deployment with statuses: success, failure. We could extend deployments with information that this is partial or full deployment.
6. User have to create environments that he will track first.
7. User can remove environments.
8. User can retry/rollback past deployment (in that case we retry past build). The new build when succeeds it will create a new deployment.
9. Currently environment have only one parameter: `name`. In the future it should have: `variables`, `credentials` and possibly `runners` and maybe other resources.
10. Currently deployment have this parameters: `sha`, `ref`, `deployable (in this case a build)`, `user (who triggered a deployment)`, `created_at`.

The `.gitlab-ci.yml`:
```
deploy to production:
  stage: deploy
  script: dpl travis...
  environment: production
```

What needs to be done:
- [x] Write initial implementation
- [x] Improve implementation (@ayufan)
- [x] Write tests (@ayufan)
- [x] Improve UX of the forms (cc @markpundsack) - reviewed by @markpundsack
- [x] Improve implementation of the views (cc @jschatz1) - done by @iamphill 
- [x] Write .gitlab-ci.yml documentation for `environments` - done by @ayufan
- [ ] Write user documentation (@ayufan and @markpundsack)

See merge request !4605
2016-06-15 13:48:09 +00:00
Rémy Coutable 515205d3c1 UI and copywriting improvements
+ Move 'Edit Project/Group' out of membership-related partial
+ Show the access request buttons only to logged-in users
+ Put the request access buttons out of in a more visible button
+ Improve the copy in the #remove_member_message helper

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-06-14 13:18:14 +02:00
Rémy Coutable d26f81239a Add request access for groups
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-06-14 13:07:26 +02:00
Kamil Trzcinski 7d9e8b04c0 Merge remote-tracking branch 'origin/master' into environments-and-deployments 2016-06-14 12:41:18 +02:00
Douglas Barbosa Alexandre 0568b90c97 Remove deprecated issues_tracker and issues_tracker_id from project 2016-06-13 18:13:55 -03:00
Kamil Trzcinski 907c0e6796 Added initial version of deployments 2016-06-10 23:36:54 +02:00
Robert Speicher b4e84809e8 Merge branch 'finding-multiple-projects-by-paths' into 'master'
Add Project.where_paths_in

In https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4410 I'm working on reducing the SQL queries needed to render Markdown. One reason for the large amount of queries is executing a large number of queries needed to find projects and related data. Basically `Project.find_with_namespace` is called in a loop and then any relations have to be retrieved separately.

By using `Project.where_paths_in` we can work around this by doing something like:

```ruby
project_paths = [...] # populated by some method
projects = Project.where_paths_in(project_paths).includes(:namespace, ...)
```

Ref: https://gitlab.com/gitlab-org/gitlab-ce/issues/18042

See merge request !4535
2016-06-10 17:17:19 +00:00
Paco GuzmanandYorick Peterse 136a4ea39b Cache the presence of an issue_tracker at project level
Using update_column to store the boolean flag to avoid
any side effects with the current state of the project
instance
2016-06-10 15:41:56 +02:00
Yorick Peterse 24920bc52a Add Project.where_paths_in
This method can be used to find multiple projects for multiple paths.
For example, take this snippet:

    Project.where_paths_in(%w{gitlab-org/gitlab-ce gitlab-org/gitlab-ee})

This will return an ActiveRecord::Relation containing the GitLab CE and
GitLab EE projects.

This method takes care of matching rows both case-sensitively and
case-insensitively where needed.

Project.find_with_namespace in turn has been modified to use
Project.where_paths_in without nuking any scoping (instead it uses
reorder(nil)). This means that any default scopes (e.g. those used for
"pending_delete" stay intact).

The method Project.where_paths_in was added so the various Markdown
filters can use a single query to grab all the projects referenced in a
set of documents, something Project.find_with_namespace didn't allow.
2016-06-10 15:33:05 +02:00
Kamil Trzcinski 0a51c95464 Merge remote-tracking branch 'origin/master' into rename-ci-commit 2016-06-03 13:10:01 +02:00
James LopezandRobert Speicher 097eafc8c7 fix some issues and improved error output for forking 2016-06-02 21:48:26 -04:00
James LopezandRobert Speicher 64c3905523 some refactoring and fixing spec 2016-06-02 21:48:25 -04:00
Josh Frye 2605a0a844 Refactor. Add tests. 2016-06-02 11:10:57 -04:00
Josh Frye 4d9622e7d3 Invalidate cache on build change 2016-06-02 11:10:57 -04:00
Josh Frye 2d05de7af8 Cache project build count. Closes #18032 2016-06-02 11:10:57 -04:00
Kamil Trzcinski 021d3810c3 Rename Ci::Commit to Ci::Pipeline and rename some of the ci_commit to pipeline 2016-06-02 16:59:04 +02:00
Kamil Trzcinski 77cb8ec4d1 Introduce container_registry_path_with_namespace 2016-06-01 22:57:50 +02:00
Kamil Trzcinski 6e58e7ff7c Use downcased path to container repository as this is expected path by Docker 2016-06-01 20:43:33 +02:00
Grzegorz Bizon 9d5f80e00b Enable Style/MethodDefParentheses rubocop cop
Use def with parentheses when there are parameters.

See #17478
2016-05-30 12:08:53 +02:00
Phil Hughes 497a28c59f Fixed project model tests 2016-05-25 09:44:33 +01:00
Phil Hughes f2fb574d04 Updated erorr message when project limit is zero
When the project limit is zero & the user tries to create a project, the error displayed is now 'Personal project creation is not allowed. Please contact your administrator with questions'

Closes #17691
2016-05-24 17:39:56 +01:00
James Lopez 341c1181d9 refactor project to include some nicer EE stuff 2016-05-20 14:55:27 +02:00
Robert Speicher 4607323e13 Merge branch 'issue_17560' into 'master'
Mask credentials from URL when the import of project has failed.

REF: #17560 

See merge request !4185
2016-05-19 03:00:01 +00:00
Rubén Dávila 0c47b68d04 Mask credentials from URL when import of project has failed. 2016-05-18 21:16:36 -05:00
Rémy Coutable 958ff11f97 Remove unused Project scopes
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-05-18 17:13:54 -05:00
Kamil Trzciński 08fddae744 Merge branch 'docker-registry-view' into 'master'
Add container registry support

Tasks:

- [x] Merge docker/distribution authentication service: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3787
- [x] Implement Docker Registry API
- [x] Show a list of docker images in GitLab
- [x] Remove registry repository on project deletion
- [x] Support project rename, move and namespace rename
- [x] Use token when connecting the registry
- [x] Allow to delete images from GitLab
- [x] Support pushing from GitLab CI (gitlab-ci-token / $CI_BUILD_TOKEN)
- [x] Support GitLab Runner pulling for public repositories
- [ ] Support GitLab Runner pulling for private repositories
- [x] Add tests for Docker Registry API
- [x] Add tests for a views
- [x] Make texts nicer
- [x] Implement a backup support

- [ ] Create administration documentation https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4141
- [ ] Create user documentation

See merge request !4040
2016-05-18 18:19:01 +00:00
Kamil Trzcinski 2f1cb7ce04 Improve code design 2016-05-18 11:22:28 -05:00
Rémy Coutable f4d2a2d97b Merge branch 'fix/import-data-issue' into 'master'
Create import data in service and fix timing issues when scheduling job

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/17401

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/17376

See merge request !4106
2016-05-18 15:28:11 +00:00
Kamil Trzcinski 24145592e8 Provide full test coverage to lib/container_registry API implementation 2016-05-17 13:20:11 -05:00
Kamil Trzcinski eb42f95c18 Merge remote-tracking branch 'origin/master' into docker-registry-view 2016-05-16 16:15:40 -05:00
Robert Speicher 020e616822 Reduce duplication and branching logic in EventsHelper
Remove unused methods from Event model
2016-05-16 14:52:04 -05:00
Kamil Trzcinski 623102d455 Use registry.port to construct the registry host 2016-05-16 09:48:39 -05:00
Kamil Trzcinski 284dc3285a Fix abilities 2016-05-14 14:22:10 -05:00
Kamil Trzcinski 654d5ad3f4 Merge branch 'docker-registry' into docker-registry-view 2016-05-14 11:15:33 -05:00
Kamil Trzcinski f4f59d0f13 Merge branch 'docker-registry' into docker-registry-view 2016-05-13 17:15:01 -05:00
Kamil Trzcinski 0958f331d1 Merge remote-tracking branch 'origin/master' into docker-registry
# Conflicts:
#	config/initializers/1_settings.rb
2016-05-13 17:14:46 -05:00
Kamil Trzcinski 692b5e0b47 Merge branch 'docker-registry' into docker-registry-view
# Conflicts:
#	app/controllers/jwt_controller.rb
#	app/services/jwt/container_registry_authentication_service.rb
2016-05-13 16:43:49 -05:00
Kamil Trzcinski 5c2f2fd289 Fix CI tests 2016-05-12 13:03:04 -05:00
James Lopez 1074980abb Merge branches 'fix/import-data-issue' and 'master' of gitlab.com:gitlab-org/gitlab-ce into fix/import-data-issue 2016-05-11 17:54:25 +02:00
James Lopez 68aca6f663 trying to fix timing issue with import status 2016-05-11 11:37:49 +02:00
Kamil Trzcinski d5d8e76bd7 Block renaming project or repository if it has container registry tags 2016-05-09 22:41:48 +03:00
Kamil Trzcinski d7b91fb596 Simplify Container Registry view implementation 2016-05-09 22:27:06 +03:00
Kamil Trzcinski 08396be619 Rename ImageRegistry to ContainerRegistry 2016-05-09 22:14:46 +03:00
Kamil Trzcinski 565a5e36fc Merge branch 'docker-registry' into docker-registry-view 2016-05-09 22:12:34 +03:00
Kamil Trzcinski 0094d8f196 Rename images to container_registry 2016-05-09 20:29:57 +03:00
Kamil Trzcinski 71da2e0b56 Merge remote-tracking branch 'origin/master' into docker-registry 2016-05-09 20:21:02 +03:00
Jeroen van Baarsen f1479b56b7 Remove the annotate gem and delete old annotations
In 8278b763d9 the default behaviour of annotation
has changes, which was causing a lot of noise in diffs. We decided in #17382
that it is better to get rid of the whole annotate gem, and instead let people
look at schema.rb for the columns in a table.

Fixes: #17382
2016-05-09 18:00:28 +02:00
Dmitriy Zaporozhets 90ae445ba9 Merge branch 'rs-remove-wall_enabled' into 'master'
Remove `wall_enabled` field from Project



See merge request !4089
2016-05-09 10:02:59 +00:00