index.md 8,8 КБ
Newer Older
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
1
2
3
4
5
6
7
8
9
10
# Projects

In GitLab, you can create projects for hosting
your codebase, use it as an issue tracker, collaborate on code, and continuously
build, test, and deploy your app with built-in GitLab CI/CD.

Your projects can be [available](../../public_access/public_access.md)
publicly, internally, or privately, at your choice. GitLab does not limit
the number of private projects you create.

Jacopo's avatar
Jacopo включено в состав коммита
11
## Project features
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
12
13
14
15
16
17
18
19

When you create a project in GitLab, you'll have access to a large number of
[features](https://about.gitlab.com/features/):

**Issues and merge requests:**

- [Issue tracker](issues/index.md): Discuss implementations with your team within issues
  - [Issue Boards](issue_board.md): Organize and prioritize your workflow
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
20
  - [Multiple Issue Boards](https://docs.gitlab.com/ee/user/project/issue_board.html#multiple-issue-boards): Allow your teams to create their own workflows (Issue Boards) for the same project **[STARTER]**
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
21
- [Repositories](repository/index.md): Host your code in a fully
Evan Read's avatar
Evan Read включено в состав коммита
22
  integrated platform
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
23
24
  - [Branches](repository/branches/index.md): use Git branching strategies to
  collaborate on code
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
25
26
27
28
  - [Protected branches](protected_branches.md): Prevent collaborators
  from messing with history or pushing code without review
  - [Protected tags](protected_tags.md): Control over who has
  permission to create tags, and prevent accidental update or deletion
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
29
  - [Signing commits](gpg_signed_commits/index.md): use GPG to sign your commits
Mayra Cabrera's avatar
Mayra Cabrera включено в состав коммита
30
  - [Deploy tokens](deploy_tokens/index.md): Manage project-based deploy tokens that allow permanent access to the repository and Container Registry.
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
31
- [Merge Requests](merge_requests/index.md): Apply your branching
Evan Read's avatar
Evan Read включено в состав коммита
32
  strategy and get reviewed by your team
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
33
34
  - [Merge Request Approvals](https://docs.gitlab.com/ee/user/project/merge_requests/merge_request_approvals.html): Ask for approval before
  implementing a change **[STARTER]**
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
35
36
37
38
39
40
  - [Fix merge conflicts from the UI](merge_requests/resolve_conflicts.md):
  Your Git diff tool right from GitLab's UI
  - [Review Apps](../../ci/review_apps/index.md): Live preview the results
  of the changes proposed in a merge request in a per-branch basis
- [Labels](labels.md): Organize issues and merge requests by labels
- [Time Tracking](../../workflow/time_tracking.md): Track estimate time
Evan Read's avatar
Evan Read включено в состав коммита
41
  and time spent on
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
42
43
44
  the conclusion of an issue or merge request
- [Milestones](milestones/index.md): Work towards a target date
- [Description templates](description_templates.md): Define context-specific
Evan Read's avatar
Evan Read включено в состав коммита
45
  templates for issue and merge request description fields for your project
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
46
- [Slash commands (quick actions)](quick_actions.md): Textual shortcuts for
Evan Read's avatar
Evan Read включено в состав коммита
47
  common actions on issues or merge requests
James Ramsay's avatar
James Ramsay включено в состав коммита
48
- [Web IDE](web_ide/index.md)
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67

**GitLab CI/CD:**

- [GitLab CI/CD](../../ci/README.md): GitLab's built-in [Continuous Integration, Delivery, and Deployment](https://about.gitlab.com/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/) tool
  - [Container Registry](container_registry.md): Build and push Docker
  images out-of-the-box
  - [Auto Deploy](../../ci/autodeploy/index.md): Configure GitLab CI/CD
  to automatically set up your app's deployment
  - [Enable and disable GitLab CI](../../ci/enable_or_disable_ci.md)
  - [Pipelines](../../ci/pipelines.md#pipelines): Configure and visualize
  your GitLab CI/CD pipelines from the UI
     - [Scheduled Pipelines](pipelines/schedules.md): Schedule a pipeline
     to start at a chosen time
     - [Pipeline Graphs](../../ci/pipelines.md#pipeline-graphs): View your
     entire pipeline from the UI
     - [Job artifacts](pipelines/job_artifacts.md): Define,
     browse, and download job artifacts
     - [Pipeline settings](pipelines/settings.md): Set up Git strategy (choose the default way your repository is fetched from GitLab in a job),
     timeout (defines the maximum amount of time in minutes that a job is able run), custom path for `.gitlab-ci.yml`, test coverage parsing, pipeline's visibility, and much more
Thong Kuah's avatar
Thong Kuah включено в состав коммита
68
  - [Kubernetes cluster integration](clusters/index.md): Connecting your GitLab project
Dylan Griffith's avatar
Dylan Griffith включено в состав коммита
69
    with a Kubernetes cluster
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
70
- [GitLab Pages](pages/index.md): Build, test, and deploy your static
Evan Read's avatar
Evan Read включено в состав коммита
71
  website with GitLab Pages
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
72
73
74

**Other features:**

Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
75
76
77
78
- [Wiki](wiki/index.md): document your GitLab project in an integrated Wiki.
- [Snippets](../snippets.md): store, share and collaborate on code snippets.
- [Cycle Analytics](cycle_analytics.md): review your development lifecycle.
- [Syntax highlighting](highlighting.md): an alternative to customize
Evan Read's avatar
Evan Read включено в состав коммита
79
  your code blocks, overriding GitLab's default choice of language.
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
80
81
- [Badges](badges.md): badges for the project overview.
- [Releases](releases/index.md): a way to track deliverables in your project as snapshot in time of
Evan Read's avatar
Evan Read включено в состав коммита
82
83
  the source, build output, and other metadata or artifacts
  associated with a released version of your code.
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
84

Jacopo's avatar
Jacopo включено в состав коммита
85
### Project integrations
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
86
87
88
89
90
91
92
93
94
95
96
97
98

[Integrate your project](integrations/index.md) with Jira, Mattermost,
Kubernetes, Slack, and a lot more.

## New project

Learn how to [create a new project](../../gitlab-basics/create-project.md) in GitLab.

### Fork a project

You can [fork a project](../../gitlab-basics/fork-project.md) in order to:

- Collaborate on code by forking a project and creating a merge request
Evan Read's avatar
Evan Read включено в состав коммита
99
  from your fork to the upstream project
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
100
101
- Fork a sample project to work on the top of that

Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
102
103
## Project settings

John Doe's avatar
John Doe включено в состав коммита
104
105
106
Set the project's visibility level and  the access levels to its various pages
and perform actions like archiving, renaming or transferring a project.

Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
107
108
Read through the documentation on [project settings](settings/index.md).

Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
109
110
## Import or export a project

Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
111
112
113
114
115
- [Import a project](import/index.md) from:
  - [GitHub to GitLab](import/github.md)
  - [BitBucket to GitLab](import/bitbucket.md)
  - [Gitea to GitLab](import/gitea.md)
  - [FogBugz to GitLab](import/fogbugz.md)
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
116
117
118
- [Export a project from GitLab](settings/import_export.md#exporting-a-project-and-its-data)
- [Importing and exporting projects between GitLab instances](settings/import_export.md)

Jacopo's avatar
Jacopo включено в состав коммита
119
## Project members
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
120
121
122
123

Learn how to [add members to your projects](members/index.md).

### Leave a project
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
124
125
126
127
128
129

**Leave project** will only display on the project's dashboard
when a project is part of a group (under a
[group namespace](../group/index.md#namespaces)).
If you choose to leave a project you will no longer be a project
member, therefore, unable to contribute.
John Doe's avatar
John Doe включено в состав коммита
130
131
132
133
134
135
136
137
138

## Redirects when changing repository paths

When a repository path changes, it is essential to smoothly transition from the
old location to the new one. GitLab provides two kinds of redirects: the web UI
and Git push/pull redirects.

Depending on the situation, different things apply.

Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
139
When [renaming a user](../profile/index.md#changing-your-username),
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
140
[changing a group path](../group/index.md#changing-a-groups-path) or [renaming a repository](settings/index.md#renaming-a-repository):
John Doe's avatar
John Doe включено в состав коммита
141
142
143
144
145
146
147
148
149

- Existing web URLs for the namespace and anything under it (e.g., projects) will
  redirect to the new URLs.
- Starting with GitLab 10.3, existing Git remote URLs for projects under the
  namespace will redirect to the new remote URL. Every time you push/pull to a
  repository that has changed its location, a warning message to update
  your remote will be displayed instead of rejecting your action.
  This means that any automation scripts, or Git clients will continue to
  work after a rename, making any transition a lot smoother.
Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
150
151
- The redirects will be available as long as the original path is not claimed by
  another group, user or project.
Evan Read's avatar
Evan Read включено в состав коммита
152
153
154
155
156

## Use your project as a Go package

Any project can be used as a Go package including private projects in subgroups. To use packages
hosted in private projects with the `go get` command, use a [`.netrc` file](https://ec.haxx.se/usingcurl-netrc.html)
Evan Read's avatar
Evan Read включено в состав коммита
157
and a [personal access token](../profile/personal_access_tokens.md) in the password field.
Evan Read's avatar
Evan Read включено в состав коммита
158
159
160
161
162
163
164
165

For example:

```text
machine example.gitlab.com
login <gitlab_user_name>
password <personal_access_token>
```
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
166
167
168
169
170
171
172

## Access project page with project ID

> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/53671) in GitLab 11.8.

To quickly access a project from the GitLab UI using the project ID,
visit the `/projects/:id` URL in your browser or other tool accessing the project.
Jacopo's avatar
Jacopo включено в состав коммита
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192

## Project APIs

There are numerous [APIs](../../api/README.md) to use with your projects:

- [Badges](../../api/project_badges.md)
- [Clusters](../../api/project_clusters.md)
- [Discussions](../../api/discussions.md)
- [General](../../api/projects.md)
- [Import/export](../../api/project_import_export.md)
- [Issue Board](../../api/boards.md)
- [Labels](../../api/labels.md)
- [Markdown](../../api/markdown.md)
- [Merge Requests](../../api/merge_requests.md)
- [Milestones](../../api/milestones.md)
- [Services](../../api/services.md)
- [Snippets](../../api/project_snippets.md)
- [Templates](../../api/project_templates.md)
- [Traffic](../../api/project_statistics.md)
- [Variables](../../api/project_level_variables.md)