# 在企业中使用内部资源

通过在企业中设置开放源代码样式工作流，从而帮助分散团队进行协作，而不会影响安全性。

可以使用内部资源实践来推动企业中的协作和工作效率。 Innersource 使所有员工都能轻松发现和重用工作。 这样，开发团队就可以相互学习，分享其专业知识，避免重复创建常见服务的努力。

## 使存储库可发现

除非它们包含敏感信息，否则应使存储库对所有员工可见。

为此，请鼓励员工在可能的情况下尽量使用 **内部** 可见性。 内部可见性允许企业中的任何组织成员查看存储库，无论用户是否是拥有存储库的组织成员。

还应为组织设置< c0 >宽松的基本权限< /c0 >。 组织的基本权限策略确定组织成员对所有组织存储库拥有的默认访问级别。 通常，组织至少应具有“读取”基本权限，以便所有组织成员都能看到任何存储库。 然后，组织所有者可以使用团队向人员授予特定存储库中更高级别的访问权限。

如果具有不应广泛可见的敏感存储库，则可以设置具有更严格的基本权限的专用组织，并将特定团队添加到此组织。

有关详细信息，请参阅 [关于仓库](/zh/enterprise-server@3.22/repositories/creating-and-managing-repositories/about-repositories#about-internal-repositories) 和 [为组织设置基本权限](/zh/enterprise-server@3.22/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/setting-base-permissions-for-an-organization)。

## 文档项目

组织和记录存储库，以便用户可以在整个企业中搜索工作。

存储库 **README** 有效，因为它们在存储库中的文件中定义，因此用户可以像代码一样搜索它们。 还可以在组织或企业帐户级别创建 README，以便提供更高级别的概述，以帮助找到不同的项目。 对于更正式的内部文档，请考虑建立**GitHub Pages站点**或**Wiki 站点**。

可以使用 **存储库主题** 对包含特定编程语言的存储库进行分组，由特定团队拥有，等等。 这是使存储库更易于查找的另一种方法。

有关详细信息，请参见:

* [关于仓库 README 文件](/zh/enterprise-server@3.22/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes)、 [自定义组织的配置文件](/zh/enterprise-server@3.22/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile#adding-a-member-only-organization-profile-readme) 和 [为企业创建 README](/zh/enterprise-server@3.22/admin/managing-your-enterprise-account/creating-a-readme-for-an-enterprise)
* [创建GitHub Pages网站](/zh/enterprise-server@3.22/pages/getting-started-with-github-pages/creating-a-github-pages-site)
* [添加或编辑 wiki 页面](/zh/enterprise-server@3.22/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages)
* [使用主题对仓库分类](/zh/enterprise-server@3.22/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics)

## 建立共享工作的文化氛围

鼓励团队宣传工作并与其他团队共享资源。
GitHub 具有许多使此功能更轻松的功能。 例如，团队可以：

* 使用 **讨论** 使工作对其他团队更可见。 请参阅“[参与讨论](/zh/enterprise-server@3.22/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion#creating-a-discussion)”。
* 创建用于共享 **操作和可重用 GitHub Actions 工作流**的专用内部存储库，任何人都可以在企业中编写工作流时引用这些存储库。 请参阅“[与企业共享操作和工作流](/zh/enterprise-server@3.22/actions/how-tos/reuse-automations/share-with-your-enterprise)”。
* 使用 **GitHub Packages** 注册表在内部包中共享可重用的代码片段。 为了增强安全性，可以为这些注册表提供 GitHub安全功能访问权限。 请参阅“[GitHub Packages 简介](/zh/enterprise-server@3.22/packages/learn-github-packages/introduction-to-github-packages)”。
* 将通用模板和框架设置为其他人可以复制的 **模板存储库** ，以开始使用项目。 请参阅“[创建模板仓库](/zh/enterprise-server@3.22/repositories/creating-and-managing-repositories/creating-a-template-repository)”。

与开放源代码项目一样，应确保共享项目具有支持模型和明确定义的维护人员团队，尤其是对于企业许多部分所依赖的服务。 理想情况下，维护人员团队将包含来自使用该服务的不同团队的代表。

## 隐藏外部协作者的内容

如果你有需要访问企业项目的外部承包商或协作者，则可以向他们授予普通员工不同级别的访问权限。

具体而言，你可能希望从外部协作者隐藏内部存储库。 为此，请按以下步骤操作：

* 如果您使用 Enterprise Managed Users，请为该用户预配一个具有 **访客协作者** 角色的账户。 默认情况下，来宾协作者无权访问内部存储库，但它们在添加为成员的组织中接收基本权限。 还可以将其添加为存储库中的存储库协作者。
* 如果不使用 Enterprise Managed Users，请将用户添加为所需存储库中的 **外部协作者** ，但请确保不会将其添加为任何组织的成员。

外部协作者（如果使用\*\*\*\* 时称为Enterprise Managed Users）仅有权访问特定存储库。 这些用户不是完整的组织成员，因此他们不会收到组织的基本访问权限级别，除非他们是另一个组织的成员，否则他们无法自动在企业中看到内部存储库。

有关详细信息，请参阅 [添加外部协作者到组织的仓库](/zh/enterprise-server@3.22/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization)。

## 后续步骤

现在，你已设置组织和团队，了解如何通过为用户和存储库设置治理策略来保持合规和安全。 请参阅“[企业策略](/zh/enterprise-server@3.22/admin/concepts/security-and-compliance/enterprise-policies)”。