Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/project/settings/migrate_projects.md')
-rw-r--r--doc/user/project/settings/migrate_projects.md126
1 files changed, 126 insertions, 0 deletions
diff --git a/doc/user/project/settings/migrate_projects.md b/doc/user/project/settings/migrate_projects.md
new file mode 100644
index 00000000000..70e6ff5da28
--- /dev/null
+++ b/doc/user/project/settings/migrate_projects.md
@@ -0,0 +1,126 @@
+---
+stage: Data Stores
+group: Tenant Scale
+info: 'To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments'
+---
+
+# Migrate projects **(FREE ALL)**
+
+## Export a project
+
+You can [export a project and its data](import_export.md#export-a-project-and-its-data).
+
+## Transfer a project to another namespace
+
+When you transfer a project to another namespace, you move the project to a different group.
+
+Prerequisites:
+
+- You must have at least the Maintainer role for the [group](../../group/index.md#create-a-group) you are transferring to.
+- You must be the Owner of the project you transfer.
+- The group must allow creation of new projects.
+- The project must not contain any [container images](../../packages/container_registry/index.md#move-or-rename-container-registry-repositories).
+- The project must not have a security policy.
+ If a security policy is assigned to the project, it is automatically unassigned during the transfer.
+- If the root namespace changes, you must remove npm packages that follow the [naming convention](../../../user/packages/npm_registry/index.md#naming-convention) from the project.
+ After you transfer the project you can either:
+
+ - Update the package scope with the new root namespace path, and publish it again to the project.
+ - Republish the package to the project without updating the root namespace path, which causes the package to no longer follow the naming convention.
+ If you republish the package without updating the root namespace path, it will not be available at the [instance level endpoint](../../../user/packages/npm_registry/index.md#install-from-the-instance-level).
+
+To transfer a project:
+
+1. On the left sidebar, select **Search or go to** and find your project.
+1. Select **Settings > General**.
+1. Expand **Advanced**.
+1. Under **Transfer project**, choose the namespace to transfer the project to.
+1. Select **Transfer project**.
+1. Enter the project's name and select **Confirm**.
+
+You are redirected to the project's new page and GitLab applies a redirect. For more information about repository redirects, see [What happens when a repository path changes](../repository/index.md#what-happens-when-a-repository-path-changes).
+
+NOTE:
+If you are an administrator, you can also use the [administration interface](../../../administration/admin_area.md#administering-projects)
+to move any project to any namespace.
+
+### Transferring a GitLab SaaS project to a different subscription tier
+
+When you transfer a project from a namespace licensed for GitLab SaaS Premium or Ultimate to GitLab Free:
+
+- [Project access tokens](../../../user/project/settings/project_access_tokens.md) are revoked.
+- [Pipeline subscriptions](../../../ci/pipelines/index.md#trigger-a-pipeline-when-an-upstream-project-is-rebuilt)
+ and [test cases](../../../ci/test_cases/index.md) are deleted.
+
+## Archive a project
+
+When you archive a project, the repository, packages, issues, merge requests, and all
+other features become read-only. Archived projects are also hidden from project lists.
+
+To archive a project:
+
+1. On the left sidebar, select **Search or go to** and find your project.
+1. Select **Settings > General**.
+1. Expand **Advanced**.
+1. In the **Archive project** section, select **Archive project**.
+1. To confirm, select **OK**.
+
+## Unarchive a project
+
+When you unarchive a project, the read-only restriction is removed,
+and the project becomes available in project lists.
+
+Prerequisites:
+
+- You must be an administrator or have the Owner role for the project.
+
+1. Find the archived project.
+ 1. On the left sidebar, select **Search or go to**.
+ 1. Select **View all my projects**.
+ 1. Select **Explore projects**.
+ 1. In the **Sort projects** dropdown list, select **Show archived projects**.
+ 1. In the **Filter by name** field, enter the project name.
+ 1. Select the project link.
+1. On the left sidebar, select **Settings > General**.
+1. Under **Advanced**, select **Expand**.
+1. In the **Unarchive project** section, select **Unarchive project**.
+1. To confirm, select **OK**.
+
+## Restore a project **(PREMIUM ALL)**
+
+Prerequisites:
+
+- You must have the Owner role for the project.
+- The project must be [marked for deletion](../working_with_projects.md#delete-a-project).
+
+To restore a project marked for deletion:
+
+1. On the left sidebar, select **Search or go to** and find your project.
+1. Select **Settings > General**.
+1. Expand **Advanced**.
+1. In the Restore project section, select **Restore project**.
+
+## Troubleshooting
+
+When working with project settings, you might encounter the following issues, or require alternate methods to complete specific tasks.
+
+### Transfer a project through console
+
+If transferring a project through the UI or API is not working, you can attempt the transfer in a [Rails console session](../../../administration/operations/rails_console.md#starting-a-rails-console-session).
+
+```ruby
+p = Project.find_by_full_path('<project_path>')
+
+# To set the owner of the project
+current_user = p.creator
+
+# Namespace where you want this to be moved
+namespace = Namespace.find_by_full_path("<new_namespace>")
+
+Projects::TransferService.new(p, current_user).execute(namespace)
+```
+
+## Related topics
+
+- [Migrating projects using file exports](import_export.md)
+- [Troubleshooting file export project migrations](import_export_troubleshooting.md)