Projects

原文:https://docs.gitlab.com/ee/user/project/

Projects

在 GitLab 中,您可以创建用于托管代码库的项目,将其用作问题跟踪器,在代码上进行协作,并使用内置的 GitLab CI / CD 持续构建,测试和部署应用程序.

您可以选择公开,内部或私有使用您的项目. GitLab 不限制您创建的私人项目的数量.

Project features

在 GitLab 中创建项目时,您将可以使用大量功能

Repositories:

发出和合并请求:

亚搏体育 app CI / CD:

其他特性:

  • Wiki :在集成的 Wiki 中记录您的 GitLab 项目.
  • 片段 :存储,共享和协作代码片段.
  • 价值流分析 :查看您的开发生命周期.
  • 见解 :配置对您的项目至关重要的见解.
  • 安全仪表板 :安全仪表板.
  • 语法突出显示 :一种自定义代码块的替代方法,它替代了 GitLab 的默认语言选择.
  • 徽章 :项目概述的徽章.
  • 发行版 :一种跟踪项目中可交付成果的方式,可作为源,构建输出,其他元数据和与代码的发行版本相关的其他工件的快照.
  • Conan 软件包 :您在 GitLab 中的私人 Conan 存储库.
  • Maven 软件包 :您在 GitLab 中的私有 Maven 存储库.
  • NPM 软件包 :您在 GitLab 中的私有 NPM 软件包注册表.
  • 代码所有者 :为某些文件指定代码所有者
  • 许可证合规性 :批准和拒绝项目的许可证.
  • 依赖项列表 :查看项目依赖项.
  • 要求 :要求使您可以创建标准来检查产品.
  • 静态站点编辑器 :无需事先了解代码库或 Git 命令,即可在静态网站上快速编辑内容.
  • 代码智能 :代码导航功能.

Project integrations

将您的项目与 Jira,Mattermost,Kubernetes,Slack 等进行集成 .

New project

了解如何在 GitLab 中创建一个新项目 .

Fork a project

您可以派生一个项目 ,以便:

  • 通过分叉项目并创建从分支到上游项目的合并请求来进行代码协作
  • 分叉一个示例项目以在其顶部工作

Star a project

您可以为项目加注星标,以使其更容易找到您经常使用的项目. 项目拥有的明星数量可以表明其受欢迎程度.

为项目加注星标:

  1. 转到要加注星标的项目的主页.
  2. 在页面的右上角,点击星标 .

要查看已加星标的项目,请执行以下操作:

  1. 单击导航栏中的项目 .
  2. Click 已加星标的项目.
  3. GitLab 显示有关已加星标项目的信息,包括:

    • 项目描述,包括名称,描述和图标
    • 已为该项目加注星标的次数
    • Number of times this project has been forked
    • 打开的合并请求数
    • 未解决问题的数量

Explore projects

您可以探索 GitLab 上可用的其他流行项目. 探索项目:

  1. 单击导航栏中的项目 .
  2. Click 探索项目.

GitLab 显示一个项目列表,按上次更新日期排序. 要查看具有最多星星的项目,请单击” 最多星星” . 要查看过去一个月中评论数量最多的项目,请点击趋势 .

Project settings

将项目的可见性级别和访问级别设置为各个页面,并执行诸如归档,重命名或传输项目的操作.

通读有关项目设置的文档.

Import or export a project

Remove a project

要删除项目,请首先导航到该项目的主页.

  1. 导航至设置>常规 .
  2. 展开高级部分.
  3. 向下滚动到” 删除项目”部分.
  4. Click 移除专案
  5. 通过输入所需的文本来确认此操作.

Delayed removal

默认情况下,单击以删除项目后会延迟 7 天. 管理员可以在这段时间内恢复项目. 管理员可以更改此延迟.

管理员可以查看所有待删除项目. 如果您是管理员,请转到顶部导航栏,单击” 项目”>”您的项目” ,然后选择”已删除的项目”选项卡. 管理员可以从此选项卡还原任何项目.

CI/CD for external repositories

您可以将存储库作为 CI / CD 项目连接,而不是将存储库直接导入到 GitLab.

通读CI / CD 上有关外部存储库的文档.

Project members

了解如何将成员添加到您的项目中 .

Project activity

要查看项目的活动,请导航至项目概述>活动 . 在此处,您可以单击选项卡以查看所有活动,或查看按Push 事件Merge 事件Issue 事件CommentTeamWiki过滤的活动 .

Leave a project

当项目属于组时(在组命名空间下 ), 离开项目将仅显示在项目的仪表板上. 如果您选择退出项目,那么您将不再是项目成员,因此无法参与.

Project’s landing page

项目的登录页面根据项目的可见性设置和用户权限显示不同的信息.

对于公共项目以及有权查看该项目代码的内部和私有项目的成员:

  • 显示README文件或索引文件的内容(如果有),然后显示项目存储库中的目录列表.
  • 如果项目不包含这些文件中的任何一个,则访问者将看到存储库的文件和目录列表.

对于没有权限查看项目代码的用户:

  • 显示维基主页(如果有).
  • 显示项目中的问题列表.

Redirects when changing repository paths

当存储库路径更改时,从旧位置平稳过渡到新位置至关重要. GitLab 提供两种重定向:Web UI 和 Git 推/拉重定向.

根据情况,可能会有所不同.

When renaming a user, changing a group path or renaming a repository:

  • 名称空间及其下的任何内容(例如项目)的现有 Web URL 将重定向到新 URL.
  • 从 GitLab 10.3 开始,命名空间下项目的现有 Git 远程 URL 将重定向到新的远程 URL. 每次将其推/拉到更改位置的存储库时,都会显示一条警告消息,提示您更新遥控器,而不是拒绝操作. 这意味着在重命名后,任何自动化脚本或 Git 客户端将继续工作,从而使任何过渡都更加顺畅.
  • The redirects will be available as long as the original path is not claimed by another group, user or project.

Use your project as a Go package

任何项目都可以用作 Go 包. GitLab 会正确响应go getgodoc.org发现请求,包括go-importgo-source元标记.

私有项目(包括子组中的项目)可以用作 Go 包,但可能需要进行配置才能正常工作. 无论身份验证或授权如何,GitLab 都会正确响应以go get 不在子组中的项目的发现请求. 要使用子组中的私有项目作为 Go 包,必须进行身份验证 . 否则,GitLab 会将子组中私有项目的路径截断到前两个段,从而导致go get失败.

GitLab 实现了自己的 Go 代理. 此功能必须由管理员启用,并且需要其他配置. 请参阅GitLab Go 代理 .

Disable Go module features for private projects

In Go 1.12 and later, Go queries module proxies and checksum databases in the process of fetching a module. This can be selectively disabled with GOPRIVATE (disable both), GONOPROXY (disable proxy queries), and GONOSUMDB (disable checksum queries).

GOPRIVATEGONOPROXYGONOSUMDB是 Go 模块和 Go 模块前缀的逗号分隔列表. 例如, GOPRIVATE=gitlab.example.com/my/private/project将禁用对该项目的查询,而GOPRIVATE=gitlab.example.com将禁用GOPRIVATE=gitlab.example.com 所有项目的查询. 如果模块名称或其前缀出现在GOPRIVATEGONOPROXY ,则 Go 不会查询模块代理. 如果模块名称或其前缀出现在GONOPRIVATEGONOSUMDB ,则 Go 不会查询校验和数据库.

Authenticate Go requests

要验证对 Go 私有项目的请求,请在密码字段中使用.netrc文件个人访问令牌 . 仅当可以通过 HTTPS 访问您的 GitLab 实例时,此方法才有效. go命令不会通过不安全的连接传输凭据. 这将验证 Go 直接发出的所有 HTTPS 请求,但不会验证通过 Git 发出的请求.

例如:

  1. machine example.gitlab.com
  2. login <gitlab_user_name>
  3. password <personal_access_token>

注意:在 Windows 上,Go 读取~/_netrc而不是~/.netrc .

Authenticate Git fetches

如果无法从代理中获取模块,Go 将退回到使用 Git(对于 GitLab 项目). Git 将使用.netrc来认证请求. 另外,可以将 Git 配置为在请求 URL 中嵌入特定的凭据,或者使用 SSH 代替 HTTPS(因为 Go 始终使用 HTTPS 来获取 Git 存储库):

  1. # embed credentials in any request to GitLab.com:
  2. git config --global url."https://${user}:${personal_access_token}@gitlab.example.com".insteadOf "https://gitlab.example.com"
  3. # use SSH instead of HTTPS:
  4. git config --global url."git@gitlab.example.com".insteadOf "https://gitlab.example.com"

Access project page with project ID

在 GitLab 11.8 中引入 .

要使用项目 ID 从 GitLab UI 快速访问项目,请在浏览器或其他访问项目的工具中访问/projects/:id URL.

Project aliases

Introduced in GitLab Premium 12.1.

将存储库迁移到 GitLab 并被其他系统访问时,能够使用相同的名称访问它们非常有用,尤其是当它们很多时. 它降低了在大量系统中更改大量 Git URL 的风险.

manbetx 客户端打不开提供了功能来帮助这一点. 在 GitLab 中,通常使用名称空间和项目名称访问存储库. 也可以通过项目别名访问它们. 此功能仅在通过 SSH 的 Git 上可用.

项目别名只能通过 API 创建,并且只能由 GitLab 管理员创建. 有关更多详细信息,请遵循Project Aliases API 文档 .

一旦为项目创建了别名(例如,项目https://gitlab.com/gitlab-org/gitlab的别名gitlab ),就可以使用别名(例如git clone git@gitlab.com:gitlab.git )来克隆存储库. git clone git@gitlab.com:gitlab.git而不是git clone git@gitlab.com:gitlab-org/gitlab.git ).

Project APIs

您的项目可以使用许多API