From 7ecdf592c430ef16186f888d38f2db67d92c85a3 Mon Sep 17 00:00:00 2001 From: Evan Read <eread@gitlab.com> Date: Fri, 7 Feb 2025 10:11:31 +0000 Subject: [PATCH] Rename index.md to _index.md for compatibility with docs-gitlab-com --- .../components/list/catalog_header.vue | 2 +- .../shared/ci_verification_badge.vue | 2 +- .../javascripts/ci/catalog/constants.js | 2 +- .../manual_variables/empty_state.vue | 2 +- .../components/enable_review_app_modal.vue | 4 +- .../google_cloud/databases/service_table.vue | 2 +- .../ide/components/pipelines/empty_state.vue | 2 +- .../components/ci_catalog_settings.vue | 2 +- .../releases/components/app_index.vue | 2 +- .../components/states/nothing_to_merge.vue | 2 +- app/helpers/ci/pipeline_editor_helper.rb | 6 +- app/helpers/ide_helper.rb | 2 +- .../dev_ops_report/metric_presenter.rb | 2 +- .../security/configuration_presenter.rb | 2 +- .../projects/settings/ci_cd/_form.html.haml | 2 +- .../projects/settings/ci_cd/show.html.haml | 4 +- .../shared/_index.html.haml | 2 +- .../troubleshooting_backup_gitlab.md | 2 +- .../dedicated/hosted_runners.md | 2 +- .../geo/replication/datatypes.md | 2 +- doc/administration/get_started.md | 2 +- doc/administration/instance_limits.md | 2 +- doc/administration/integration/terminal.md | 2 +- doc/administration/logs/_index.md | 2 +- doc/administration/pages/index.md | 4 +- doc/administration/pages/source.md | 2 +- .../postgresql/multiple_databases.md | 2 +- doc/administration/server_hooks.md | 2 +- .../settings/continuous_integration.md | 4 +- .../rate_limit_on_pipelines_creation.md | 2 +- .../settings/usage_statistics.md | 2 +- doc/api/admin/token.md | 2 +- doc/api/environments.md | 2 +- doc/api/google_cloud_integration.md | 2 +- doc/api/jobs.md | 2 +- doc/api/pipeline_triggers.md | 4 +- doc/api/projects.md | 4 +- doc/api/resource_groups.md | 4 +- doc/api/runners.md | 2 +- doc/api/secure_files.md | 2 +- doc/ci/{index.md => _index.md} | 10 +-- doc/ci/caching/{index.md => _index.md} | 0 doc/ci/chatops/{index.md => _index.md} | 0 .../{index.md => _index.md} | 0 .../bitbucket_integration.md | 2 +- .../github_integration.md | 6 +- .../cloud_deployment/{index.md => _index.md} | 2 +- .../cloud_deployment/ecs/deploy_to_aws_ecs.md | 4 +- doc/ci/cloud_services/{index.md => _index.md} | 6 +- .../aws/{index.md => _index.md} | 6 +- .../azure/{index.md => _index.md} | 4 +- .../google_cloud/{index.md => _index.md} | 4 +- doc/ci/components/{index.md => _index.md} | 10 +-- doc/ci/components/examples.md | 18 ++--- doc/ci/debugging.md | 16 ++-- doc/ci/docker/{index.md => _index.md} | 0 doc/ci/docker/using_docker_build.md | 6 +- doc/ci/docker/using_docker_images.md | 6 +- doc/ci/docker/using_kaniko.md | 2 +- doc/ci/environments/_index.md | 12 +-- doc/ci/environments/deployment_safety.md | 8 +- doc/ci/environments/deployments.md | 4 +- doc/ci/examples/{index.md => _index.md} | 4 +- .../deployment/{index.md => _index.md} | 0 .../deployment/composer-npm-deploy.md | 2 +- .../{index.md => _index.md} | 4 +- .../{index.md => _index.md} | 4 +- doc/ci/examples/php.md | 4 +- .../{index.md => _index.md} | 0 .../{index.md => _index.md} | 2 +- doc/ci/jobs/{index.md => _index.md} | 14 ++-- doc/ci/jobs/ci_job_token.md | 4 +- doc/ci/jobs/job_artifacts_troubleshooting.md | 2 +- doc/ci/jobs/job_logs.md | 2 +- doc/ci/jobs/job_rules.md | 6 +- doc/ci/jobs/mobile_devops.md | 4 +- doc/ci/migration/bamboo.md | 24 +++--- doc/ci/migration/circleci.md | 8 +- doc/ci/migration/github_actions.md | 12 +-- doc/ci/migration/jenkins.md | 16 ++-- doc/ci/migration/teamcity.md | 16 ++-- doc/ci/mobile_devops/{index.md => _index.md} | 4 +- .../mobile_devops_tutorial_android.md | 4 +- .../mobile_devops_tutorial_ios.md | 2 +- .../pipeline_editor/{index.md => _index.md} | 0 doc/ci/pipelines/{index.md => _index.md} | 12 +-- doc/ci/pipelines/compute_minutes.md | 2 +- doc/ci/pipelines/downstream_pipelines.md | 6 +- .../downstream_pipelines_troubleshooting.md | 2 +- doc/ci/pipelines/merge_request_pipelines.md | 2 +- doc/ci/pipelines/merge_trains.md | 2 +- doc/ci/pipelines/merged_results_pipelines.md | 2 +- .../pipelines/mr_pipeline_troubleshooting.md | 4 +- doc/ci/pipelines/pipeline_efficiency.md | 22 +++--- doc/ci/pipelines/pipeline_security.md | 2 +- doc/ci/pipelines/schedules.md | 2 +- doc/ci/pipelines/settings.md | 2 +- doc/ci/quick_start/{index.md => _index.md} | 4 +- doc/ci/quick_start/tutorial.md | 8 +- .../resource_groups/{index.md => _index.md} | 2 +- doc/ci/review_apps/{index.md => _index.md} | 0 doc/ci/runners/{index.md => _index.md} | 2 +- .../hosted_runners/{index.md => _index.md} | 2 +- doc/ci/runners/hosted_runners/macos.md | 6 +- doc/ci/runners/runners_scope.md | 4 +- doc/ci/secrets/{index.md => _index.md} | 0 doc/ci/secrets/azure_key_vault.md | 6 +- doc/ci/secrets/gcp_secret_manager.md | 2 +- doc/ci/secure_files/{index.md => _index.md} | 2 +- doc/ci/services/{index.md => _index.md} | 0 doc/ci/services/gitlab.md | 2 +- doc/ci/services/mysql.md | 4 +- doc/ci/services/postgres.md | 4 +- doc/ci/services/redis.md | 4 +- doc/ci/steps/{index.md => _index.md} | 2 +- doc/ci/test_cases/{index.md => _index.md} | 0 doc/ci/testing/{index.md => _index.md} | 0 doc/ci/testing/accessibility_testing.md | 2 +- doc/ci/testing/browser_performance_testing.md | 2 +- doc/ci/testing/code_quality.md | 2 +- .../code_quality_codeclimate_scanning.md | 4 +- doc/ci/testing/load_performance_testing.md | 4 +- .../{index.md => _index.md} | 0 doc/ci/testing/unit_test_reports.md | 4 +- doc/ci/triggers/{index.md => _index.md} | 0 doc/ci/variables/_index.md | 32 ++++---- doc/ci/variables/predefined_variables.md | 16 ++-- doc/ci/yaml/_index.md | 76 +++++++++---------- doc/ci/yaml/artifacts_reports.md | 4 +- doc/ci/yaml/includes.md | 6 +- doc/ci/yaml/lint.md | 2 +- doc/ci/yaml/workflow.md | 2 +- doc/ci/yaml/yaml_optimization.md | 8 +- doc/cloud_seed/_index.md | 2 +- doc/development/architecture.md | 2 +- doc/development/chatops_on_gitlabcom.md | 2 +- doc/development/cicd/_index.md | 6 +- doc/development/cicd/components.md | 12 +-- doc/development/cicd/schema.md | 2 +- doc/development/cicd/templates.md | 6 +- .../first_contribution/mr-review.md | 2 +- doc/development/documentation/review_apps.md | 2 +- .../site_architecture/deployment_process.md | 2 +- doc/development/feature_flags/_index.md | 2 +- doc/development/feature_flags/controls.md | 2 +- doc/development/features_inside_dot_gitlab.md | 2 +- doc/development/go_guide/_index.md | 2 +- doc/development/integrations/secure.md | 2 +- .../secure_partner_integration.md | 4 +- doc/development/pipelines/_index.md | 4 +- doc/development/pipelines/performance.md | 2 +- doc/install/aws/_index.md | 2 +- doc/integration/jenkins.md | 4 +- .../hardening_cicd_recommendations.md | 4 +- doc/security/hardening_nist_800_53.md | 2 +- doc/security/tokens/_index.md | 2 +- .../cloud/aws/gitlab_aws_integration.md | 2 +- doc/subscriptions/gitlab_com/_index.md | 2 +- .../gitlab_com/compute_minutes.md | 2 +- doc/topics/autodevops/_index.md | 2 +- doc/topics/autodevops/cicd_variables.md | 2 +- .../cloud_deployments/auto_devops_with_ec2.md | 2 +- .../cloud_deployments/auto_devops_with_ecs.md | 2 +- .../cloud_deployments/auto_devops_with_eks.md | 2 +- .../cloud_deployments/auto_devops_with_gke.md | 2 +- .../multiple_clusters_auto_devops.md | 2 +- doc/topics/autodevops/prepare_deployment.md | 2 +- doc/topics/autodevops/requirements.md | 2 +- doc/topics/autodevops/stages.md | 2 +- doc/topics/build_your_application.md | 8 +- doc/topics/release_your_application.md | 2 +- doc/tutorials/build_application.md | 6 +- doc/tutorials/compliance_pipeline/_index.md | 3 +- doc/tutorials/container_scanning/_index.md | 2 +- .../_index.md | 2 +- .../_index.md | 2 +- doc/tutorials/hugo/_index.md | 2 +- doc/tutorials/merge_requests/homepage.md | 2 +- doc/tutorials/protected_workflow/_index.md | 3 +- doc/tutorials/setup_steps/_index.md | 2 +- .../api_fuzzing/configuration/requirements.md | 4 +- .../api_fuzzing/create_har_files.md | 2 +- .../application_security/api_fuzzing/index.md | 2 +- .../configuration/requirements.md | 4 +- .../configuration/index.md | 2 +- .../coverage_fuzzing/index.md | 4 +- .../browser/configuration/requirements.md | 4 +- .../dast/on-demand_scan.md | 2 +- .../experiment_libbehave_dependency.md | 2 +- .../dependency_scanning/index.md | 2 +- doc/user/application_security/sast/index.md | 2 +- .../secret_detection/index.md | 2 +- .../agent/gitops/flux_oci_tutorial.md | 2 +- .../migrating_from_gma_to_project_template.md | 6 +- .../_index.md | 2 +- doc/user/duo_amazon_q/index.md | 2 +- .../get_started/get_started_deploy_release.md | 4 +- doc/user/gitlab_com/index.md | 6 +- doc/user/group/compliance_pipelines.md | 4 +- doc/user/group/manage.md | 2 +- doc/user/group/subgroups/index.md | 2 +- .../management_project_applications/runner.md | 2 +- .../management_project_applications/vault.md | 4 +- .../iac/terraform_template_recipes.md | 2 +- .../packages/composer_repository/index.md | 2 +- doc/user/packages/conan_repository/index.md | 2 +- .../build_and_push_images.md | 6 +- doc/user/packages/dependency_proxy/index.md | 2 +- doc/user/packages/helm_repository/index.md | 2 +- doc/user/packages/package_registry/index.md | 2 +- .../terraform_module_registry/index.md | 2 +- doc/user/permissions.md | 18 ++--- doc/user/project/canary_deployments.md | 4 +- doc/user/project/code_intelligence.md | 4 +- doc/user/project/deploy_boards.md | 4 +- doc/user/project/deploy_tokens/index.md | 2 +- doc/user/project/import/github.md | 2 +- .../project/integrations/apple_app_store.md | 2 +- doc/user/project/integrations/github.md | 2 +- .../integrations/gitlab_slack_application.md | 2 +- doc/user/project/integrations/google_play.md | 2 +- .../project/integrations/webhook_events.md | 2 +- doc/user/project/merge_requests/_index.md | 6 +- doc/user/project/merge_requests/auto_merge.md | 2 +- doc/user/project/merge_requests/commits.md | 4 +- doc/user/project/merge_requests/widgets.md | 12 +-- .../getting_started/pages_from_scratch.md | 2 +- doc/user/project/pages/index.md | 2 +- doc/user/project/repository/branches/index.md | 4 +- .../project/repository/branches/protected.md | 2 +- doc/user/project/repository/index.md | 2 +- .../repository/mirror/troubleshooting.md | 4 +- doc/user/project/requirements/index.md | 4 +- doc/user/project/settings/migrate_projects.md | 4 +- doc/user/project/working_with_projects.md | 2 +- .../pipeline_subscriptions_form.vue | 2 +- .../project_quality_summary/app.vue | 2 +- .../components/test_runs_empty_state.vue | 2 +- .../policy_editor/skip_ci_selector.vue | 2 +- .../usage_quotas/pipelines/constants.js | 2 +- .../transfer/components/usage_by_type.vue | 2 +- .../settings/subscriptions/_table.html.haml | 2 +- .../_help.html.haml | 2 +- .../pipeline_subscriptions_form_spec.js | 2 +- .../transfer/components/usage_by_type_spec.js | 2 +- .../components/pipelines/empty_state_spec.js | 2 +- .../states/mr_widget_nothing_to_merge_spec.js | 2 +- .../helpers/ci/pipeline_editor_helper_spec.rb | 6 +- .../security/configuration_presenter_spec.rb | 2 +- 249 files changed, 492 insertions(+), 494 deletions(-) rename doc/ci/{index.md => _index.md} (95%) rename doc/ci/caching/{index.md => _index.md} (100%) rename doc/ci/chatops/{index.md => _index.md} (100%) rename doc/ci/ci_cd_for_external_repos/{index.md => _index.md} (100%) rename doc/ci/cloud_deployment/{index.md => _index.md} (99%) rename doc/ci/cloud_services/{index.md => _index.md} (97%) rename doc/ci/cloud_services/aws/{index.md => _index.md} (98%) rename doc/ci/cloud_services/azure/{index.md => _index.md} (99%) rename doc/ci/cloud_services/google_cloud/{index.md => _index.md} (98%) rename doc/ci/components/{index.md => _index.md} (98%) rename doc/ci/docker/{index.md => _index.md} (100%) rename doc/ci/examples/{index.md => _index.md} (99%) rename doc/ci/examples/deployment/{index.md => _index.md} (100%) rename doc/ci/examples/end_to_end_testing_webdriverio/{index.md => _index.md} (92%) rename doc/ci/examples/laravel_with_gitlab_and_envoy/{index.md => _index.md} (92%) rename doc/ci/gitlab_google_cloud_integration/{index.md => _index.md} (100%) rename doc/ci/interactive_web_terminal/{index.md => _index.md} (98%) rename doc/ci/jobs/{index.md => _index.md} (95%) rename doc/ci/mobile_devops/{index.md => _index.md} (93%) rename doc/ci/pipeline_editor/{index.md => _index.md} (100%) rename doc/ci/pipelines/{index.md => _index.md} (98%) rename doc/ci/quick_start/{index.md => _index.md} (97%) rename doc/ci/resource_groups/{index.md => _index.md} (99%) rename doc/ci/review_apps/{index.md => _index.md} (100%) rename doc/ci/runners/{index.md => _index.md} (97%) rename doc/ci/runners/hosted_runners/{index.md => _index.md} (99%) rename doc/ci/secrets/{index.md => _index.md} (100%) rename doc/ci/secure_files/{index.md => _index.md} (96%) rename doc/ci/services/{index.md => _index.md} (100%) rename doc/ci/steps/{index.md => _index.md} (99%) rename doc/ci/test_cases/{index.md => _index.md} (100%) rename doc/ci/testing/{index.md => _index.md} (100%) rename doc/ci/testing/test_coverage_visualization/{index.md => _index.md} (100%) rename doc/ci/triggers/{index.md => _index.md} (100%) diff --git a/app/assets/javascripts/ci/catalog/components/list/catalog_header.vue b/app/assets/javascripts/ci/catalog/components/list/catalog_header.vue index a1070973a40e9..017eb044d3a5e 100644 --- a/app/assets/javascripts/ci/catalog/components/list/catalog_header.vue +++ b/app/assets/javascripts/ci/catalog/components/list/catalog_header.vue @@ -42,7 +42,7 @@ export default { }, learnMore: __('Learn more'), }, - learnMorePath: helpPagePath('ci/components/index'), + learnMorePath: helpPagePath('ci/components/_index'), ChatBubbleSvg, }; </script> diff --git a/app/assets/javascripts/ci/catalog/components/shared/ci_verification_badge.vue b/app/assets/javascripts/ci/catalog/components/shared/ci_verification_badge.vue index 418e1e63c3f5a..2be2e310aa904 100644 --- a/app/assets/javascripts/ci/catalog/components/shared/ci_verification_badge.vue +++ b/app/assets/javascripts/ci/catalog/components/shared/ci_verification_badge.vue @@ -13,7 +13,7 @@ export default { verifiedCreatorPopoverLink: s__('CiCatalog|What are verified component creators?'), verificationLevelPopoverLink: s__('CiCatalog|Learn more about designated creators'), }, - verificationHelpPagePath: helpPagePath('ci/components/index', { + verificationHelpPagePath: helpPagePath('ci/components/_index', { anchor: 'verified-component-creators', }), verificationLevelOptions: VERIFICATION_LEVELS, diff --git a/app/assets/javascripts/ci/catalog/constants.js b/app/assets/javascripts/ci/catalog/constants.js index 94e4e037209ed..d60b1f4d4653d 100644 --- a/app/assets/javascripts/ci/catalog/constants.js +++ b/app/assets/javascripts/ci/catalog/constants.js @@ -16,7 +16,7 @@ export const SORT_ASC = 'ASC'; export const SORT_DESC = 'DESC'; export const DEFAULT_SORT_VALUE = `${SORT_OPTION_POPULARITY}_${SORT_DESC}`; -export const COMPONENTS_DOCS_URL = helpPagePath('ci/components/index'); +export const COMPONENTS_DOCS_URL = helpPagePath('ci/components/_index'); export const VERIFICATION_LEVEL_GITLAB_MAINTAINED_BADGE_TEXT = s__('CiCatalog|GitLab-maintained'); export const VERIFICATION_LEVEL_GITLAB_MAINTAINED_ICON = 'tanuki-verified'; diff --git a/app/assets/javascripts/ci/pipeline_details/manual_variables/empty_state.vue b/app/assets/javascripts/ci/pipeline_details/manual_variables/empty_state.vue index 1ea007d5c2a33..4678b40fb1a9a 100644 --- a/app/assets/javascripts/ci/pipeline_details/manual_variables/empty_state.vue +++ b/app/assets/javascripts/ci/pipeline_details/manual_variables/empty_state.vue @@ -17,7 +17,7 @@ export default { 'ManualVariables|When you %{helpPageUrlStart}run a pipeline manually%{helpPageUrlEnd}, you can specify additional CI/CD variables to use in that pipeline run.', ), }, - runPipelineManuallyDocUrl: helpPagePath('ci/pipelines/index', { + runPipelineManuallyDocUrl: helpPagePath('ci/pipelines/_index', { anchor: 'run-a-pipeline-manually', }), }; diff --git a/app/assets/javascripts/environments/components/enable_review_app_modal.vue b/app/assets/javascripts/environments/components/enable_review_app_modal.vue index 41aac5f686193..aab19cf919ee7 100644 --- a/app/assets/javascripts/environments/components/enable_review_app_modal.vue +++ b/app/assets/javascripts/environments/components/enable_review_app_modal.vue @@ -53,10 +53,10 @@ export default { }, }, i18n, - configuringReviewAppsPath: helpPagePath('ci/review_apps/index.md', { + configuringReviewAppsPath: helpPagePath('ci/review_apps/_index.md', { anchor: 'configuring-review-apps', }), - reviewAppsExamplesPath: helpPagePath('ci/review_apps/index.md', { + reviewAppsExamplesPath: helpPagePath('ci/review_apps/_index.md', { anchor: 'review-apps-examples', }), }; diff --git a/app/assets/javascripts/google_cloud/databases/service_table.vue b/app/assets/javascripts/google_cloud/databases/service_table.vue index c8981228212d7..28538cbb3b725 100644 --- a/app/assets/javascripts/google_cloud/databases/service_table.vue +++ b/app/assets/javascripts/google_cloud/databases/service_table.vue @@ -48,7 +48,7 @@ const i18n = { ), }; -const helpUrlSecrets = helpPagePath('ci/secrets/index'); +const helpUrlSecrets = helpPagePath('ci/secrets/_index'); export default { components: { GlAlert, GlButton, GlLink, GlSprintf, GlTable }, diff --git a/app/assets/javascripts/ide/components/pipelines/empty_state.vue b/app/assets/javascripts/ide/components/pipelines/empty_state.vue index 7048246a97989..321c9ce5fffed 100644 --- a/app/assets/javascripts/ide/components/pipelines/empty_state.vue +++ b/app/assets/javascripts/ide/components/pipelines/empty_state.vue @@ -12,7 +12,7 @@ export default { computed: { ...mapState(['pipelinesEmptyStateSvgPath']), ciHelpPagePath() { - return helpPagePath('ci/quick_start/index.md'); + return helpPagePath('ci/quick_start/_index.md'); }, }, i18n: { diff --git a/app/assets/javascripts/pages/projects/shared/permissions/components/ci_catalog_settings.vue b/app/assets/javascripts/pages/projects/shared/permissions/components/ci_catalog_settings.vue index 68dca99a7c37a..29bb8d1aa5651 100644 --- a/app/assets/javascripts/pages/projects/shared/permissions/components/ci_catalog_settings.vue +++ b/app/assets/javascripts/pages/projects/shared/permissions/components/ci_catalog_settings.vue @@ -43,7 +43,7 @@ const i18n = { ), }; -const ciCatalogHelpPath = helpPagePath('ci/components/index', { +const ciCatalogHelpPath = helpPagePath('ci/components/_index', { anchor: 'cicd-catalog', }); diff --git a/app/assets/javascripts/releases/components/app_index.vue b/app/assets/javascripts/releases/components/app_index.vue index c72f9ad3334fd..31fab5f27c476 100644 --- a/app/assets/javascripts/releases/components/app_index.vue +++ b/app/assets/javascripts/releases/components/app_index.vue @@ -23,7 +23,7 @@ export default { i18n, links: { alertInfoMessageLink: helpPagePath('ci/yaml/_index.html', { anchor: 'release' }), - alertInfoPublishLink: helpPagePath('ci/components/index', { anchor: 'publish-a-new-release' }), + alertInfoPublishLink: helpPagePath('ci/components/_index', { anchor: 'publish-a-new-release' }), }, components: { CiCdCatalogWrapper, diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/nothing_to_merge.vue b/app/assets/javascripts/vue_merge_request_widget/components/states/nothing_to_merge.vue index 11147411027ac..a1a51ce8c1ea0 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/states/nothing_to_merge.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/nothing_to_merge.vue @@ -16,7 +16,7 @@ export default { return STATUS_EMPTY; }, }, - ciHelpPage: helpPagePath('ci/quick_start/index.html'), + ciHelpPage: helpPagePath('ci/quick_start/_index.html'), }; </script> diff --git a/app/helpers/ci/pipeline_editor_helper.rb b/app/helpers/ci/pipeline_editor_helper.rb index 7b872985faaf6..c2992a9a09155 100644 --- a/app/helpers/ci/pipeline_editor_helper.rb +++ b/app/helpers/ci/pipeline_editor_helper.rb @@ -16,8 +16,8 @@ def js_pipeline_editor_data(project) { "ci-catalog-path" => explore_catalog_index_path, "ci-config-path": project.ci_config_path_or_default, - "ci-examples-help-page-path" => help_page_path('ci/examples/index.md'), - "ci-help-page-path" => help_page_path('ci/index.md'), + "ci-examples-help-page-path" => help_page_path('ci/examples/_index.md'), + "ci-help-page-path" => help_page_path('ci/_index.md'), "ci-lint-path" => project_ci_lint_path(project), "ci-troubleshooting-path" => help_page_path('ci/debugging.md', anchor: 'job-configuration-issues'), "default-branch" => project.default_branch_or_main, @@ -32,7 +32,7 @@ def js_pipeline_editor_data(project) "project-path" => project.path, "project-full-path" => project.full_path, "project-namespace" => project.namespace.full_path, - "simulate-pipeline-help-page-path" => help_page_path('ci/pipeline_editor/index.md', anchor: 'simulate-a-cicd-pipeline'), + "simulate-pipeline-help-page-path" => help_page_path('ci/pipeline_editor/_index.md', anchor: 'simulate-a-cicd-pipeline'), "total-branches" => total_branches, "uses-external-config" => uses_external_config?(project) ? 'true' : 'false', "validate-tab-illustration-path" => image_path('illustrations/empty-state/empty-devops-md.svg'), diff --git a/app/helpers/ide_helper.rb b/app/helpers/ide_helper.rb index 7f8eea24535e7..2c5cfd5feb45b 100644 --- a/app/helpers/ide_helper.rb +++ b/app/helpers/ide_helper.rb @@ -100,7 +100,7 @@ def legacy_ide_data(project:) 'committed-state-svg-path' => image_path('illustrations/rocket-launch-md.svg'), 'pipelines-empty-state-svg-path': image_path('illustrations/empty-state/empty-pipeline-md.svg'), 'switch-editor-svg-path': image_path('illustrations/rocket-launch-md.svg'), - 'ci-help-page-path' => help_page_path('ci/quick_start/index.md'), + 'ci-help-page-path' => help_page_path('ci/quick_start/_index.md'), 'web-ide-help-page-path' => help_page_path('user/project/web_ide/index.md'), 'render-whitespace-in-code': current_user.render_whitespace_in_code.to_s, 'default-branch' => project && project.default_branch, diff --git a/app/presenters/dev_ops_report/metric_presenter.rb b/app/presenters/dev_ops_report/metric_presenter.rb index bfc84e02636f7..ad2a21cdb2f74 100644 --- a/app/presenters/dev_ops_report/metric_presenter.rb +++ b/app/presenters/dev_ops_report/metric_presenter.rb @@ -52,7 +52,7 @@ def cards description: 'created per active user', feature: 'ci_pipelines', blog: 'https://martinfowler.com/bliki/ContinuousDelivery.html', - docs: help_page_path('ci/index.md') + docs: help_page_path('ci/_index.md') ), Card.new( metric: metric, diff --git a/app/presenters/projects/security/configuration_presenter.rb b/app/presenters/projects/security/configuration_presenter.rb index d4aa5f98c2a46..bc217b1b2028d 100644 --- a/app/presenters/projects/security/configuration_presenter.rb +++ b/app/presenters/projects/security/configuration_presenter.rb @@ -74,7 +74,7 @@ def features end def latest_pipeline_path - return help_page_path('ci/pipelines/index.md') unless latest_default_branch_pipeline + return help_page_path('ci/pipelines/_index.md') unless latest_default_branch_pipeline project_pipeline_path(self, latest_default_branch_pipeline) end diff --git a/app/views/projects/settings/ci_cd/_form.html.haml b/app/views/projects/settings/ci_cd/_form.html.haml index a42fab335d9b5..54cdef3ce0e2b 100644 --- a/app/views/projects/settings/ci_cd/_form.html.haml +++ b/app/views/projects/settings/ci_cd/_form.html.haml @@ -2,7 +2,7 @@ - help_link_auto_canceling = link_to sprite_icon('question-o'), help_page_path('ci/pipelines/settings.md', anchor: 'auto-cancel-redundant-pipelines'), target: '_blank', rel: 'noopener noreferrer' - help_link_prevent_outdated = link_to sprite_icon('question-o'), help_page_path('ci/pipelines/settings.md', anchor: 'prevent-outdated-deployment-jobs'), target: '_blank', rel: 'noopener noreferrer' - help_link_prevent_outdated_allow_rollback = link_to sprite_icon('question-o'), help_page_path('ci/environments/deployment_safety.md', anchor: 'job-retries-for-rollback-deployments'), target: '_blank', rel: 'noopener noreferrer' -- help_link_separated_caches = link_to sprite_icon('question-o'), help_page_path('ci/caching/index.md', anchor: 'cache-key-names'), target: '_blank', rel: 'noopener noreferrer' +- help_link_separated_caches = link_to sprite_icon('question-o'), help_page_path('ci/caching/_index.md', anchor: 'cache-key-names'), target: '_blank', rel: 'noopener noreferrer' .row.gl-mt-3 .col-lg-12 diff --git a/app/views/projects/settings/ci_cd/show.html.haml b/app/views/projects/settings/ci_cd/show.html.haml index 872921a04801f..c2a0eec07a11b 100644 --- a/app/views/projects/settings/ci_cd/show.html.haml +++ b/app/views/projects/settings/ci_cd/show.html.haml @@ -72,7 +72,7 @@ expanded: expanded) do |c| - c.with_description do = _("Trigger a pipeline for a branch or tag by generating a trigger token and using it with an API call. The token impersonates a user's project access and permissions.") - = link_to _('Learn more.'), help_page_path('ci/triggers/index.md'), target: '_blank', rel: 'noopener noreferrer' + = link_to _('Learn more.'), help_page_path('ci/triggers/_index.md'), target: '_blank', rel: 'noopener noreferrer' - c.with_body do = render 'projects/triggers/index' @@ -107,6 +107,6 @@ expanded: expanded) do |c| - c.with_description do = _("Use secure files to store files used by your pipelines such as Android keystores, or Apple provisioning profiles and signing certificates.") - = link_to _('Learn more'), help_page_path('ci/secure_files/index.md'), target: '_blank', rel: 'noopener noreferrer' + = link_to _('Learn more'), help_page_path('ci/secure_files/_index.md'), target: '_blank', rel: 'noopener noreferrer' - c.with_body do #js-ci-secure-files{ data: { project_id: @project.id, admin: can?(current_user, :admin_secure_files, @project).to_s, file_size_limit: Ci::SecureFile::FILE_SIZE_LIMIT.to_mb } } diff --git a/app/views/protected_branches/shared/_index.html.haml b/app/views/protected_branches/shared/_index.html.haml index b49f5d30155a9..63bf5b6335437 100644 --- a/app/views/protected_branches/shared/_index.html.haml +++ b/app/views/protected_branches/shared/_index.html.haml @@ -16,7 +16,7 @@ dismissible: false) do |c| - c.with_body do = s_("ProtectedBranch|Giving merge rights to a protected branch also gives elevated permissions for certain CI/CD features.") - = link_to s_("ProtectedBranch|What are the security implications?"), help_page_path('ci/pipelines/index.md', anchor: 'pipeline-security-on-protected-branches'), target: '_blank', rel: 'noopener noreferrer' + = link_to s_("ProtectedBranch|What are the security implications?"), help_page_path('ci/pipelines/_index.md', anchor: 'pipeline-security-on-protected-branches'), target: '_blank', rel: 'noopener noreferrer' = render ::Layouts::CrudComponent.new(s_("ProtectedBranch|Protected branches"), icon: 'branch', diff --git a/doc/administration/backup_restore/troubleshooting_backup_gitlab.md b/doc/administration/backup_restore/troubleshooting_backup_gitlab.md index 6eef95476c6cf..7a7db17e34137 100644 --- a/doc/administration/backup_restore/troubleshooting_backup_gitlab.md +++ b/doc/administration/backup_restore/troubleshooting_backup_gitlab.md @@ -20,7 +20,7 @@ decrypt those columns, preventing access to the following items: - [Kubernetes / GCP integration](../../user/infrastructure/clusters/index.md) - [Custom Pages domains](../../user/project/pages/custom_domains_ssl_tls_certification/index.md) - [Project error tracking](../../operations/error_tracking.md) -- [Runner authentication](../../ci/runners/index.md) +- [Runner authentication](../../ci/runners/_index.md) - [Project mirroring](../../user/project/repository/mirror/index.md) - [Integrations](../../user/project/integrations/index.md) - [Web hooks](../../user/project/integrations/webhooks.md) diff --git a/doc/administration/dedicated/hosted_runners.md b/doc/administration/dedicated/hosted_runners.md index c516f61c9420d..3a7f81b2a9e2c 100644 --- a/doc/administration/dedicated/hosted_runners.md +++ b/doc/administration/dedicated/hosted_runners.md @@ -14,7 +14,7 @@ DETAILS: NOTE: To use this feature, you must purchase a subscription for Hosted Runners for GitLab Dedicated. To participate in the limited availability of Hosted Runners for Dedicated, reach out to your Customer Success Manager or Account representative. -You can run your CI/CD jobs on GitLab-hosted [runners](../../ci/runners/index.md). These runners are managed by GitLab and fully integrated with your GitLab Dedicated instance. +You can run your CI/CD jobs on GitLab-hosted [runners](../../ci/runners/_index.md). These runners are managed by GitLab and fully integrated with your GitLab Dedicated instance. GitLab-hosted runners for Dedicated are autoscaling [instance runners](../../ci/runners/runners_scope.md#instance-runners), running on AWS EC2 in the same region as the GitLab Dedicated instance. diff --git a/doc/administration/geo/replication/datatypes.md b/doc/administration/geo/replication/datatypes.md index bec1e2ce70165..6f889e6491ac1 100644 --- a/doc/administration/geo/replication/datatypes.md +++ b/doc/administration/geo/replication/datatypes.md @@ -203,7 +203,7 @@ successfully, you must replicate their data using some other means. | [External merge request diffs](../../merge_request_diffs.md) | **Yes** (13.5) | **Yes** (14.6) | [**Yes** (15.1)](https://gitlab.com/groups/gitlab-org/-/epics/5551) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Replication is behind the feature flag `geo_merge_request_diff_replication`, enabled by default. Verification was behind the feature flag `geo_merge_request_diff_verification`, removed in 14.7. | | [Versioned snippets](../../../user/snippets.md#versioned-snippets) | [**Yes** (13.7)](https://gitlab.com/groups/gitlab-org/-/epics/2809) | [**Yes** (14.2)](https://gitlab.com/groups/gitlab-org/-/epics/2810) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Verification was implemented behind the feature flag `geo_snippet_repository_verification` in 13.11, and the feature flag was removed in 14.2. | | [GitLab Pages](../../pages/index.md) | [**Yes** (14.3)](https://gitlab.com/groups/gitlab-org/-/epics/589) | **Yes** (14.6) | [**Yes** (15.1)](https://gitlab.com/groups/gitlab-org/-/epics/5551) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Behind feature flag `geo_pages_deployment_replication`, enabled by default. Verification was behind the feature flag `geo_pages_deployment_verification`, removed in 14.7. | -| [Project-level Secure files](../../../ci/secure_files/index.md) | **Yes** (15.3) | **Yes** (15.3) | **Yes** (15.3) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | | +| [Project-level Secure files](../../../ci/secure_files/_index.md) | **Yes** (15.3) | **Yes** (15.3) | **Yes** (15.3) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | | | [Incident Metric Images](../../../operations/incident_management/incidents.md#metrics) | **Yes** (15.5) | **Yes** (15.5) | **Yes** (15.5) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Replication/Verification is handled via the Uploads data type. | | [Alert Metric Images](../../../operations/incident_management/alerts.md#metrics-tab) | **Yes** (15.5) | **Yes** (15.5) | **Yes** (15.5) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Replication/Verification is handled via the Uploads data type. | | [Server-side Git hooks](../../server_hooks.md) | [Not planned](https://gitlab.com/groups/gitlab-org/-/epics/1867) | No | Not applicable | Not applicable | Not planned because of current implementation complexity, low customer interest, and availability of alternatives to hooks. | diff --git a/doc/administration/get_started.md b/doc/administration/get_started.md index 56d004d68cac3..7b90b942ed8d4 100644 --- a/doc/administration/get_started.md +++ b/doc/administration/get_started.md @@ -60,7 +60,7 @@ Get started: You may need to import projects from external sources like GitHub, Bitbucket, or another instance of GitLab. Many external sources can be imported into GitLab. - Review the [GitLab projects documentation](../user/project/index.md). -- Consider [repository mirroring](../user/project/repository/mirror/index.md)—an [alternative to project migrations](../ci/ci_cd_for_external_repos/index.md). +- Consider [repository mirroring](../user/project/repository/mirror/index.md)—an [alternative to project migrations](../ci/ci_cd_for_external_repos/_index.md). - Check out our [migration index](../user/project/import/index.md) for documentation on common migration paths. - Schedule your project exports with our [import/export API](../api/project_import_export.md#schedule-an-export). diff --git a/doc/administration/instance_limits.md b/doc/administration/instance_limits.md index 1b623941f4f74..3d1487952bb9f 100644 --- a/doc/administration/instance_limits.md +++ b/doc/administration/instance_limits.md @@ -952,7 +952,7 @@ prevent any more changes from rendering. For more information about these limits Reports that go over the 20 MB limit aren't loaded. Affected reports: -- [Merge request security reports](../ci/testing/index.md#security-reports) +- [Merge request security reports](../ci/testing/_index.md#security-reports) - [CI/CD parameter `artifacts:expose_as`](../ci/yaml/_index.md#artifactsexpose_as) - [Unit test reports](../ci/testing/unit_test_reports.md) diff --git a/doc/administration/integration/terminal.md b/doc/administration/integration/terminal.md index 484bafbc05326..f40cc32cbd3a5 100644 --- a/doc/administration/integration/terminal.md +++ b/doc/administration/integration/terminal.md @@ -18,7 +18,7 @@ FLAG: On GitLab Self-Managed, by default this feature is not available. To make it available, an administrator can [enable the feature flag](../feature_flags.md) named `certificate_based_clusters`. - Read more about the non-deprecated [Web Terminals accessible through the Web IDE](../../user/project/web_ide/index.md). -- Read more about the non-deprecated [Web Terminals accessible from a running CI job](../../ci/interactive_web_terminal/index.md). +- Read more about the non-deprecated [Web Terminals accessible from a running CI job](../../ci/interactive_web_terminal/_index.md). --- diff --git a/doc/administration/logs/_index.md b/doc/administration/logs/_index.md index f619af8e684c6..4a42fe62b8d41 100644 --- a/doc/administration/logs/_index.md +++ b/doc/administration/logs/_index.md @@ -737,7 +737,7 @@ This file is located at: - `/var/log/gitlab/gitlab-rails/ci_resource_group_json.log` on Linux package installations. - `/home/git/gitlab/log/ci_resource_group_json.log` on self-compiled installations. -It contains information about [resource group](../../ci/resource_groups/index.md) acquisition. For example: +It contains information about [resource group](../../ci/resource_groups/_index.md) acquisition. For example: ```json {"severity":"INFO","time":"2023-02-10T23:02:06.095Z","correlation_id":"01GRYS10C2DZQ9J1G12ZVAD4YD","resource_group_id":1,"processable_id":288,"message":"attempted to assign resource to processable","success":true} diff --git a/doc/administration/pages/index.md b/doc/administration/pages/index.md index 4b2af9a14c318..79f91841d9b7d 100644 --- a/doc/administration/pages/index.md +++ b/doc/administration/pages/index.md @@ -63,7 +63,7 @@ Before configuring Pages for wildcard domains, you must: 1. Configure a **wildcard DNS record**. 1. Optional. Have a **wildcard certificate** for that domain if you decide to serve Pages under HTTPS. -1. Optional but recommended. Enable [instance runners](../../ci/runners/index.md) +1. Optional but recommended. Enable [instance runners](../../ci/runners/_index.md) so that your users don't have to bring their own. 1. For custom domains, have a **secondary IP**. @@ -81,7 +81,7 @@ Before configuring Pages for single-domain sites, you must: 1. Configure a **DNS record**. 1. Optional. If you decide to serve Pages under HTTPS, have a **TLS certificate** for that domain. -1. Optional but recommended. Enable [instance runners](../../ci/runners/index.md) +1. Optional but recommended. Enable [instance runners](../../ci/runners/_index.md) so that your users don't have to bring their own. 1. For custom domains, have a **secondary IP**. diff --git a/doc/administration/pages/source.md b/doc/administration/pages/source.md index 6d428c6d9255e..546b65f1f434b 100644 --- a/doc/administration/pages/source.md +++ b/doc/administration/pages/source.md @@ -59,7 +59,7 @@ Before proceeding with the Pages configuration, make sure that: Pages artifacts. - Optional. You have a **wildcard certificate** for the Pages domain if you decide to serve Pages (`*.example.io`) under HTTPS. -- Optional but recommended. You have configured and enabled the [instance runners](../../ci/runners/index.md) +- Optional but recommended. You have configured and enabled the [instance runners](../../ci/runners/_index.md) so your users don't have to bring their own. ### DNS configuration diff --git a/doc/administration/postgresql/multiple_databases.md b/doc/administration/postgresql/multiple_databases.md index 1d80c68e89a39..8afbbd51cd793 100644 --- a/doc/administration/postgresql/multiple_databases.md +++ b/doc/administration/postgresql/multiple_databases.md @@ -22,7 +22,7 @@ To scale GitLab, you can configure GitLab to use multiple application databases. Due to [known issues](#known-issues), configuring GitLab with multiple databases is in limited [beta](../../policy/development_stages_support.md#beta). After you have set up multiple databases, GitLab uses a second application database for -[CI/CD features](../../ci/index.md), referred to as the `ci` database. We do not exclude hosting both databases on a single PostgreSQL instance. +[CI/CD features](../../ci/_index.md), referred to as the `ci` database. We do not exclude hosting both databases on a single PostgreSQL instance. All tables have exactly the same structure in both the `main`, and `ci` databases. Some examples: diff --git a/doc/administration/server_hooks.md b/doc/administration/server_hooks.md index 1d0ca92e83c66..12bda58be88a8 100644 --- a/doc/administration/server_hooks.md +++ b/doc/administration/server_hooks.md @@ -29,7 +29,7 @@ GitLab administrators configure server hooks using the `gitaly` command, which a If you don't have access to the `gitaly` command, alternatives to server hooks include: - [Webhooks](../user/project/integrations/webhooks.md). -- [GitLab CI/CD](../ci/index.md). +- [GitLab CI/CD](../ci/_index.md). - [Push rules](../user/project/repository/push_rules.md), for a user-configurable Git hook interface. [Geo](geo/index.md) doesn't replicate server hooks to secondary nodes. diff --git a/doc/administration/settings/continuous_integration.md b/doc/administration/settings/continuous_integration.md index 906ab38c47846..c7640977707b2 100644 --- a/doc/administration/settings/continuous_integration.md +++ b/doc/administration/settings/continuous_integration.md @@ -396,7 +396,7 @@ This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/3894 and was removed in 17.0. From 17.4, it is available only behind the feature flag `required_pipelines`, disabled by default. Use [compliance pipelines](../../user/group/compliance_pipelines.md) instead. This change is a breaking change. -You can set a [CI/CD template](../../ci/examples/index.md#cicd-templates) +You can set a [CI/CD template](../../ci/examples/_index.md#cicd-templates) as a required pipeline configuration for all projects on a GitLab instance. You can use a template from: @@ -412,7 +412,7 @@ use a template from: The project CI/CD configuration merges into the required pipeline configuration when a pipeline runs. The merged configuration is the same as if the required pipeline configuration added the project configuration with the [`include` keyword](../../ci/yaml/_index.md#include). -To view a project's full merged configuration, [View full configuration](../../ci/pipeline_editor/index.md#view-full-configuration) +To view a project's full merged configuration, [View full configuration](../../ci/pipeline_editor/_index.md#view-full-configuration) in the pipeline editor. To select a CI/CD template for the required pipeline configuration: diff --git a/doc/administration/settings/rate_limit_on_pipelines_creation.md b/doc/administration/settings/rate_limit_on_pipelines_creation.md index 578c0698f594f..30b4d804087d1 100644 --- a/doc/administration/settings/rate_limit_on_pipelines_creation.md +++ b/doc/administration/settings/rate_limit_on_pipelines_creation.md @@ -13,7 +13,7 @@ DETAILS: You can set a limit so that users and processes can't request more than a certain number of pipelines each minute. This limit can help save resources and improve stability. -For example, if you set a limit of `10`, and `11` requests are sent to the [trigger API](../../ci/triggers/index.md) within one minute, +For example, if you set a limit of `10`, and `11` requests are sent to the [trigger API](../../ci/triggers/_index.md) within one minute, the eleventh request is blocked. Access to the endpoint is allowed again after one minute. This limit is: diff --git a/doc/administration/settings/usage_statistics.md b/doc/administration/settings/usage_statistics.md index 149cecd4b8f27..9aad00e479d25 100644 --- a/doc/administration/settings/usage_statistics.md +++ b/doc/administration/settings/usage_statistics.md @@ -77,7 +77,7 @@ In the following table, you can see: | [Сross-project pipelines with artifacts dependencies](../../ci/yaml/_index.md#needsproject) | GitLab 16.7 and later | | [Feature flag related issues](../../operations/feature_flags.md#feature-flag-related-issues) | GitLab 16.7 and later | | [Merged results pipelines](../../ci/pipelines/merged_results_pipelines.md) | GitLab 16.7 and later | -| [CI/CD for external repositories](../../ci/ci_cd_for_external_repos/index.md) | GitLab 16.7 and later | +| [CI/CD for external repositories](../../ci/ci_cd_for_external_repos/_index.md) | GitLab 16.7 and later | | [CI/CD for GitHub](../../ci/ci_cd_for_external_repos/github_integration.md) | GitLab 16.7 and later | ### Enable registration features diff --git a/doc/api/admin/token.md b/doc/api/admin/token.md index b305a2abfe141..3ea12cb4f7068 100644 --- a/doc/api/admin/token.md +++ b/doc/api/admin/token.md @@ -44,7 +44,7 @@ Gets information for a given token. This endpoint supports the following tokens: - [OAuth application secrets](../../integration/oauth_provider.md) - [Cluster agent tokens](../../security/tokens/_index.md#gitlab-cluster-agent-tokens) - [Runner authentication tokens](../../security/tokens/_index.md#runner-authentication-tokens) -- [Pipeline trigger tokens](../../ci/triggers/index.md#create-a-pipeline-trigger-token) +- [Pipeline trigger tokens](../../ci/triggers/_index.md#create-a-pipeline-trigger-token) - [CI/CD Job Tokens](../../security/tokens/_index.md#cicd-job-tokens) - [Feature flags client tokens](../../operations/feature_flags.md#get-access-credentials) - [GitLab session cookies](../../user/profile/active_sessions.md) diff --git a/doc/api/environments.md b/doc/api/environments.md index 52a490ce9eb9b..885789eab5c1f 100644 --- a/doc/api/environments.md +++ b/doc/api/environments.md @@ -312,7 +312,7 @@ curl --request DELETE \ It schedules for deletion multiple environments that have already been [stopped](../ci/environments/_index.md#stopping-an-environment) and -are [in the review app folder](../ci/review_apps/index.md). +are [in the review app folder](../ci/review_apps/_index.md). The actual deletion is performed after 1 week from the time of execution. By default, it only deletes environments 30 days or older. You can change this default using the `before` parameter. diff --git a/doc/api/google_cloud_integration.md b/doc/api/google_cloud_integration.md index 0d34e29893cf8..175218a672399 100644 --- a/doc/api/google_cloud_integration.md +++ b/doc/api/google_cloud_integration.md @@ -10,7 +10,7 @@ DETAILS: **Offering:** GitLab.com **Status:** Experiment -Use this API to interact with the Google Cloud integration. For more information, see [GitLab and Google Cloud integration](../ci/gitlab_google_cloud_integration/index.md). +Use this API to interact with the Google Cloud integration. For more information, see [GitLab and Google Cloud integration](../ci/gitlab_google_cloud_integration/_index.md). ## Project-level Google Cloud integration scripts diff --git a/doc/api/jobs.md b/doc/api/jobs.md index 8f6eb3fdae071..4b2c34e96a380 100644 --- a/doc/api/jobs.md +++ b/doc/api/jobs.md @@ -483,7 +483,7 @@ Retrieve the job that generated a job token. GET /job ``` -Examples (must run as part of the [`script`](../ci/yaml/_index.md#script) section of a [CI/CD job](../ci/jobs/index.md)): +Examples (must run as part of the [`script`](../ci/yaml/_index.md#script) section of a [CI/CD job](../ci/jobs/_index.md)): ```shell curl --header "Authorization: Bearer $CI_JOB_TOKEN" "${CI_API_V4_URL}/job" diff --git a/doc/api/pipeline_triggers.md b/doc/api/pipeline_triggers.md index 587fa6a626ab4..22995e57d6023 100644 --- a/doc/api/pipeline_triggers.md +++ b/doc/api/pipeline_triggers.md @@ -9,7 +9,7 @@ DETAILS: **Tier:** Free, Premium, Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated -You can read more about [triggering pipelines through the API](../ci/triggers/index.md). +You can read more about [triggering pipelines through the API](../ci/triggers/_index.md). ## List project trigger tokens @@ -153,7 +153,7 @@ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://git ## Trigger a pipeline with a token -Trigger a pipeline by using a [pipeline trigger token](../ci/triggers/index.md#create-a-pipeline-trigger-token) +Trigger a pipeline by using a [pipeline trigger token](../ci/triggers/_index.md#create-a-pipeline-trigger-token) or a [CI/CD job token](../ci/jobs/ci_job_token.md) for authentication. With a CI/CD job token, the [triggered pipeline is a multi-project pipeline](../ci/pipelines/downstream_pipelines.md#trigger-a-multi-project-pipeline-by-using-the-api). diff --git a/doc/api/projects.md b/doc/api/projects.md index a33ad024493fa..5accaaf0382a8 100644 --- a/doc/api/projects.md +++ b/doc/api/projects.md @@ -1640,7 +1640,7 @@ Supported general project attributes: | `ci_forward_deployment_enabled` | boolean | No | Enable or disable [prevent outdated deployment jobs](../ci/pipelines/settings.md#prevent-outdated-deployment-jobs). | | `ci_forward_deployment_rollback_allowed` | boolean | No | Enable or disable [allow job retries for rollback deployments](../ci/pipelines/settings.md#prevent-outdated-deployment-jobs). | | `ci_allow_fork_pipelines_to_run_in_parent_project` | boolean | No | Enable or disable [running pipelines in the parent project for merge requests from forks](../ci/pipelines/merge_request_pipelines.md#run-pipelines-in-the-parent-project). _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/325189) in GitLab 15.3.)_ | -| `ci_separated_caches` | boolean | No | Set whether or not caches should be [separated](../ci/caching/index.md#cache-key-names) by branch protection status. | +| `ci_separated_caches` | boolean | No | Set whether or not caches should be [separated](../ci/caching/_index.md#cache-key-names) by branch protection status. | | `ci_restrict_pipeline_cancellation_role` | string | No | Set the [role required to cancel a pipeline or job](../ci/pipelines/settings.md#restrict-roles-that-can-cancel-pipelines-or-jobs). One of `developer`, `maintainer`, or `no_one`. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/429921) in GitLab 16.8. Premium and Ultimate only. | | `ci_pipeline_variables_minimum_override_role` | string | No | When `restrict_user_defined_variables` is enabled, you can specify which role can override variables. One of `owner`, `maintainer`, `developer` or `no_one_allowed`. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/440338) in GitLab 17.1. | | `ci_push_repository_for_job_token_allowed` | boolean | No | Enable or disable the ability to push to the project repository using job token. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/389060) in GitLab 17.2. | @@ -1701,7 +1701,7 @@ Supported general project attributes: | `warn_about_potentially_unwanted_characters` | boolean | No | Enable warnings about usage of potentially unwanted characters in this project. | | `wiki_enabled` | boolean | No | _(Deprecated)_ Enable wiki for this project. Use `wiki_access_level` instead. | -For example, to toggle the setting for [instance runners on a GitLab.com project](../ci/runners/index.md): +For example, to toggle the setting for [instance runners on a GitLab.com project](../ci/runners/_index.md): ```shell curl --request PUT --header "PRIVATE-TOKEN: <your-token>" \ diff --git a/doc/api/resource_groups.md b/doc/api/resource_groups.md index e9c0c284b15c0..d53a1d59151f8 100644 --- a/doc/api/resource_groups.md +++ b/doc/api/resource_groups.md @@ -9,7 +9,7 @@ DETAILS: **Tier:** Free, Premium, Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated -You can read more about [controlling the job concurrency with resource groups](../ci/resource_groups/index.md). +You can read more about [controlling the job concurrency with resource groups](../ci/resource_groups/_index.md). ## Get all resource groups for a project @@ -175,7 +175,7 @@ PUT /projects/:id/resource_groups/:key | --------------- | ------- | --------------------------------- | ------------------------------- | | `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) | | `key` | string | yes | The key of the resource group | -| `process_mode` | string | no | The process mode of the resource group. One of `unordered`, `oldest_first` or `newest_first`. Read [process modes](../ci/resource_groups/index.md#process-modes) for more information. | +| `process_mode` | string | no | The process mode of the resource group. One of `unordered`, `oldest_first` or `newest_first`. Read [process modes](../ci/resource_groups/_index.md#process-modes) for more information. | ```shell curl --request PUT --data "process_mode=oldest_first" \ diff --git a/doc/api/runners.md b/doc/api/runners.md index 1df8661dac380..6c0bf93c2eadd 100644 --- a/doc/api/runners.md +++ b/doc/api/runners.md @@ -27,7 +27,7 @@ There are two tokens to take into account when connecting a runner with GitLab. | Token | Description | | ----- | ----------- | -| Registration token | Token used to [register the runner](https://docs.gitlab.com/runner/register/). It can be [obtained through GitLab](../ci/runners/index.md). | +| Registration token | Token used to [register the runner](https://docs.gitlab.com/runner/register/). It can be [obtained through GitLab](../ci/runners/_index.md). | | Authentication token | Token used to authenticate the runner with the GitLab instance. The token is obtained automatically when you [register a runner](https://docs.gitlab.com/runner/register/) or by the Runners API when you manually [register a runner](#create-a-runner) or [reset the authentication token](#reset-runners-authentication-token-by-using-the-runner-id). You can also obtain the token by using the [`POST /user/runners`](users.md#create-a-runner-linked-to-a-user) endpoint. | Here's an example of how the two tokens are used in runner registration: diff --git a/doc/api/secure_files.md b/doc/api/secure_files.md index c1ad8db02ffd6..b37220ddfeadd 100644 --- a/doc/api/secure_files.md +++ b/doc/api/secure_files.md @@ -11,7 +11,7 @@ DETAILS: > - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/350748) in GitLab 15.7. Feature flag `ci_secure_files` removed. -This feature is part of [Mobile DevOps](../ci/mobile_devops/index.md) developed by [GitLab Incubation Engineering](https://handbook.gitlab.com/handbook/engineering/development/incubation/). +This feature is part of [Mobile DevOps](../ci/mobile_devops/_index.md) developed by [GitLab Incubation Engineering](https://handbook.gitlab.com/handbook/engineering/development/incubation/). The feature is still in development, but you can: - [Request a feature](https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/feedback/-/issues/new?issuable_template=feature_request). diff --git a/doc/ci/index.md b/doc/ci/_index.md similarity index 95% rename from doc/ci/index.md rename to doc/ci/_index.md index 108c5af27f62c..7fd236866e834 100644 --- a/doc/ci/index.md +++ b/doc/ci/_index.md @@ -34,7 +34,7 @@ and the product documentation refers to it as the `.gitlab-ci.yml` file or the C For more information, see: -- [Tutorial: Create your first `.gitlab-ci.yml` file](quick_start/index.md) +- [Tutorial: Create your first `.gitlab-ci.yml` file](quick_start/_index.md) - [The CI/CD YAML syntax reference](yaml/_index.md), which lists all possible keywords - <i class="fa fa-youtube-play youtube" aria-hidden="true"></i> [Continuous Integration overview](https://www.youtube-nocookie.com/embed/eyr5YnkWq_I) - <i class="fa fa-youtube-play youtube" aria-hidden="true"></i> [Continuous Delivery overview](https://www.youtube-nocookie.com/embed/M7rBDZYsx8U) @@ -74,9 +74,9 @@ In your pipeline, you can integrate with a wide range of tools and platforms. For more information, see: -- [Pipeline editor](pipeline_editor/index.md), which you use to edit your configuration -- [Visualize your pipeline](pipeline_editor/index.md#visualize-ci-configuration) -- [Pipelines](pipelines/index.md) +- [Pipeline editor](pipeline_editor/_index.md), which you use to edit your configuration +- [Visualize your pipeline](pipeline_editor/_index.md#visualize-ci-configuration) +- [Pipelines](pipelines/_index.md) ## Step 4: Use CI/CD variables as part of jobs @@ -115,4 +115,4 @@ GitLab also has CI/CD component templates for common tasks and integrations. For more information, see: -- [CI/CD components](components/index.md) +- [CI/CD components](components/_index.md) diff --git a/doc/ci/caching/index.md b/doc/ci/caching/_index.md similarity index 100% rename from doc/ci/caching/index.md rename to doc/ci/caching/_index.md diff --git a/doc/ci/chatops/index.md b/doc/ci/chatops/_index.md similarity index 100% rename from doc/ci/chatops/index.md rename to doc/ci/chatops/_index.md diff --git a/doc/ci/ci_cd_for_external_repos/index.md b/doc/ci/ci_cd_for_external_repos/_index.md similarity index 100% rename from doc/ci/ci_cd_for_external_repos/index.md rename to doc/ci/ci_cd_for_external_repos/_index.md diff --git a/doc/ci/ci_cd_for_external_repos/bitbucket_integration.md b/doc/ci/ci_cd_for_external_repos/bitbucket_integration.md index 1cffb687eb6c3..8cbe866975e27 100644 --- a/doc/ci/ci_cd_for_external_repos/bitbucket_integration.md +++ b/doc/ci/ci_cd_for_external_repos/bitbucket_integration.md @@ -11,7 +11,7 @@ DETAILS: GitLab CI/CD can be used with Bitbucket Cloud by: -1. Creating a [CI/CD project](index.md). +1. Creating a [CI/CD project](_index.md). 1. Connecting your Git repository by URL. To use GitLab CI/CD with a Bitbucket Cloud repository: diff --git a/doc/ci/ci_cd_for_external_repos/github_integration.md b/doc/ci/ci_cd_for_external_repos/github_integration.md index ecffb6d82300d..0f9790c0975de 100644 --- a/doc/ci/ci_cd_for_external_repos/github_integration.md +++ b/doc/ci/ci_cd_for_external_repos/github_integration.md @@ -10,7 +10,7 @@ DETAILS: **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated GitLab CI/CD can be used with **GitHub.com** and **GitHub Enterprise** by -creating a [CI/CD project](index.md) to connect your GitHub repository to +creating a [CI/CD project](_index.md) to connect your GitHub repository to GitLab. <i class="fa fa-youtube-play youtube" aria-hidden="true"></i> @@ -42,7 +42,7 @@ repositories: 1. For **Personal access token**, paste the token. 1. Select **List Repositories**. 1. Select **Connect** to select the repository. -1. In GitHub, add a `.gitlab-ci.yml` to [configure GitLab CI/CD](../quick_start/index.md). +1. In GitHub, add a `.gitlab-ci.yml` to [configure GitLab CI/CD](../quick_start/_index.md). GitLab: @@ -86,6 +86,6 @@ To manually enable GitLab CI/CD for your repository: https://gitlab.com/api/v4/projects/<NAMESPACE>%2F<PROJECT>/mirror/pull?private_token=<PERSONAL_ACCESS_TOKEN> ``` - Select the **Let me select individual events** option, then check the **Pull requests** and **Pushes** checkboxes. These settings are needed for [pipelines for external pull requests](index.md#pipelines-for-external-pull-requests). + Select the **Let me select individual events** option, then check the **Pull requests** and **Pushes** checkboxes. These settings are needed for [pipelines for external pull requests](_index.md#pipelines-for-external-pull-requests). 1. In GitHub, add a `.gitlab-ci.yml` to configure GitLab CI/CD. diff --git a/doc/ci/cloud_deployment/index.md b/doc/ci/cloud_deployment/_index.md similarity index 99% rename from doc/ci/cloud_deployment/index.md rename to doc/ci/cloud_deployment/_index.md index beec37caf21a4..0d3609be038c5 100644 --- a/doc/ci/cloud_deployment/index.md +++ b/doc/ci/cloud_deployment/_index.md @@ -17,7 +17,7 @@ read about [deploying to ECS](ecs/deploy_to_aws_ecs.md). NOTE: If you are comfortable configuring a deployment yourself and just need to retrieve -AWS credentials, consider using [ID tokens and OpenID Connect](../cloud_services/aws/index.md). +AWS credentials, consider using [ID tokens and OpenID Connect](../cloud_services/aws/_index.md). ID tokens are more secure than storing credentials in CI/CD variables, but do not work with the guidance on this page. diff --git a/doc/ci/cloud_deployment/ecs/deploy_to_aws_ecs.md b/doc/ci/cloud_deployment/ecs/deploy_to_aws_ecs.md index 1abad99d3a24c..b7b9c14af509c 100644 --- a/doc/ci/cloud_deployment/ecs/deploy_to_aws_ecs.md +++ b/doc/ci/cloud_deployment/ecs/deploy_to_aws_ecs.md @@ -16,7 +16,7 @@ In this guide, you begin by creating an ECS cluster manually using the AWS conso deploy a simple application that you create from a GitLab template. These instructions work for both GitLab.com and GitLab Self-Managed instances. -Ensure your own [runners are configured](../../runners/index.md). +Ensure your own [runners are configured](../../runners/_index.md). ## Prerequisites @@ -292,6 +292,6 @@ For more details and configuration options, see the [DAST documentation](../../. ## Further reading -- If you're interested in more of the continuous deployments to clouds, see [cloud deployments](../index.md). +- If you're interested in more of the continuous deployments to clouds, see [cloud deployments](../_index.md). - If you want to quickly set up DevSecOps in your project, see [Auto DevOps](../../../topics/autodevops/_index.md). - If you want to quickly set up the production-grade environment, see [the 5 Minute Production App](https://gitlab.com/gitlab-org/5-minute-production-app/deploy-template/-/blob/master/README.md). diff --git a/doc/ci/cloud_services/index.md b/doc/ci/cloud_services/_index.md similarity index 97% rename from doc/ci/cloud_services/index.md rename to doc/ci/cloud_services/_index.md index 3502bac475983..fe9d0bc786c6c 100644 --- a/doc/ci/cloud_services/index.md +++ b/doc/ci/cloud_services/_index.md @@ -110,6 +110,6 @@ The condition is validated against the JWT to create a trust specifically agains To connect with your cloud provider, see the following tutorials: -- [Configure OpenID Connect in AWS](aws/index.md) -- [Configure OpenID Connect in Azure](azure/index.md) -- [Configure OpenID Connect in Google Cloud](google_cloud/index.md) +- [Configure OpenID Connect in AWS](aws/_index.md) +- [Configure OpenID Connect in Azure](azure/_index.md) +- [Configure OpenID Connect in Google Cloud](google_cloud/_index.md) diff --git a/doc/ci/cloud_services/aws/index.md b/doc/ci/cloud_services/aws/_index.md similarity index 98% rename from doc/ci/cloud_services/aws/index.md rename to doc/ci/cloud_services/aws/_index.md index 453a0e78c75b6..f8650c93a04af 100644 --- a/doc/ci/cloud_services/aws/index.md +++ b/doc/ci/cloud_services/aws/_index.md @@ -14,7 +14,7 @@ WARNING: and is scheduled to be removed in GitLab 17.0. Use [ID tokens](../../yaml/_index.md#id_tokens) instead. In this tutorial, we'll show you how to use a GitLab CI/CD job with a JSON web token (JWT) to retrieve temporary credentials from AWS without needing to store secrets. -To do this, you must configure OpenID Connect (OIDC) for ID federation between GitLab and AWS. For background and requirements for integrating GitLab using OIDC, see [Connect to cloud services](../index.md). +To do this, you must configure OpenID Connect (OIDC) for ID federation between GitLab and AWS. For background and requirements for integrating GitLab using OIDC, see [Connect to cloud services](../_index.md). To complete this tutorial: @@ -39,7 +39,7 @@ After you create the identity provider, configure a [web identity role](https:// You can create a [custom trust policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) for the role to limit authorization to a specific group, project, branch, or tag. -For the full list of supported filtering types, see [Connect to cloud services](../index.md#configure-a-conditional-role-with-oidc-claims). +For the full list of supported filtering types, see [Connect to cloud services](../_index.md#configure-a-conditional-role-with-oidc-claims). ```json { @@ -110,7 +110,7 @@ Not authorized to perform sts:AssumeRoleWithWebIdentity It can occur for multiple reasons: - The cloud administrator has not configured the project to use OIDC with GitLab. -- The role is restricted from being run on the branch or tag. See [configure a conditional role](../index.md). +- The role is restricted from being run on the branch or tag. See [configure a conditional role](../_index.md). - `StringEquals` is used instead of `StringLike` when using a wildcard condition. See [related issue](https://gitlab.com/guided-explorations/aws/configure-openid-connect-in-aws/-/issues/2#note_852901934). ### `Could not connect to openid configuration of provider` error diff --git a/doc/ci/cloud_services/azure/index.md b/doc/ci/cloud_services/azure/_index.md similarity index 99% rename from doc/ci/cloud_services/azure/index.md rename to doc/ci/cloud_services/azure/_index.md index 32e6e4b0ec271..b253c2c9e04fe 100644 --- a/doc/ci/cloud_services/azure/index.md +++ b/doc/ci/cloud_services/azure/_index.md @@ -17,7 +17,7 @@ This tutorial demonstrates how to use a JSON web token (JWT) in a GitLab CI/CD j to retrieve temporary credentials from Azure without needing to store secrets. To get started, configure OpenID Connect (OIDC) for identity federation between GitLab and Azure. -For more information on using OIDC with GitLab, read [Connect to cloud services](../index.md). +For more information on using OIDC with GitLab, read [Connect to cloud services](../_index.md). Prerequisites: @@ -221,7 +221,7 @@ CI/CD variables, from the Azure Portal: 1. Under `Certificates & secrets`, go to `Federated credentials` to review your Azure AD federated identity credentials. -Review [Connect to cloud services](../index.md) for further details. +Review [Connect to cloud services](../_index.md) for further details. ### `Request to External OIDC endpoint failed` message diff --git a/doc/ci/cloud_services/google_cloud/index.md b/doc/ci/cloud_services/google_cloud/_index.md similarity index 98% rename from doc/ci/cloud_services/google_cloud/index.md rename to doc/ci/cloud_services/google_cloud/_index.md index 8de7612caccd4..c59df6d4064d7 100644 --- a/doc/ci/cloud_services/google_cloud/index.md +++ b/doc/ci/cloud_services/google_cloud/_index.md @@ -19,7 +19,7 @@ generates on-demand, short-lived credentials without needing to store any secret To get started, configure OpenID Connect (OIDC) for identity federation between GitLab and Google Cloud. For more information on using OIDC with GitLab, read -[Connect to cloud services](../index.md). +[Connect to cloud services](../_index.md). This tutorial assumes you have a Google Cloud account and a Google Cloud project. Your account must have at least the **Workload Identity Pool Admin** permission @@ -68,7 +68,7 @@ inside the Workload Identity Pool created in the previous step, using the follow - The address must not end in a trailing slash. - **Provider attributes mapping**: Create the following mappings, where `attribute.X` is the name of the attribute to be included as a claim in the Google token, and `assertion.X` - is the value to extract from the [GitLab claim](../index.md#how-it-works): + is the value to extract from the [GitLab claim](../_index.md#how-it-works): | Attribute (on Google) | Assertion (from GitLab) | | --- | --- | diff --git a/doc/ci/components/index.md b/doc/ci/components/_index.md similarity index 98% rename from doc/ci/components/index.md rename to doc/ci/components/_index.md index 892961826490c..04f33b0b89213 100644 --- a/doc/ci/components/index.md +++ b/doc/ci/components/_index.md @@ -575,7 +575,7 @@ To access the CI/CD Catalog and view the published components that are available 1. Select **Explore**. 1. Select **CI/CD Catalog**. -Alternatively, if you are already in the [pipeline editor](../pipeline_editor/index.md) +Alternatively, if you are already in the [pipeline editor](../pipeline_editor/_index.md) in your project, you can select **CI/CD Catalog**. Visibility of components in the CI/CD catalog follows the component source project's @@ -708,14 +708,14 @@ Any existing CI/CD template that you use in projects by using the `include:` syn can be converted to a CI/CD component: 1. Decide if you want the component to be grouped with other components as part of - an existing [component project](index.md#component-project), or [create a new component project](#create-a-component-project). -1. Create a YAML file in the component project according to the [directory structure](index.md#directory-structure). + an existing [component project](#component-project), or [create a new component project](#create-a-component-project). +1. Create a YAML file in the component project according to the [directory structure](#directory-structure). 1. Copy the content of the original template YAML file into the new component YAML file. 1. Refactor the new component's configuration to: - Follow the guidance on [writing a component](#write-a-component). - Improve the configuration, for example by enabling [merge request pipelines](../pipelines/merge_request_pipelines.md) or making it [more efficient](../pipelines/pipeline_efficiency.md). -1. Leverage the `.gitlab-ci.yml` in the components repository to [test changes to the component](index.md#test-the-component). +1. Leverage the `.gitlab-ci.yml` in the components repository to [test changes to the component](#test-the-component). 1. Tag and [release the component](#publish-a-new-release). You can learn more by following a practical example for [migrating the Go CI/CD template to CI/CD component](examples.md#cicd-component-migration-example-go). @@ -741,7 +741,7 @@ To mirror a GitLab.com component in your GitLab Self-Managed instance: for the component project mirror because mirroring repositories does not copy the description. 1. [Set the self-hosted component project as a catalog resource](#set-a-component-project-as-a-catalog-project). 1. Publish [a new release](../../user/project/releases/index.md) in the self-hosted component project by - [running a pipeline](../pipelines/index.md#run-a-pipeline-manually) for a tag (usually the latest tag). + [running a pipeline](../pipelines/_index.md#run-a-pipeline-manually) for a tag (usually the latest tag). ## CI/CD component security best practices diff --git a/doc/ci/components/examples.md b/doc/ci/components/examples.md index 250d5bd7f4794..0711cbac281e1 100644 --- a/doc/ci/components/examples.md +++ b/doc/ci/components/examples.md @@ -11,7 +11,7 @@ DETAILS: ## Test a component -Depending on a component's functionality, [testing the component](index.md#test-the-component) might require additional files in the repository. +Depending on a component's functionality, [testing the component](_index.md#test-the-component) might require additional files in the repository. For example, a component which lints, builds, and tests software in a specific programming language requires actual source code samples. You can have source code examples, configuration files, and similar in the same repository. @@ -19,7 +19,7 @@ For example, the Code Quality CI/CD component's has several [code samples for te ### Example: Test a Rust language CI/CD component -Depending on a component's functionality, [testing the component](index.md#test-the-component) might require additional files in the repository. +Depending on a component's functionality, [testing the component](_index.md#test-the-component) might require additional files in the repository. The following "hello world" example for the Rust programming language uses the `cargo` tool chain for simplicity: @@ -248,7 +248,7 @@ and only migrate the `build` CI/CD job in the first iteration. The CI/CD template migration involves the following steps: 1. Analyze the CI/CD jobs and dependencies, and define migration actions: - - The `image` configuration is global, [needs to be moved into the job definitions](index.md#avoid-using-global-keywords). + - The `image` configuration is global, [needs to be moved into the job definitions](_index.md#avoid-using-global-keywords). - The `format` job runs multiple `go` commands in one job. The `go test` command should be moved into a separate job to increase pipeline efficiency. - The `compile` job runs `go build` and should be renamed to `build`. @@ -259,13 +259,13 @@ The CI/CD template migration involves the following steps: the Docker Hub image tag values. - The `compile` job builds the binaries into a hard-coded target directory `mybinaries`, which can be enhanced with a dynamic [input](../yaml/inputs.md) and default value `mybinaries`. -1. Create a template [directory structure](index.md#directory-structure) for the new component, +1. Create a template [directory structure](_index.md#directory-structure) for the new component, based on one template for each job. - The name of the template should follow the `go` command, for example `format.yml`, `build.yml`, and `test.yml`. - Create a new project, initialize a Git repository, add/commit all changes, set a remote origin and push. Modify the URL for your CI/CD component project path. - - Create additional files as outlined in the guidance to [write a component](index.md#write-a-component): + - Create additional files as outlined in the guidance to [write a component](_index.md#write-a-component): `README.md`, `LICENSE.md`, `.gitlab-ci.yml`, `.gitignore`. The following shell commands initialize the Go component structure: @@ -360,7 +360,7 @@ The CI/CD template migration involves the following steps: ``` 1. In order to test the component, modify the `.gitlab-ci.yml` configuration file, - and add [tests](index.md#test-the-component). + and add [tests](_index.md#test-the-component). - Specify a different value for `golang_version` as input for the `build` job. - Modify the URL for your CI/CD component path. @@ -420,12 +420,12 @@ The CI/CD template migration involves the following steps: └── test.yml ``` -Follow the remaining steps in the [converting a CI/CD template into a component](index.md#convert-a-cicd-template-to-a-component) +Follow the remaining steps in the [converting a CI/CD template into a component](_index.md#convert-a-cicd-template-to-a-component) section to complete the migration: 1. Commit and push the changes, and verify the CI/CD pipeline results. -1. Follow the guidance on [writing a component](index.md#write-a-component) to update the `README.md` and `LICENSE.md` files. -1. [Release the component](index.md#publish-a-new-release) and verify it in the CI/CD catalog. +1. Follow the guidance on [writing a component](_index.md#write-a-component) to update the `README.md` and `LICENSE.md` files. +1. [Release the component](_index.md#publish-a-new-release) and verify it in the CI/CD catalog. 1. Add the CI/CD component into your staging/production environment. The [GitLab-maintained Go component](https://gitlab.com/components/go) provides an example diff --git a/doc/ci/debugging.md b/doc/ci/debugging.md index 7db28feef0020..ecba27ed3c214 100644 --- a/doc/ci/debugging.md +++ b/doc/ci/debugging.md @@ -19,7 +19,7 @@ If you are unable to resolve pipeline issues, you can get help from: If you are having issues with a specific CI/CD feature, see the related troubleshooting section for that feature: -- [Caching](caching/index.md#troubleshooting). +- [Caching](caching/_index.md#troubleshooting). - [CI/CD job tokens](jobs/ci_job_token.md#troubleshooting). - [Container registry](../user/packages/container_registry/troubleshoot_container_registry.md). - [Docker](docker/using_docker_build.md#troubleshooting). @@ -32,7 +32,7 @@ for that feature: - [Merge request pipelines](pipelines/mr_pipeline_troubleshooting.md), [merged results pipelines](pipelines/merged_results_pipelines.md#troubleshooting), and [merge trains](pipelines/merge_trains.md#troubleshooting). -- [Pipeline editor](pipeline_editor/index.md#troubleshooting). +- [Pipeline editor](pipeline_editor/_index.md#troubleshooting). - [Variables](variables/_index.md#troubleshooting). - [YAML `includes` keyword](yaml/includes.md#troubleshooting). - [YAML `script` keyword](yaml/script.md#troubleshooting). @@ -46,12 +46,12 @@ badge and does not start running if any syntax or formatting problems are found. #### Edit `.gitlab-ci.yml` with the pipeline editor -The [pipeline editor](pipeline_editor/index.md) is the recommended editing +The [pipeline editor](pipeline_editor/_index.md) is the recommended editing experience (rather than the single file editor or the Web IDE). It includes: - Code completion suggestions that ensure you are only using accepted keywords. - Automatic syntax highlighting and validation. -- The [CI/CD configuration visualization](pipeline_editor/index.md#visualize-ci-configuration), +- The [CI/CD configuration visualization](pipeline_editor/_index.md#visualize-ci-configuration), a graphical representation of your `.gitlab-ci.yml` file. #### Edit `.gitlab-ci.yml` locally @@ -126,7 +126,7 @@ and check if their values are what you expect. You can define CI/CD variables that are not used in standard pipeline runs, but can be used for debugging on demand. If you add a variable like in the following example, -you can add it during manual runs of the [pipeline](pipelines/index.md#run-a-pipeline-manually) +you can add it during manual runs of the [pipeline](pipelines/_index.md#run-a-pipeline-manually) or [individual job](jobs/job_control.md#run-a-manual-job) to modify the command's behavior. For example: @@ -339,7 +339,7 @@ configuration into more independent [parent-child pipelines](pipelines/pipeline_ Pipeline configuration warnings are shown when you: - [Validate configuration with the CI Lint tool](yaml/lint.md). -- [Manually run a pipeline](pipelines/index.md#run-a-pipeline-manually). +- [Manually run a pipeline](pipelines/_index.md#run-a-pipeline-manually). ### `Job may allow multiple pipelines to run for a single action` warning @@ -420,7 +420,7 @@ likely to hit the default memory limit. To reduce the configuration size, you can: - Check the length of the expanded CI/CD configuration in the pipeline editor's - [Full configuration](pipeline_editor/index.md#view-full-configuration) tab. Look for + [Full configuration](pipeline_editor/_index.md#view-full-configuration) tab. Look for duplicated configuration that can be removed or simplified. - Move long or repeated `script` sections into standalone scripts in the project. - Use [parent and child pipelines](pipelines/downstream_pipelines.md#parent-child-pipelines) to move some @@ -430,7 +430,7 @@ On GitLab Self-Managed, you can [increase the size limits](../administration/ins ### `500` error when editing the `.gitlab-ci.yml` file -A [loop of included configuration files](pipeline_editor/index.md#configuration-validation-currently-not-available-message) +A [loop of included configuration files](pipeline_editor/_index.md#configuration-validation-currently-not-available-message) can cause a `500` error when editing the `.gitlab-ci.yml` file with the [web editor](../user/project/repository/web_editor.md). Ensure that included configuration files do not create a loop of references to each other. diff --git a/doc/ci/docker/index.md b/doc/ci/docker/_index.md similarity index 100% rename from doc/ci/docker/index.md rename to doc/ci/docker/_index.md diff --git a/doc/ci/docker/using_docker_build.md b/doc/ci/docker/using_docker_build.md index 667e1dc35bc99..1310165af7fdc 100644 --- a/doc/ci/docker/using_docker_build.md +++ b/doc/ci/docker/using_docker_build.md @@ -91,7 +91,7 @@ The Docker image includes all of the `docker` tools and can run the job script in context of the image in privileged mode. You should use Docker-in-Docker with TLS enabled, -which is supported by [GitLab.com instance runners](../runners/index.md). +which is supported by [GitLab.com instance runners](../runners/_index.md). You should always pin a specific version of the image, like `docker:24.0.5`. If you use a tag like `docker:latest`, you have no control over which version is used. @@ -815,7 +815,7 @@ You might get an error that says `docker: error during connect: Post https://docker:2376/v1.40/containers/create: dial tcp: lookup docker on x.x.x.x:53: no such host`. This issue can occur when the service's image name -[includes a registry hostname](../services/index.md#available-settings-for-services). For example: +[includes a registry hostname](../services/_index.md#available-settings-for-services). For example: ```yaml default: @@ -824,7 +824,7 @@ default: - registry.hub.docker.com/library/docker:24.0.5-dind ``` -A service's hostname is [derived from the full image name](../services/index.md#accessing-the-services). +A service's hostname is [derived from the full image name](../services/_index.md#accessing-the-services). However, the shorter service hostname `docker` is expected. To allow service resolution and access, add an explicit alias for the service name `docker`: diff --git a/doc/ci/docker/using_docker_images.md b/doc/ci/docker/using_docker_images.md index 075657df55405..518df3a40aa12 100644 --- a/doc/ci/docker/using_docker_images.md +++ b/doc/ci/docker/using_docker_images.md @@ -15,7 +15,7 @@ To run CI/CD jobs in a Docker container, you need to: 1. Register a runner and configure it to use the [Docker executor](https://docs.gitlab.com/runner/executors/docker.html). 1. Specify the container image where you want to run the CI/CD jobs in the `.gitlab-ci.yml` file. -1. Optional. Run other services, like MySQL, in containers. Do this by specifying [services](../services/index.md) +1. Optional. Run other services, like MySQL, in containers. Do this by specifying [services](../services/_index.md) in your `.gitlab-ci.yml` file. ## Register a runner that uses the Docker executor @@ -202,7 +202,7 @@ In the `config.toml` file, you can define: - In the [`[runners.docker]`](https://docs.gitlab.com/runner/configuration/advanced-configuration#the-runnersdocker-section) section, the container image used to run CI/CD jobs - In the [`[[runners.docker.services]]`](https://docs.gitlab.com/runner/configuration/advanced-configuration#the-runnersdockerservices-section) section, - the [services](../services/index.md) container + the [services](../services/_index.md) container ```toml [runners.docker] @@ -494,7 +494,7 @@ secure and streamlined interactions with AWS services, especially for containeri to manage, deploy, and update Docker images on Amazon ECR. This setup helps avoid time consuming, error-prone configurations, and manual credential management. -1. [Authenticate GitLab with AWS](../cloud_deployment/index.md#authenticate-gitlab-with-aws). +1. [Authenticate GitLab with AWS](../cloud_deployment/_index.md#authenticate-gitlab-with-aws). 1. Create a `Dockerfile` with the following content: ```Dockerfile diff --git a/doc/ci/docker/using_kaniko.md b/doc/ci/docker/using_kaniko.md index 7bf05fe49623c..b63d940030d9b 100644 --- a/doc/ci/docker/using_kaniko.md +++ b/doc/ci/docker/using_kaniko.md @@ -145,7 +145,7 @@ The [Least Privilege Container Builds with Kaniko on GitLab](https://www.youtube video is a walkthrough of the [Kaniko Docker Build](https://gitlab.com/guided-explorations/containers/kaniko-docker-build) Guided Exploration project pipeline. It was tested on: -- [GitLab.com instance runners](../runners/index.md) +- [GitLab.com instance runners](../runners/_index.md) - [The Kubernetes runner executor](https://docs.gitlab.com/runner/executors/kubernetes/index.html) The example can be copied to your own group or instance for testing. More details diff --git a/doc/ci/environments/_index.md b/doc/ci/environments/_index.md index 79afcd5b70af6..449d84dd6ca6b 100644 --- a/doc/ci/environments/_index.md +++ b/doc/ci/environments/_index.md @@ -66,7 +66,7 @@ For example: #### Go from source files to public pages -With GitLab [Route Maps](../review_apps/index.md#route-maps), you can go directly +With GitLab [Route Maps](../review_apps/_index.md#route-maps), you can go directly from source files to public pages in the environment set for review apps. ## Types of environments @@ -83,7 +83,7 @@ Dynamic environments: - Are usually created in a CI/CD pipeline and are used by only a single deployment, then either stopped or deleted. - Have dynamic names, usually based on the value of a CI/CD variable. -- Are a feature of [review apps](../review_apps/index.md). +- Are a feature of [review apps](../review_apps/_index.md). An environment has one of three states, depending on whether its [stop job](../yaml/_index.md#environmenton_stop) has run: @@ -239,7 +239,7 @@ Note the following: - If the script that runs in `stop_review` exists only in your repository and therefore can't use `GIT_STRATEGY: none` or `GIT_STRATEGY: empty`, configure [merge request pipelines](../pipelines/merge_request_pipelines.md) for these jobs. This ensures that runners can fetch the repository even after a feature branch is - deleted. For more information, see [Ref Specs for Runners](../pipelines/index.md#ref-specs-for-runners). + deleted. For more information, see [Ref Specs for Runners](../pipelines/_index.md#ref-specs-for-runners). NOTE: For Windows runners, you should use the PowerShell `Add-Content` command to write to `.env` files. @@ -265,7 +265,7 @@ you can use tiers: | `production` | Production, Live | | `staging` | Staging, Model, Demo | | `testing` | Test, QC | -| `development` | Dev, [Review apps](../review_apps/index.md), Trunk | +| `development` | Dev, [Review apps](../review_apps/_index.md), Trunk | | `other` | | By default, GitLab assumes a tier based on [the environment name](../yaml/_index.md#environmentname). @@ -307,7 +307,7 @@ the variable's environment scope to `production` to only allow jobs with an [env of `production` to access the variable. You can also use wildcard matching (`*`) to select a particular environment group, -like all [review apps](../review_apps/index.md) with `review/*`. +like all [review apps](../review_apps/_index.md) with `review/*`. For example, with these four environments: @@ -614,7 +614,7 @@ stop_review_app: To configure multiple **parallel** stop actions on an environment, specify the [`on_stop`](../yaml/_index.md#environmenton_stop) keyword across multiple -[deployment jobs](../jobs/index.md#deployment-jobs) for the same `environment`, as defined in the +[deployment jobs](../jobs/_index.md#deployment-jobs) for the same `environment`, as defined in the `.gitlab-ci.yml` file. When an environment is stopped, the matching `on_stop` actions from only successful deployment jobs are run in parallel, in no particular order. diff --git a/doc/ci/environments/deployment_safety.md b/doc/ci/environments/deployment_safety.md index c9eb57f819b82..9a9e7ba821d57 100644 --- a/doc/ci/environments/deployment_safety.md +++ b/doc/ci/environments/deployment_safety.md @@ -9,7 +9,7 @@ DETAILS: **Tier:** Free, Premium, Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated -[Deployment jobs](../jobs/index.md#deployment-jobs) are a specific kind of CI/CD +[Deployment jobs](../jobs/_index.md#deployment-jobs) are a specific kind of CI/CD job. They can be more sensitive than other jobs in a pipeline, and might need to be treated with extra care. GitLab has several features that help maintain deployment security and stability. @@ -68,14 +68,14 @@ The improved pipeline flow **after** using the resource group: 1. `deploy` job in Pipeline-A finishes. 1. `deploy` job in Pipeline-B starts running. -For more information, see [Resource Group documentation](../resource_groups/index.md). +For more information, see [Resource Group documentation](../resource_groups/_index.md). ## Prevent outdated deployment jobs > - [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/363328) in GitLab 15.5 to prevent outdated job runs. The effective execution order of pipeline jobs can vary from run to run, which -could cause undesired behavior. For example, a [deployment job](../jobs/index.md#deployment-jobs) +could cause undesired behavior. For example, a [deployment job](../jobs/_index.md#deployment-jobs) in a newer pipeline could finish before a deployment job in an older pipeline. This creates a race condition where the older deployment finishes later, overwriting the "newer" deployment. @@ -149,7 +149,7 @@ secrets aren't exposed unintentionally. You can also define production secrets o This prevents other users with the Maintainer role from reading the secrets and makes sure that the runner only runs on protected branches. -For more information, see [pipeline security](../pipelines/index.md#pipeline-security-on-protected-branches). +For more information, see [pipeline security](../pipelines/_index.md#pipeline-security-on-protected-branches). ## Separate project for deployments diff --git a/doc/ci/environments/deployments.md b/doc/ci/environments/deployments.md index 11d13c51147c5..c107d2dd54883 100644 --- a/doc/ci/environments/deployments.md +++ b/doc/ci/environments/deployments.md @@ -114,7 +114,7 @@ It points to the commit you're rolling back to. For the rollback to succeed, the deployment process must be defined in the job's `script`. -Only the [deployment jobs](../jobs/index.md#deployment-jobs) are run. +Only the [deployment jobs](../jobs/_index.md#deployment-jobs) are run. In cases where a previous job generates artifacts that must be regenerated on deploy, you must manually run the necessary jobs from the pipelines page. For example, if you use Terraform and your `plan` and `apply` commands are separated @@ -143,7 +143,7 @@ In this case, see [job retries for rollback deployments](deployment_safety.md#jo - [Environments](_index.md) - [Downstream pipelines for deployments](../pipelines/downstream_pipelines.md#downstream-pipelines-for-deployments) - [Deploy to multiple environments with GitLab CI/CD (blog post)](https://about.gitlab.com/blog/2021/02/05/ci-deployment-and-environments/) -- [Review apps](../review_apps/index.md) +- [Review apps](../review_apps/_index.md) - [Track deployments of an external deployment tool](external_deployment_tools.md) ## Troubleshooting diff --git a/doc/ci/examples/index.md b/doc/ci/examples/_index.md similarity index 99% rename from doc/ci/examples/index.md rename to doc/ci/examples/_index.md index 3155d7a475a04..a1e088cf343ee 100644 --- a/doc/ci/examples/index.md +++ b/doc/ci/examples/_index.md @@ -10,7 +10,7 @@ DETAILS: **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated This page contains links to a variety of examples that can help you understand how to -implement [GitLab CI/CD](../index.md) for your specific use case. +implement [GitLab CI/CD](../_index.md) for your specific use case. Examples are available in several forms. As a collection of: @@ -25,7 +25,7 @@ The following table lists examples with step-by-step tutorials that are containe | Use case | Resource | |-------------------------------|----------| -| Deployment with Dpl | [Using `dpl` as deployment tool](deployment/index.md). | +| Deployment with Dpl | [Using `dpl` as deployment tool](deployment/_index.md). | | GitLab Pages | See the [GitLab Pages](../../user/project/pages/index.md) documentation for a complete example of deploying a static site. | | Multi project pipeline | [Build, test deploy using multi project pipeline](https://gitlab.com/gitlab-examples/upstream-project). | | npm with semantic-release | [Publish npm packages to the GitLab package registry using semantic-release](semantic-release.md). | diff --git a/doc/ci/examples/deployment/index.md b/doc/ci/examples/deployment/_index.md similarity index 100% rename from doc/ci/examples/deployment/index.md rename to doc/ci/examples/deployment/_index.md diff --git a/doc/ci/examples/deployment/composer-npm-deploy.md b/doc/ci/examples/deployment/composer-npm-deploy.md index 72e7900a77e5f..f7ce61f42134a 100644 --- a/doc/ci/examples/deployment/composer-npm-deploy.md +++ b/doc/ci/examples/deployment/composer-npm-deploy.md @@ -9,7 +9,7 @@ DETAILS: **Tier:** Free, Premium, Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated -This guide covers the building of dependencies of a PHP project while compiling assets via an npm script using [GitLab CI/CD](../../index.md). +This guide covers the building of dependencies of a PHP project while compiling assets via an npm script using [GitLab CI/CD](../../_index.md). While it is possible to create your own image with custom PHP and Node.js versions, for brevity we use an existing [Docker image](https://hub.docker.com/r/tetraweb/php/) that contains both PHP and Node.js installed. diff --git a/doc/ci/examples/end_to_end_testing_webdriverio/index.md b/doc/ci/examples/end_to_end_testing_webdriverio/_index.md similarity index 92% rename from doc/ci/examples/end_to_end_testing_webdriverio/index.md rename to doc/ci/examples/end_to_end_testing_webdriverio/_index.md index c2779a50e3171..471cb612bd574 100644 --- a/doc/ci/examples/end_to_end_testing_webdriverio/index.md +++ b/doc/ci/examples/end_to_end_testing_webdriverio/_index.md @@ -1,11 +1,11 @@ --- -redirect_to: '../index.md' +redirect_to: '../_index.md' remove_date: '2025-04-27' --- <!-- markdownlint-disable --> -This document was removed. You can check other [CI/CD examples](../index.md). +This document was removed. You can check other [CI/CD examples](../_index.md). <!-- This redirect file can be deleted after <2025-04-27>. --> <!-- Redirects that point to other docs in the same project expire in three months. --> diff --git a/doc/ci/examples/laravel_with_gitlab_and_envoy/index.md b/doc/ci/examples/laravel_with_gitlab_and_envoy/_index.md similarity index 92% rename from doc/ci/examples/laravel_with_gitlab_and_envoy/index.md rename to doc/ci/examples/laravel_with_gitlab_and_envoy/_index.md index c2779a50e3171..471cb612bd574 100644 --- a/doc/ci/examples/laravel_with_gitlab_and_envoy/index.md +++ b/doc/ci/examples/laravel_with_gitlab_and_envoy/_index.md @@ -1,11 +1,11 @@ --- -redirect_to: '../index.md' +redirect_to: '../_index.md' remove_date: '2025-04-27' --- <!-- markdownlint-disable --> -This document was removed. You can check other [CI/CD examples](../index.md). +This document was removed. You can check other [CI/CD examples](../_index.md). <!-- This redirect file can be deleted after <2025-04-27>. --> <!-- Redirects that point to other docs in the same project expire in three months. --> diff --git a/doc/ci/examples/php.md b/doc/ci/examples/php.md index f51a3ed9ea9e4..a4d486f32acb1 100644 --- a/doc/ci/examples/php.md +++ b/doc/ci/examples/php.md @@ -252,7 +252,7 @@ run. If you're using the Docker executor, you can leverage Docker to link to other containers. With GitLab Runner, this can be achieved by defining a `service`. -This functionality is covered in [the CI services](../services/index.md) +This functionality is covered in [the CI services](../services/_index.md) documentation. ## Testing things locally @@ -272,7 +272,7 @@ gitlab-runner exec shell test:app We have set up an [Example PHP Project](https://gitlab.com/gitlab-examples/php) for your convenience that runs on [GitLab.com](https://gitlab.com) using our publicly available -[instance runners](../runners/index.md). +[instance runners](../runners/_index.md). Want to hack on it? Fork it, commit, and push your changes. Within a few moments the changes are picked by a public runner and the job begins. diff --git a/doc/ci/gitlab_google_cloud_integration/index.md b/doc/ci/gitlab_google_cloud_integration/_index.md similarity index 100% rename from doc/ci/gitlab_google_cloud_integration/index.md rename to doc/ci/gitlab_google_cloud_integration/_index.md diff --git a/doc/ci/interactive_web_terminal/index.md b/doc/ci/interactive_web_terminal/_index.md similarity index 98% rename from doc/ci/interactive_web_terminal/index.md rename to doc/ci/interactive_web_terminal/_index.md index 1666572318bb4..18f82b1b716f2 100644 --- a/doc/ci/interactive_web_terminal/index.md +++ b/doc/ci/interactive_web_terminal/_index.md @@ -17,7 +17,7 @@ is deployed, some [security precautions](../../administration/integration/termin taken to protect the users. NOTE: -[Instance runners on GitLab.com](../runners/index.md) do not +[Instance runners on GitLab.com](../runners/_index.md) do not provide an interactive web terminal. Follow [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/24674) for progress on adding support. For groups and projects hosted on GitLab.com, interactive web diff --git a/doc/ci/jobs/index.md b/doc/ci/jobs/_index.md similarity index 95% rename from doc/ci/jobs/index.md rename to doc/ci/jobs/_index.md index f395071b32aa9..124f74c9c6455 100644 --- a/doc/ci/jobs/index.md +++ b/doc/ci/jobs/_index.md @@ -9,13 +9,13 @@ DETAILS: **Tier:** Free, Premium, Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated -CI/CD jobs are the fundamental elements of a [GitLab CI/CD pipeline](../pipelines/index.md). +CI/CD jobs are the fundamental elements of a [GitLab CI/CD pipeline](../pipelines/_index.md). Jobs are configured in the `.gitlab-ci.yml` file with a list of commands to execute to accomplish tasks like building, testing, or deploying code. Jobs: -- Execute on a [runner](../runners/index.md), for example in a Docker container. +- Execute on a [runner](../runners/_index.md), for example in a Docker container. - Run independently from other jobs. - Have a [job log](job_logs.md) with the full execution log for the job. @@ -26,7 +26,7 @@ of the job's execution, including keywords that: - Group jobs together in collections called [stages](../yaml/_index.md#stages). Stages run in sequence, while all jobs in a stage can run in parallel. - Define [CI/CD variables](../variables/_index.md) for flexible configuration. -- Define [caches](../caching/index.md) to speed up job execution. +- Define [caches](../caching/_index.md) to speed up job execution. - Save files as [artifacts](job_artifacts.md) which can be used by other jobs. ## Add a job to a pipeline @@ -190,8 +190,8 @@ When you access a pipeline, you can see the related jobs for that pipeline. The order of jobs in a pipeline depends on the type of pipeline graph. -- For [full pipeline graphs](../pipelines/index.md#pipeline-details), jobs are sorted by name. -- For [pipeline mini graphs](../pipelines/index.md#pipeline-mini-graphs), jobs are sorted by status, and then by name. +- For [full pipeline graphs](../pipelines/_index.md#pipeline-details), jobs are sorted by name. +- For [pipeline mini graphs](../pipelines/_index.md#pipeline-mini-graphs), jobs are sorted by status, and then by name. The job status order is: 1. failed @@ -233,7 +233,7 @@ You can filter the list by [job status](#view-jobs-in-a-pipeline) and [job name] ### Group similar jobs together in pipeline views -If you have many similar jobs, your [pipeline graph](../pipelines/index.md#pipeline-details) +If you have many similar jobs, your [pipeline graph](../pipelines/_index.md#pipeline-details) becomes long and hard to read. You can automatically group similar jobs together. If the job names are formatted in a certain way, @@ -289,7 +289,7 @@ job names are not removed. When a pipeline fails or is allowed to fail, there are several places where you can find the reason: -- In the [pipeline graph](../pipelines/index.md#pipeline-details), in the pipeline details view. +- In the [pipeline graph](../pipelines/_index.md#pipeline-details), in the pipeline details view. - In the pipeline widgets, in the merge requests and commit pages. - In the job views, in the global and detailed views of a job. diff --git a/doc/ci/jobs/ci_job_token.md b/doc/ci/jobs/ci_job_token.md index d7c90fb6a61ea..cb19cd6ce6ec9 100644 --- a/doc/ci/jobs/ci_job_token.md +++ b/doc/ci/jobs/ci_job_token.md @@ -47,7 +47,7 @@ The CI/CD job token can only access the following features and API endpoints: | [Release links API](../../api/releases/links.md) | | | [Releases API](../../api/releases/_index.md) | `GET` requests are public by default. | | [Repositories API](../../api/repositories.md#generate-changelog-data) | Generates changelog data based on commits in a repository. | -| [Secure files](../secure_files/index.md#use-secure-files-in-cicd-jobs) | The `download-secure-files` tool authenticates with a CI/CD job token by default. | +| [Secure files](../secure_files/_index.md#use-secure-files-in-cicd-jobs) | The `download-secure-files` tool authenticates with a CI/CD job token by default. | | [Terraform plan](../../user/infrastructure/index.md) | | Other API endpoints are not accessible using a job token. There is [a proposal](https://gitlab.com/groups/gitlab-org/-/epics/3559) @@ -62,7 +62,7 @@ GitLab: - Masks the job token in job logs. - Grants permissions to the job token only when the job is running. -You should also configure your [runners](../runners/index.md) to be secure: +You should also configure your [runners](../runners/_index.md) to be secure: - Avoid using Docker `privileged` mode if the machines are re-used. - Avoid using the [`shell` executor](https://docs.gitlab.com/runner/executors/shell.html) when jobs diff --git a/doc/ci/jobs/job_artifacts_troubleshooting.md b/doc/ci/jobs/job_artifacts_troubleshooting.md index a5ea9d43cd698..15a7551b6222c 100644 --- a/doc/ci/jobs/job_artifacts_troubleshooting.md +++ b/doc/ci/jobs/job_artifacts_troubleshooting.md @@ -167,7 +167,7 @@ To toggle feature flags, you must be an administrator. On GitLab SaaS: -- Run the following [ChatOps](../chatops/index.md) command: +- Run the following [ChatOps](../chatops/_index.md) command: ```ruby /chatops run feature set ci_unlock_pipelines_extra_low true diff --git a/doc/ci/jobs/job_logs.md b/doc/ci/jobs/job_logs.md index 594c8ee981e57..7cb7481b2564d 100644 --- a/doc/ci/jobs/job_logs.md +++ b/doc/ci/jobs/job_logs.md @@ -9,7 +9,7 @@ DETAILS: **Tier:** Free, Premium, Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated -A job log displays the full execution history of a [CI/CD job](index.md). +A job log displays the full execution history of a [CI/CD job](_index.md). ## View job logs diff --git a/doc/ci/jobs/job_rules.md b/doc/ci/jobs/job_rules.md index 125426a7538e0..b499173642583 100644 --- a/doc/ci/jobs/job_rules.md +++ b/doc/ci/jobs/job_rules.md @@ -211,9 +211,9 @@ Use the `CI_PIPELINE_SOURCE` variable to control when to add jobs for these pipe | Value | Description | |---------------------------------|-------------| | `api` | For pipelines triggered by the [pipelines API](../../api/pipelines.md#create-a-new-pipeline). | -| `chat` | For pipelines created by using a [GitLab ChatOps](../chatops/index.md) command. | +| `chat` | For pipelines created by using a [GitLab ChatOps](../chatops/_index.md) command. | | `external` | When you use CI services other than GitLab. | -| `external_pull_request_event` | When an [external pull request on GitHub](../ci_cd_for_external_repos/index.md#pipelines-for-external-pull-requests) is created or updated. | +| `external_pull_request_event` | When an [external pull request on GitHub](../ci_cd_for_external_repos/_index.md#pipelines-for-external-pull-requests) is created or updated. | | `merge_request_event` | For pipelines created when a merge request is created or updated. Required to enable [merge request pipelines](../pipelines/merge_request_pipelines.md), [merged results pipelines](../pipelines/merged_results_pipelines.md), and [merge trains](../pipelines/merge_trains.md). | | `ondemand_dast_scan` | For [DAST on-demand scan](../../user/application_security/dast/on-demand_scan.md) pipelines. | | `ondemand_dast_validation` | For [DAST on-demand validation](../../user/application_security/dast/on-demand_scan.md#site-profile-validation) pipelines | @@ -222,7 +222,7 @@ Use the `CI_PIPELINE_SOURCE` variable to control when to add jobs for these pipe | `push` | For pipelines triggered by a Git push event, including for branches and tags. | | `schedule` | For [scheduled pipelines](../pipelines/schedules.md). | | `security_orchestration_policy` | For [security orchestration policy](../../user/application_security/policies/index.md) pipelines. | -| `trigger` | For pipelines created by using a [trigger token](../triggers/index.md#configure-cicd-jobs-to-run-in-triggered-pipelines). | +| `trigger` | For pipelines created by using a [trigger token](../triggers/_index.md#configure-cicd-jobs-to-run-in-triggered-pipelines). | | `web` | For pipelines created by selecting **New pipeline** in the GitLab UI, from the project's **Build > Pipelines** section. | | `webide` | For pipelines created by using the [Web IDE](../../user/project/web_ide/index.md). | diff --git a/doc/ci/jobs/mobile_devops.md b/doc/ci/jobs/mobile_devops.md index 609e1c65d802b..4decc9c2fe18f 100644 --- a/doc/ci/jobs/mobile_devops.md +++ b/doc/ci/jobs/mobile_devops.md @@ -1,11 +1,11 @@ --- -redirect_to: '../mobile_devops/index.md' +redirect_to: '../mobile_devops/_index.md' remove_date: '2025-04-24' --- <!-- markdownlint-disable --> -This document was moved to [another location](../mobile_devops/index.md). +This document was moved to [another location](../mobile_devops/_index.md). <!-- This redirect file can be deleted after <2025-04-24>. --> <!-- Redirects that point to other docs in the same project expire in three months. --> diff --git a/doc/ci/migration/bamboo.md b/doc/ci/migration/bamboo.md index a6dd2773ff7fb..5e81b18d1d0d9 100644 --- a/doc/ci/migration/bamboo.md +++ b/doc/ci/migration/bamboo.md @@ -15,8 +15,8 @@ exported from the Bamboo UI or stored in Spec repositories. ## GitLab CI/CD Primer -If you are new to GitLab CI/CD, use the [Getting started guide](../index.md) to learn -the basic concepts and how to create your first [`.gitlab-ci.yml` file](../quick_start/index.md). +If you are new to GitLab CI/CD, use the [Getting started guide](../_index.md) to learn +the basic concepts and how to create your first [`.gitlab-ci.yml` file](../quick_start/_index.md). If you already have some experience using GitLab CI/CD, you can review [CI/CD YAML syntax reference](../yaml/_index.md) to see the full list of available keywords. @@ -45,7 +45,7 @@ remote agents running external to the server. GitLab uses a similar concept to agents called [runners](https://docs.gitlab.com/runner/) which use [executors](https://docs.gitlab.com/runner/executors/) to run builds. -Examples of executors are shell, Docker, or Kubernetes. You can choose to use [GitLab.com runners](../runners/index.md) +Examples of executors are shell, Docker, or Kubernetes. You can choose to use [GitLab.com runners](../runners/_index.md) or deploy your own [self-managed runners](https://docs.gitlab.com/runner/install/index.html). ### Workflow @@ -85,7 +85,7 @@ Alternatively, [Auto DevOps](../../topics/autodevops/_index.md) can automaticall test, and deploy your application without a manually configured `.gitlab-ci.yml` file. GitLab CI/CD configuration can be organized into templates that are reusable across projects. -GitLab also provides pre-built [templates](../examples/index.md#cicd-templates) +GitLab also provides pre-built [templates](../examples/_index.md#cicd-templates) that help you get started quickly and avoid re-inventing the wheel. ### Configuration @@ -389,7 +389,7 @@ In both GitLab and Bamboo, jobs in the same stage run in parallel, except where that needs to be met before a job runs. The number of jobs that can run in Bamboo depends on availability of Bamboo agents -and Bamboo license Size. With [GitLab CI/CD](../jobs/index.md), the number of parallel +and Bamboo license Size. With [GitLab CI/CD](../jobs/_index.md), the number of parallel jobs depends on the number of runners integrated with the GitLab instance and the concurrency set in the runners. @@ -441,7 +441,7 @@ job2: ``` With GitLab, you can use [CI/CD templates](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/lib/gitlab/ci/templates) -and [CI/CD components](../components/index.md) to compose your pipelines without the need to write +and [CI/CD components](../components/_index.md) to compose your pipelines without the need to write everything yourself. #### Conditionals @@ -588,7 +588,7 @@ In Bamboo, [Git caches](https://confluence.atlassian.com/bamkb/how-stored-git-ca can be used to speed up builds. Git caches are configured in Bamboo administration settings and are stored either on the Bamboo server or remote agents. -GitLab supports both Git Caches and Job cache. [Caches](../caching/index.md) are defined per job +GitLab supports both Git Caches and Job cache. [Caches](../caching/_index.md) are defined per job using the `cache` keyword. For example, in a GitLab CI/CD `.gitlab-ci.yml` file: @@ -643,7 +643,7 @@ Production: - ./.ci/deploy_prod.sh ``` -In GitLab CI/CD, You can create a [deployment job](../jobs/index.md#deployment-jobs) +In GitLab CI/CD, You can create a [deployment job](../jobs/_index.md#deployment-jobs) that deploys to an [environment](../environments/_index.md) or creates a [release](../../user/project/releases/index.md). For example, in a GitLab CI/CD `.gitlab-ci.yml` file: @@ -752,14 +752,14 @@ the following questions in preparation: Before doing any migration work, you should first: 1. Get familiar with GitLab. - - Read about the [key GitLab CI/CD features](../index.md). - - Follow tutorials to create [your first GitLab pipeline](../quick_start/index.md) + - Read about the [key GitLab CI/CD features](../_index.md). + - Follow tutorials to create [your first GitLab pipeline](../quick_start/_index.md) and [more complex pipelines](../quick_start/tutorial.md) that build, test, and deploy a static site. - Review the [CI/CD YAML syntax reference](../yaml/_index.md). 1. Set up and configure GitLab. 1. Test your GitLab instance. - - Ensure [runners](../runners/index.md) are available, either by using shared GitLab.com runners or installing new runners. + - Ensure [runners](../runners/_index.md) are available, either by using shared GitLab.com runners or installing new runners. #### Migration Steps @@ -770,7 +770,7 @@ Before doing any migration work, you should first: 1. Create a `.gitlab-ci.yml` file in each project. 1. Export your Bamboo Projects/Plans as YAML Spec 1. Migrate Bamboo YAML Spec configuration to GitLab CI/CD jobs and configure them to show results directly in merge requests. -1. Migrate deployment jobs by using [cloud deployment templates](../cloud_deployment/index.md), +1. Migrate deployment jobs by using [cloud deployment templates](../cloud_deployment/_index.md), [environments](../environments/_index.md), and the [GitLab agent for Kubernetes](../../user/clusters/agent/_index.md). 1. Check if any CI/CD configuration can be reused across different projects, then create and share CI/CD templates. diff --git a/doc/ci/migration/circleci.md b/doc/ci/migration/circleci.md index 909e8b7ea507b..9ad8506f0535d 100644 --- a/doc/ci/migration/circleci.md +++ b/doc/ci/migration/circleci.md @@ -9,12 +9,12 @@ DETAILS: **Tier:** Free, Premium, Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated -If you are currently using CircleCI, you can migrate your CI/CD pipelines to [GitLab CI/CD](../index.md), +If you are currently using CircleCI, you can migrate your CI/CD pipelines to [GitLab CI/CD](../_index.md), and start making use of all its powerful features. We have collected several resources that you may find useful before starting to migrate. -The [Quick Start Guide](../quick_start/index.md) is a good overview of how GitLab CI/CD works. You may also be interested in [Auto DevOps](../../topics/autodevops/_index.md) which can be used to build, test, and deploy your applications with little to no configuration needed at all. +The [Quick Start Guide](../quick_start/_index.md) is a good overview of how GitLab CI/CD works. You may also be interested in [Auto DevOps](../../topics/autodevops/_index.md) which can be used to build, test, and deploy your applications with little to no configuration needed at all. For advanced CI/CD teams, [custom project templates](../../administration/custom_project_templates.md) can enable the reuse of pipeline configurations. @@ -26,7 +26,7 @@ CircleCI's `config.yml` configuration file defines scripts, jobs, and workflows ### Jobs -In CircleCI, jobs are a collection of steps to perform a specific task. In GitLab, [jobs](../jobs/index.md) are also a fundamental element in the configuration file. The `checkout` keyword is not necessary in GitLab CI/CD as the repository is automatically fetched. +In CircleCI, jobs are a collection of steps to perform a specific task. In GitLab, [jobs](../jobs/_index.md) are also a fundamental element in the configuration file. The `checkout` keyword is not necessary in GitLab CI/CD as the repository is automatically fetched. CircleCI example job definition: @@ -228,7 +228,7 @@ deploy: ### Caching -GitLab provides a caching mechanism to speed up build times for your jobs by reusing previously downloaded dependencies. It's important to know the different between [cache and artifacts](../caching/index.md#how-cache-is-different-from-artifacts) to make the best use of these features. +GitLab provides a caching mechanism to speed up build times for your jobs by reusing previously downloaded dependencies. It's important to know the different between [cache and artifacts](../caching/_index.md#how-cache-is-different-from-artifacts) to make the best use of these features. CircleCI example of a job using a cache: diff --git a/doc/ci/migration/github_actions.md b/doc/ci/migration/github_actions.md index 1d3645c6b59dd..be38915c8eb02 100644 --- a/doc/ci/migration/github_actions.md +++ b/doc/ci/migration/github_actions.md @@ -463,7 +463,7 @@ deploy_staging: #### Runners Runners are the services that execute jobs. If you are using GitLab.com, you can use the -[instance runner fleet](../runners/index.md) to run jobs without provisioning your own self-managed runners. +[instance runner fleet](../runners/_index.md) to run jobs without provisioning your own self-managed runners. Some key details about runners: @@ -561,7 +561,7 @@ use_cat: #### Caching -A [cache](../caching/index.md) is created when a job downloads one or more files and +A [cache](../caching/_index.md) is created when a job downloads one or more files and saves them for faster access in the future. Subsequent jobs that use the same cache don't have to download the files again, so they execute more quickly. The cache is stored on the runner and uploaded to S3 if [distributed cache is enabled](https://docs.gitlab.com/runner/configuration/autoscale.html#distributed-runners-caching). @@ -674,12 +674,12 @@ Before starting a migration you should create a [migration plan](plan_a_migratio Before doing any migration work, you should first: 1. Get familiar with GitLab. - - Read about the [key GitLab CI/CD features](../index.md). - - Follow tutorials to create [your first GitLab pipeline](../quick_start/index.md) and [more complex pipelines](../quick_start/tutorial.md) that build, test, and deploys a static site. + - Read about the [key GitLab CI/CD features](../_index.md). + - Follow tutorials to create [your first GitLab pipeline](../quick_start/_index.md) and [more complex pipelines](../quick_start/tutorial.md) that build, test, and deploys a static site. - Review the [CI/CD YAML syntax reference](../yaml/_index.md). 1. Set up and configure GitLab. 1. Test your GitLab instance. - - Ensure [runners](../runners/index.md) are available, either by using shared GitLab.com runners or installing new runners. + - Ensure [runners](../runners/_index.md) are available, either by using shared GitLab.com runners or installing new runners. ### Migration Steps @@ -689,7 +689,7 @@ Before doing any migration work, you should first: - You can [import repositories by URL](../../user/project/import/repo_by_url.md). 1. Create a `.gitlab-ci.yml` in each project. 1. Migrate GitHub Actions jobs to GitLab CI/CD jobs and configure them to show results directly in merge requests. -1. Migrate deployment jobs by using [cloud deployment templates](../cloud_deployment/index.md), +1. Migrate deployment jobs by using [cloud deployment templates](../cloud_deployment/_index.md), [environments](../environments/_index.md), and the [GitLab agent for Kubernetes](../../user/clusters/agent/_index.md). 1. Check if any CI/CD configuration can be reused across different projects, then create and share [CI/CD templates](../../development/cicd/templates.md) diff --git a/doc/ci/migration/jenkins.md b/doc/ci/migration/jenkins.md index f992c46174bfd..d284a60d69f4c 100644 --- a/doc/ci/migration/jenkins.md +++ b/doc/ci/migration/jenkins.md @@ -477,11 +477,11 @@ deploy_staging: #### Runners Like Jenkins agents, GitLab runners are the hosts that run jobs. If you are using GitLab.com, -you can use the [instance runner fleet](../runners/index.md) to run jobs without provisioning +you can use the [instance runner fleet](../runners/_index.md) to run jobs without provisioning your own runners. To convert a Jenkins agent for use with GitLab CI/CD, uninstall the agent and then -[install and register a runner](../runners/index.md). Runners do not require much overhead, +[install and register a runner](../runners/_index.md). Runners do not require much overhead, so you might be able to use similar provisioning as the Jenkins agents you were using. Some key details about runners: @@ -596,7 +596,7 @@ use_cat: #### Caching -A [cache](../caching/index.md) is created when a job downloads one or more files and +A [cache](../caching/_index.md) is created when a job downloads one or more files and saves them for faster access in the future. Subsequent jobs that use the same cache don't have to download the files again, so they execute more quickly. The cache is stored on the runner and uploaded to S3 if [distributed cache is enabled](https://docs.gitlab.com/runner/configuration/autoscale.html#distributed-runners-caching). @@ -629,7 +629,7 @@ in GitLab with keywords and features that offer similar functionality. For examp | [Mailer](https://plugins.jenkins.io/mailer/) | [Notification emails](../../user/profile/notifications.md) | | [Parameterized Trigger Plugin](https://plugins.jenkins.io/parameterized-trigger/) | [`trigger` keyword](../yaml/_index.md#trigger) and [downstream pipelines](../pipelines/downstream_pipelines.md) | | [Role-based Authorization Strategy](https://plugins.jenkins.io/role-strategy/) | GitLab [permissions and roles](../../user/permissions.md) | -| [Timestamper](https://plugins.jenkins.io/timestamper/) | [Job](../jobs/index.md) logs are time stamped by default | +| [Timestamper](https://plugins.jenkins.io/timestamper/) | [Job](../jobs/_index.md) logs are time stamped by default | ### Security Scanning features @@ -704,12 +704,12 @@ Before starting a migration you should create a [migration plan](plan_a_migratio Before doing any migration work, you should first: 1. Get familiar with GitLab. - - Read about the [key GitLab CI/CD features](../index.md). - - Follow tutorials to create [your first GitLab pipeline](../quick_start/index.md) and [more complex pipelines](../quick_start/tutorial.md) that build, test, and deploys a static site. + - Read about the [key GitLab CI/CD features](../_index.md). + - Follow tutorials to create [your first GitLab pipeline](../quick_start/_index.md) and [more complex pipelines](../quick_start/tutorial.md) that build, test, and deploys a static site. - Review the [CI/CD YAML syntax reference](../yaml/_index.md). 1. Set up and configure GitLab. 1. Test your GitLab instance. - - Ensure [runners](../runners/index.md) are available, either by using shared GitLab.com runners or installing new runners. + - Ensure [runners](../runners/_index.md) are available, either by using shared GitLab.com runners or installing new runners. ### Migration Steps @@ -719,7 +719,7 @@ Before doing any migration work, you should first: - You can [import repositories by URL](../../user/project/import/repo_by_url.md). 1. Create a `.gitlab-ci.yml` file in each project. 1. Migrate Jenkins configuration to GitLab CI/CD jobs and configure them to show results directly in merge requests. -1. Migrate deployment jobs by using [cloud deployment templates](../cloud_deployment/index.md), +1. Migrate deployment jobs by using [cloud deployment templates](../cloud_deployment/_index.md), [environments](../environments/_index.md), and the [GitLab agent for Kubernetes](../../user/clusters/agent/_index.md). 1. Check if any CI/CD configuration can be reused across different projects, then create and share CI/CD templates. diff --git a/doc/ci/migration/teamcity.md b/doc/ci/migration/teamcity.md index 0389e5851ac5b..f73d6b198ac2f 100644 --- a/doc/ci/migration/teamcity.md +++ b/doc/ci/migration/teamcity.md @@ -22,7 +22,7 @@ GitLab CI/CD and TeamCity are CI/CD tools with some similarities. Both GitLab an Additionally, there are some important differences between the two: - GitLab CI/CD pipelines are configured in a YAML format configuration file, which - you can edit manually or with the [pipeline editor](../pipeline_editor/index.md). + you can edit manually or with the [pipeline editor](../pipeline_editor/_index.md). TeamCity pipelines can be configured from the UI or using Kotlin DSL. - GitLab is a DevSecOps platform with built-in SCM, container registry, security scanning, and more. TeamCity requires separate solutions for these capabilities, usually provided by integrations. @@ -141,7 +141,7 @@ run_unit_tests: [TeamCity Triggers](https://www.jetbrains.com/help/teamcity/configuring-build-triggers.html) define conditions that initiate a build, including VCS changes, scheduled triggers, or builds triggered by other builds. -In GitLab CI/CD, pipelines can be triggered automatically for various events, like changes to branches or merge requests and new tags. Pipelines can also be triggered manually, using an [API](../triggers/index.md), or with [scheduled pipelines](../pipelines/schedules.md). For more information, see [CI/CD pipelines](../pipelines/index.md). +In GitLab CI/CD, pipelines can be triggered automatically for various events, like changes to branches or merge requests and new tags. Pipelines can also be triggered manually, using an [API](../triggers/_index.md), or with [scheduled pipelines](../pipelines/schedules.md). For more information, see [CI/CD pipelines](../pipelines/_index.md). ### Variables @@ -215,7 +215,7 @@ use_cat: The equivalent of [TeamCity agents](https://www.jetbrains.com/help/teamcity/build-agent.html) in GitLab are Runners. In GitLab CI/CD, runners are the services that execute jobs. If you are using GitLab.com, you can use the -[instance runner fleet](../runners/index.md) to run jobs without provisioning your own self-managed runners. +[instance runner fleet](../runners/_index.md) to run jobs without provisioning your own self-managed runners. Some key details about runners: @@ -264,12 +264,12 @@ For a migration from TeamCity, ask yourself the following questions in preparati Before doing any migration work, you should first: 1. Get familiar with GitLab. - - Read about the [key GitLab CI/CD features](../index.md). - - Follow tutorials to create [your first GitLab pipeline](../quick_start/index.md) and [more complex pipelines](../quick_start/tutorial.md) that build, test, and deploys a static site. + - Read about the [key GitLab CI/CD features](../_index.md). + - Follow tutorials to create [your first GitLab pipeline](../quick_start/_index.md) and [more complex pipelines](../quick_start/tutorial.md) that build, test, and deploys a static site. - Review the [CI/CD YAML syntax reference](../yaml/_index.md). 1. Set up and configure GitLab. 1. Test your GitLab instance. - - Ensure [runners](../runners/index.md) are available, either by using shared GitLab.com runners or installing new runners. + - Ensure [runners](../runners/_index.md) are available, either by using shared GitLab.com runners or installing new runners. ### Migration steps @@ -279,10 +279,10 @@ Before doing any migration work, you should first: - You can [import repositories by URL](../../user/project/import/repo_by_url.md). 1. Create a `.gitlab-ci.yml` file in each project. 1. Migrate TeamCity configuration to GitLab CI/CD jobs and configure them to show results directly in merge requests. -1. Migrate deployment jobs by using [cloud deployment templates](../cloud_deployment/index.md), +1. Migrate deployment jobs by using [cloud deployment templates](../cloud_deployment/_index.md), [environments](../environments/_index.md), and the [GitLab agent for Kubernetes](../../user/clusters/agent/_index.md). 1. Check if any CI/CD configuration can be reused across different projects, then create - and share [CI/CD templates](../examples/index.md#cicd-templates) or [CI/CD components](../components/index.md). + and share [CI/CD templates](../examples/_index.md#cicd-templates) or [CI/CD components](../components/_index.md). 1. See [pipeline efficiency](../pipelines/pipeline_efficiency.md) to learn how to make your GitLab CI/CD pipelines faster and more efficient. diff --git a/doc/ci/mobile_devops/index.md b/doc/ci/mobile_devops/_index.md similarity index 93% rename from doc/ci/mobile_devops/index.md rename to doc/ci/mobile_devops/_index.md index 8b505f19f7e34..5512caf3fbd63 100644 --- a/doc/ci/mobile_devops/index.md +++ b/doc/ci/mobile_devops/_index.md @@ -20,7 +20,7 @@ GitLab Mobile DevOps integrates key mobile development capabilities into the Git ## Build environments -For complete control over the build environment, you can use [GitLab-hosted runners](../runners/index.md), +For complete control over the build environment, you can use [GitLab-hosted runners](../runners/_index.md), or set up [self-managed runners](https://docs.gitlab.com/runner/#use-self-managed-runners). ## Code signing @@ -29,7 +29,7 @@ All Android and iOS apps must be securely signed before being distributed throug the various app stores. Signing ensures that applications haven't been tampered with before reaching a user's device. -With [project-level secure files](../secure_files/index.md), you can store the following +With [project-level secure files](../secure_files/_index.md), you can store the following in GitLab, so that they can be used to securely sign apps in CI/CD builds: - Keystores diff --git a/doc/ci/mobile_devops/mobile_devops_tutorial_android.md b/doc/ci/mobile_devops/mobile_devops_tutorial_android.md index 6c6bda4dc7b84..9e105861f94c7 100644 --- a/doc/ci/mobile_devops/mobile_devops_tutorial_android.md +++ b/doc/ci/mobile_devops/mobile_devops_tutorial_android.md @@ -25,7 +25,7 @@ Before you start this tutorial, make sure you have: ## Set up your build environment -Use [GitLab-hosted runners](../runners/index.md), +Use [GitLab-hosted runners](../runners/_index.md), or set up [self-managed runners](https://docs.gitlab.com/runner/#use-self-managed-runners) for complete control over the build environment. @@ -64,7 +64,7 @@ To set up code signing for Android: storePassword=password ``` - 1. Upload both files as [Secure Files](../secure_files/index.md) in your project settings. + 1. Upload both files as [Secure Files](../secure_files/_index.md) in your project settings. 1. Add both files to your `.gitignore` file so they aren't committed to version control. 1. Configure Gradle to use the newly created keystore. In the app's `build.gradle` file: diff --git a/doc/ci/mobile_devops/mobile_devops_tutorial_ios.md b/doc/ci/mobile_devops/mobile_devops_tutorial_ios.md index a186f5dc19d50..4ad4d9a835e0a 100644 --- a/doc/ci/mobile_devops/mobile_devops_tutorial_ios.md +++ b/doc/ci/mobile_devops/mobile_devops_tutorial_ios.md @@ -25,7 +25,7 @@ Before you start this tutorial, make sure you have: ## Set up your build environment -Use [GitLab-hosted runners](../runners/index.md), +Use [GitLab-hosted runners](../runners/_index.md), or set up [self-managed runners](https://docs.gitlab.com/runner/#use-self-managed-runners) for complete control over the build environment. diff --git a/doc/ci/pipeline_editor/index.md b/doc/ci/pipeline_editor/_index.md similarity index 100% rename from doc/ci/pipeline_editor/index.md rename to doc/ci/pipeline_editor/_index.md diff --git a/doc/ci/pipelines/index.md b/doc/ci/pipelines/_index.md similarity index 98% rename from doc/ci/pipelines/index.md rename to doc/ci/pipelines/_index.md index 5efe45727cb99..ecd5b30da1fa5 100644 --- a/doc/ci/pipelines/index.md +++ b/doc/ci/pipelines/_index.md @@ -19,9 +19,9 @@ Pipelines are composed of: - [Global YAML keywords](../yaml/_index.md#global-keywords) that control the overall behavior of the project's pipelines. -- [Jobs](../jobs/index.md) that execute commands to accomplish a task. For example, +- [Jobs](../jobs/_index.md) that execute commands to accomplish a task. For example, a job could compile, test, or deploy code. Jobs run independently from each other, - and are executed by [runners](../runners/index.md). + and are executed by [runners](../runners/_index.md). - Stages, which define how to group jobs together. Stages run in sequence, while the jobs in a stage run in parallel. For example, an early stage could have jobs that lint and compile code, while later stages could have jobs that test and deploy code. If all jobs in a stage succeed, @@ -36,7 +36,7 @@ A small pipeline could consist of three stages, executed in the following order: - A `deploy` stage, with a job called `deploy-to-production`. This job would only run if both jobs in the `test` stage started and completed successfully. -To get started with your first pipeline, see [Create and run your first GitLab CI/CD pipeline](../quick_start/index.md). +To get started with your first pipeline, see [Create and run your first GitLab CI/CD pipeline](../quick_start/_index.md). ## Types of pipelines @@ -62,7 +62,7 @@ Pipelines can be configured in many different ways: Pipelines and their component jobs and stages are defined with [YAML keywords](../yaml/_index.md) in the CI/CD pipeline configuration file for each project. When editing CI/CD configuration -in GitLab, you should use the [pipeline editor](../pipeline_editor/index.md). +in GitLab, you should use the [pipeline editor](../pipeline_editor/_index.md). You can also configure specific aspects of your pipelines through the GitLab UI: @@ -273,7 +273,7 @@ DETAILS: WARNING: This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/501460) in GitLab 17.6 -and is planned for removal in 19.0. Use [CI/CD jobs with pipeline trigger tokens](../triggers/index.md#use-a-cicd-job) instead. +and is planned for removal in 19.0. Use [CI/CD jobs with pipeline trigger tokens](../triggers/_index.md#use-a-cicd-job) instead. This is a breaking change. You can set up your project to automatically trigger a pipeline based on tags in a different project. @@ -466,7 +466,7 @@ GitLab provides API endpoints to: - Perform basic functions. For more information, see [Pipelines API](../../api/pipelines.md). - Maintain pipeline schedules. For more information, see [Pipeline schedules API](../../api/pipeline_schedules.md). - Trigger pipeline runs. For more information, see: - - [Triggering pipelines through the API](../triggers/index.md). + - [Triggering pipelines through the API](../triggers/_index.md). - [Pipeline triggers API](../../api/pipeline_triggers.md). ## Ref specs for runners diff --git a/doc/ci/pipelines/compute_minutes.md b/doc/ci/pipelines/compute_minutes.md index 9e405dbac216d..8fc844bc5b258 100644 --- a/doc/ci/pipelines/compute_minutes.md +++ b/doc/ci/pipelines/compute_minutes.md @@ -207,7 +207,7 @@ use to reduce your usage: - If you are using project mirrors, ensure that [pipelines for mirror updates](../../user/project/repository/mirror/pull.md#trigger-pipelines-for-mirror-updates) is disabled. - Reduce the frequency of [scheduled pipelines](schedules.md). -- [Skip pipelines](index.md#skip-a-pipeline) when not needed. +- [Skip pipelines](_index.md#skip-a-pipeline) when not needed. - Use [interruptible](../yaml/_index.md#interruptible) jobs which can be auto-canceled if a new pipeline starts. - If a job doesn't have to run in every pipeline, use [`rules`](../jobs/job_control.md) diff --git a/doc/ci/pipelines/downstream_pipelines.md b/doc/ci/pipelines/downstream_pipelines.md index 553729448b631..af37b109c5367 100644 --- a/doc/ci/pipelines/downstream_pipelines.md +++ b/doc/ci/pipelines/downstream_pipelines.md @@ -312,7 +312,7 @@ trigger_pipeline: ## View a downstream pipeline -In the [pipeline details page](index.md#pipeline-details), downstream pipelines display +In the [pipeline details page](_index.md#pipeline-details), downstream pipelines display as a list of cards on the right of the graph. From this view, you can: - Select a trigger job to see the triggered downstream pipeline's jobs. @@ -436,9 +436,9 @@ trigger_job: > - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/422282) from GitLab Premium to GitLab Free in 16.8. After you trigger a multi-project pipeline, the downstream pipeline displays -to the right of the [pipeline graph](index.md#view-pipelines). +to the right of the [pipeline graph](_index.md#view-pipelines). -In [pipeline mini graphs](index.md#pipeline-mini-graphs), the downstream pipeline +In [pipeline mini graphs](_index.md#pipeline-mini-graphs), the downstream pipeline displays to the right of the mini graph. ## Fetch artifacts from an upstream pipeline diff --git a/doc/ci/pipelines/downstream_pipelines_troubleshooting.md b/doc/ci/pipelines/downstream_pipelines_troubleshooting.md index 91750687b7387..70df2d50e44c5 100644 --- a/doc/ci/pipelines/downstream_pipelines_troubleshooting.md +++ b/doc/ci/pipelines/downstream_pipelines_troubleshooting.md @@ -13,7 +13,7 @@ With multi-project pipelines, the trigger job fails and does not create the down - The user that creates the upstream pipeline does not have [permission](../../user/permissions.md) to create pipelines in the downstream project. - The downstream pipeline targets a protected branch and the user does not have permission - to run pipelines against the protected branch. See [pipeline security for protected branches](index.md#pipeline-security-on-protected-branches) + to run pipelines against the protected branch. See [pipeline security for protected branches](_index.md#pipeline-security-on-protected-branches) for more information. To identify which user is having permission issues in the downstream project, you can check the trigger job using the following command in the [Rails console](../../administration/operations/rails_console.md) and look at the `user_id` attribute. diff --git a/doc/ci/pipelines/merge_request_pipelines.md b/doc/ci/pipelines/merge_request_pipelines.md index 00450d69c1aed..b12c3ab9d32ac 100644 --- a/doc/ci/pipelines/merge_request_pipelines.md +++ b/doc/ci/pipelines/merge_request_pipelines.md @@ -38,7 +38,7 @@ To use merge request pipelines: [configured with jobs that run in merge request pipelines](#add-jobs-to-merge-request-pipelines). - You must have at least the Developer role for the source project to run a merge request pipeline. -- Your repository must be a GitLab repository, not an [external repository](../ci_cd_for_external_repos/index.md). +- Your repository must be a GitLab repository, not an [external repository](../ci_cd_for_external_repos/_index.md). ## Add jobs to merge request pipelines diff --git a/doc/ci/pipelines/merge_trains.md b/doc/ci/pipelines/merge_trains.md index af13f8819f478..cf92c841c0789 100644 --- a/doc/ci/pipelines/merge_trains.md +++ b/doc/ci/pipelines/merge_trains.md @@ -93,7 +93,7 @@ are canceled. Prerequisites: - You must have the Maintainer role. -- Your repository must be a GitLab repository, not an [external repository](../ci_cd_for_external_repos/index.md). +- Your repository must be a GitLab repository, not an [external repository](../ci_cd_for_external_repos/_index.md). - Your pipeline must be [configured to use merge request pipelines](merge_request_pipelines.md#prerequisites). Otherwise your merge requests may become stuck in an unresolved state or your pipelines might be dropped. diff --git a/doc/ci/pipelines/merged_results_pipelines.md b/doc/ci/pipelines/merged_results_pipelines.md index c01c2fcda3ad5..f12025acbe7e5 100644 --- a/doc/ci/pipelines/merged_results_pipelines.md +++ b/doc/ci/pipelines/merged_results_pipelines.md @@ -34,7 +34,7 @@ To use merged results pipelines: - Your project's `.gitlab-ci.yml` file must be configured to [run jobs in merge request pipelines](merge_request_pipelines.md#prerequisites). - Your repository must be a GitLab repository, not an - [external repository](../ci_cd_for_external_repos/index.md). + [external repository](../ci_cd_for_external_repos/_index.md). ## Enable merged results pipelines diff --git a/doc/ci/pipelines/mr_pipeline_troubleshooting.md b/doc/ci/pipelines/mr_pipeline_troubleshooting.md index 65c5802bd3cf1..0cc9321f11372 100644 --- a/doc/ci/pipelines/mr_pipeline_troubleshooting.md +++ b/doc/ci/pipelines/mr_pipeline_troubleshooting.md @@ -29,7 +29,7 @@ the other is a failed merge request pipeline. When the configuration syntax is fixed, no further failed pipelines should appear. To find and fix the configuration problem, you can use: -- The [pipeline editor](../pipeline_editor/index.md). +- The [pipeline editor](../pipeline_editor/_index.md). - The [CI lint tool](../yaml/lint.md). ## The merge request's pipeline is marked as failed but the latest pipeline succeeded @@ -86,7 +86,7 @@ This does not happen when a branch pipeline fails. If a merge request pipeline or a merged results pipeline was canceled or failed, you can: - Re-run the entire pipeline by selecting **Run pipeline** in the pipeline tab in the merge request. -- [Retry only the jobs that failed](index.md#view-pipelines). If you re-run the entire pipeline, this is not necessary. +- [Retry only the jobs that failed](_index.md#view-pipelines). If you re-run the entire pipeline, this is not necessary. - Push a new commit to fix the failure. If the merge train pipeline has failed, you can: diff --git a/doc/ci/pipelines/pipeline_efficiency.md b/doc/ci/pipelines/pipeline_efficiency.md index 70225ec65fe80..9fc77409c0d4d 100644 --- a/doc/ci/pipelines/pipeline_efficiency.md +++ b/doc/ci/pipelines/pipeline_efficiency.md @@ -9,7 +9,7 @@ DETAILS: **Tier:** Free, Premium, Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated -[CI/CD Pipelines](index.md) are the fundamental building blocks for [GitLab CI/CD](../index.md). +[CI/CD Pipelines](_index.md) are the fundamental building blocks for [GitLab CI/CD](../_index.md). Making pipelines more efficient helps you save developer time, which: - Speeds up your DevOps processes @@ -21,8 +21,8 @@ and improve their configuration over time through trial and error. A better proc to use pipeline features that improve efficiency right away, and get a faster software development lifecycle earlier. -First ensure you are familiar with [GitLab CI/CD fundamentals](../index.md) -and understand the [quick start guide](../quick_start/index.md). +First ensure you are familiar with [GitLab CI/CD fundamentals](../_index.md) +and understand the [quick start guide](../quick_start/_index.md). ## Identify bottlenecks and common failures @@ -36,7 +36,7 @@ heavily influenced by the: - The ["critical path"](#needs-dependency-visualization), which represents the minimum and maximum pipeline duration. -Additional points to pay attention relate to [GitLab Runners](../runners/index.md): +Additional points to pay attention relate to [GitLab Runners](../runners/_index.md): - Availability of the runners and the resources they are provisioned with. - Build dependencies, their installation time, and storage space requirements. @@ -65,7 +65,7 @@ It's important to understand and document the pipeline workflows, and discuss po actions and changes. Refactoring pipelines may need careful interaction between teams in the DevSecOps lifecycle. -Pipeline analysis can help identify issues with cost efficiency. For example, [runners](../runners/index.md) +Pipeline analysis can help identify issues with cost efficiency. For example, [runners](../runners/_index.md) hosted with a paid cloud service may be provisioned with: - More resources than needed for CI/CD pipelines, wasting money. @@ -73,7 +73,7 @@ hosted with a paid cloud service may be provisioned with: ### Pipeline Insights -The [Pipeline success and duration charts](index.md#pipeline-success-and-duration-charts) +The [Pipeline success and duration charts](_index.md#pipeline-success-and-duration-charts) give information about pipeline runtime and failed job counts. Tests like [unit tests](../testing/unit_test_reports.md), integration tests, end-to-end tests, @@ -90,13 +90,13 @@ provide an example of a complex testing strategy with many components involved. ### `needs` dependency visualization -Viewing the `needs` dependencies in the [full pipeline graph](../pipelines/index.md#group-jobs-by-stage-or-needs-configuration) +Viewing the `needs` dependencies in the [full pipeline graph](../pipelines/_index.md#group-jobs-by-stage-or-needs-configuration) can help analyze the critical path in the pipeline and understand possible blockers. ### Pipeline Monitoring Global pipeline health is a key indicator to monitor along with job and pipeline duration. -[CI/CD analytics](index.md#pipeline-success-and-duration-charts) give a visual +[CI/CD analytics](_index.md#pipeline-success-and-duration-charts) give a visual representation of pipeline health. Instance administrators have access to additional [performance metrics and self-monitoring](../../administration/monitoring/_index.md). @@ -193,8 +193,8 @@ be more efficient, but can also make pipelines harder to understand and analyze. ### Caching -Another optimization method is to [cache](../caching/index.md) dependencies. If your -dependencies change rarely, like [NodeJS `/node_modules`](../caching/index.md#cache-nodejs-dependencies), +Another optimization method is to [cache](../caching/_index.md) dependencies. If your +dependencies change rarely, like [NodeJS `/node_modules`](../caching/_index.md#cache-nodejs-dependencies), caching can make pipeline execution much faster. You can use [`cache:when`](../yaml/_index.md#cachewhen) to cache downloaded dependencies @@ -239,7 +239,7 @@ Methods to reduce Docker image size: to analyze and shrink images. To simplify Docker image management, you can create a dedicated group for managing -[Docker images](../docker/index.md) and test, build and publish them with CI/CD pipelines. +[Docker images](../docker/_index.md) and test, build and publish them with CI/CD pipelines. ## Test, document, and learn diff --git a/doc/ci/pipelines/pipeline_security.md b/doc/ci/pipelines/pipeline_security.md index 86ca40ad98177..53a5d81086ce3 100644 --- a/doc/ci/pipelines/pipeline_security.md +++ b/doc/ci/pipelines/pipeline_security.md @@ -30,7 +30,7 @@ of the GitLab instance. There are a number of providers in this space, including [HashiCorp's Vault](https://www.vaultproject.io), [Azure Key Vault](https://azure.microsoft.com/en-us/products/key-vault), and [Google Cloud Secret Manager](https://cloud.google.com/security/products/secret-manager). -You can use the GitLab native integrations for certain [external secret management providers](../secrets/index.md) to retrieve those secrets in CI/CD pipelines when they are needed. +You can use the GitLab native integrations for certain [external secret management providers](../secrets/_index.md) to retrieve those secrets in CI/CD pipelines when they are needed. ### CI/CD variables diff --git a/doc/ci/pipelines/schedules.md b/doc/ci/pipelines/schedules.md index 2bf8b1bdc5dec..17872df6c9086 100644 --- a/doc/ci/pipelines/schedules.md +++ b/doc/ci/pipelines/schedules.md @@ -9,7 +9,7 @@ DETAILS: **Tier:** Free, Premium, Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated -Use scheduled pipelines to run GitLab CI/CD [pipelines](index.md) at regular intervals. +Use scheduled pipelines to run GitLab CI/CD [pipelines](_index.md) at regular intervals. ## Prerequisites diff --git a/doc/ci/pipelines/settings.md b/doc/ci/pipelines/settings.md index 28e6dbf9f114f..1b5d5ebec8171 100644 --- a/doc/ci/pipelines/settings.md +++ b/doc/ci/pipelines/settings.md @@ -144,7 +144,7 @@ To customize the path: 1. Select **Save changes**. NOTE: -You cannot use your project's [pipeline editor](../pipeline_editor/index.md) to +You cannot use your project's [pipeline editor](../pipeline_editor/_index.md) to edit CI/CD configuration files in other projects or on an external site. ### Custom CI/CD configuration file examples diff --git a/doc/ci/quick_start/index.md b/doc/ci/quick_start/_index.md similarity index 97% rename from doc/ci/quick_start/index.md rename to doc/ci/quick_start/_index.md index 5e19706ed21e0..0a1fbb952f539 100644 --- a/doc/ci/quick_start/index.md +++ b/doc/ci/quick_start/_index.md @@ -11,7 +11,7 @@ DETAILS: This tutorial shows you how to configure and run your first CI/CD pipeline in GitLab. -If you are already familiar with [basic CI/CD concepts](../index.md), you can learn about +If you are already familiar with [basic CI/CD concepts](../_index.md), you can learn about common keywords in [Tutorial: Create a complex pipeline](tutorial.md). ## Prerequisites @@ -144,7 +144,7 @@ Here are some tips to get started working with the `.gitlab-ci.yml` file. For the complete `.gitlab-ci.yml` syntax, see the full [CI/CD YAML syntax reference](../yaml/_index.md). -- Use the [pipeline editor](../pipeline_editor/index.md) to edit your `.gitlab-ci.yml` file. +- Use the [pipeline editor](../pipeline_editor/_index.md) to edit your `.gitlab-ci.yml` file. - Each job contains a script section and belongs to a stage: - [`stage`](../yaml/_index.md#stage) describes the sequential execution of jobs. If there are runners available, jobs in a single stage run in parallel. diff --git a/doc/ci/quick_start/tutorial.md b/doc/ci/quick_start/tutorial.md index ec837667bd084..6ce65f9181d78 100644 --- a/doc/ci/quick_start/tutorial.md +++ b/doc/ci/quick_start/tutorial.md @@ -95,8 +95,8 @@ in the project and runners are available to run jobs. This step introduces: -- [Jobs](../jobs/index.md): These are self-contained parts of a pipeline that run your commands. - Jobs run on [runners](../runners/index.md), separate from the GitLab instance. +- [Jobs](../jobs/_index.md): These are self-contained parts of a pipeline that run your commands. + Jobs run on [runners](../runners/_index.md), separate from the GitLab instance. - [`script`](../yaml/_index.md#script): This section of a job's configuration is where you define the commands for jobs. If there are multiple commands (in an array), they run in order. Each command executes as if it was run as a CLI command. @@ -119,7 +119,7 @@ Commit and push this change to GitLab, then: followed by the date. Now that you have a `.gitlab-ci.yml` file in your project, you can make all future changes -to pipeline configuration with the [pipeline editor](../pipeline_editor/index.md). +to pipeline configuration with the [pipeline editor](../pipeline_editor/_index.md). ## Add a job to build the site @@ -427,7 +427,7 @@ single sources of truth. This step introduces: -- [Hidden jobs](../jobs/index.md#hide-a-job): Jobs that start with `.` are never +- [Hidden jobs](../jobs/_index.md#hide-a-job): Jobs that start with `.` are never added to a pipeline. Use them to hold configuration you want to reuse. - [`extends`](../yaml/_index.md#extends): Use extends to repeat configuration in multiple places, often from hidden jobs. If you update the hidden job's configuration, diff --git a/doc/ci/resource_groups/index.md b/doc/ci/resource_groups/_index.md similarity index 99% rename from doc/ci/resource_groups/index.md rename to doc/ci/resource_groups/_index.md index 44c009b7224f0..bb41b76463db1 100644 --- a/doc/ci/resource_groups/index.md +++ b/doc/ci/resource_groups/_index.md @@ -59,7 +59,7 @@ can still run `build` jobs concurrently for maximizing the pipeline efficiency. ## Prerequisites -- The basic knowledge of the [GitLab CI/CD pipelines](../pipelines/index.md) +- The basic knowledge of the [GitLab CI/CD pipelines](../pipelines/_index.md) - The basic knowledge of the [GitLab Environments and Deployments](../environments/_index.md) - At least the Developer role for the project to configure CI/CD pipelines. diff --git a/doc/ci/review_apps/index.md b/doc/ci/review_apps/_index.md similarity index 100% rename from doc/ci/review_apps/index.md rename to doc/ci/review_apps/_index.md diff --git a/doc/ci/runners/index.md b/doc/ci/runners/_index.md similarity index 97% rename from doc/ci/runners/index.md rename to doc/ci/runners/_index.md index 955b9ed869ae8..ce3378c6e6b03 100644 --- a/doc/ci/runners/index.md +++ b/doc/ci/runners/_index.md @@ -36,7 +36,7 @@ The assigned runner receives the job details. The runner prepares the environmen When deciding on which runners you want to execute your CI/CD jobs, you can choose: -- [GitLab-hosted runners](index.md) for GitLab.com or GitLab Dedicated users. +- [GitLab-hosted runners](hosted_runners/_index.md) for GitLab.com or GitLab Dedicated users. - [Self-managed runners](https://docs.gitlab.com/runner/) for all GitLab installations. Runners can be group, project, or instance runners. GitLab-hosted runners are instance runners. diff --git a/doc/ci/runners/hosted_runners/index.md b/doc/ci/runners/hosted_runners/_index.md similarity index 99% rename from doc/ci/runners/hosted_runners/index.md rename to doc/ci/runners/hosted_runners/_index.md index e2b23464b303c..d2925dbec3ff3 100644 --- a/doc/ci/runners/hosted_runners/index.md +++ b/doc/ci/runners/hosted_runners/_index.md @@ -85,7 +85,7 @@ stored in a Google Cloud Storage (GCS) bucket. Cache contents not updated in the removed, based on the [object lifecycle management policy](https://cloud.google.com/storage/docs/lifecycle). The maximum size of an uploaded cache artifact can be 5 GB after the cache becomes a compressed archive. -For more information about how caching works, see [Architecture diagram of hosted runners for GitLab.com](#architecture-diagram-of-hosted-runners-for-gitlabcom), and [Caching in GitLab CI/CD](../../caching/index.md). +For more information about how caching works, see [Architecture diagram of hosted runners for GitLab.com](#architecture-diagram-of-hosted-runners-for-gitlabcom), and [Caching in GitLab CI/CD](../../caching/_index.md). ### Pricing of hosted runners for GitLab.com diff --git a/doc/ci/runners/hosted_runners/macos.md b/doc/ci/runners/hosted_runners/macos.md index c084689474d14..3a63e1734d36b 100644 --- a/doc/ci/runners/hosted_runners/macos.md +++ b/doc/ci/runners/hosted_runners/macos.md @@ -10,7 +10,7 @@ DETAILS: **Offering:** GitLab.com **Status:** Beta -Hosted runners on macOS provide an on-demand macOS environment, fully integrated with GitLab [CI/CD](../../index.md). +Hosted runners on macOS provide an on-demand macOS environment, fully integrated with GitLab [CI/CD](../../_index.md). You can use these runners to build, test, and deploy apps for the Apple ecosystem (macOS, iOS, watchOS, tvOS). Our [Mobile DevOps section](../../mobile_devops/mobile_devops_tutorial_ios.md#set-up-your-build-environment) provides features, documentation, and guidance on building and deploying mobile applications for iOS. @@ -49,7 +49,7 @@ The images and installed components are updated with each GitLab release, to kee Major and minor releases of macOS and Xcode are made available in the milestone subsequent to the Apple release. A new major release image is initially made available as beta, and becomes generally available with the release of the first minor release. -Because only two generally available images are supported at a time, the oldest image becomes deprecated and will be removed after three months according to the [supported image lifecycle](index.md#supported-image-lifecycle). +Because only two generally available images are supported at a time, the oldest image becomes deprecated and will be removed after three months according to the [supported image lifecycle](_index.md#supported-image-lifecycle). When a new major release is generally available, it becomes the default image for all macOS jobs. @@ -129,7 +129,7 @@ source 'https://cdn.cocoapods.org/' Use caching in Cocoapods packages in GitLab to only run `pod install` when pods change, which can improve build performance. -To [configure caching](../../caching/index.md) for your project: +To [configure caching](../../caching/_index.md) for your project: 1. Add the `cache` configuration to your `.gitlab-ci.yml` file: diff --git a/doc/ci/runners/runners_scope.md b/doc/ci/runners/runners_scope.md index 7f36ce09031d9..e5c5f70d11dd8 100644 --- a/doc/ci/runners/runners_scope.md +++ b/doc/ci/runners/runners_scope.md @@ -31,7 +31,7 @@ If you are using GitLab Self-Managed, administrators can: If you are using GitLab.com: -- You can select from a list of [instance runners that GitLab maintains](index.md). +- You can select from a list of [instance runners that GitLab maintains](_index.md). - The instance runners consume the [compute minutes](../pipelines/compute_minutes.md) included with your account. @@ -130,7 +130,7 @@ To delete a single or multiple instance runners: ### Enable instance runners for a project -On GitLab.com, [instance runners](index.md) are enabled in all projects by +On GitLab.com, [instance runners](_index.md) are enabled in all projects by default. On GitLab Self-Managed, an administrator can diff --git a/doc/ci/secrets/index.md b/doc/ci/secrets/_index.md similarity index 100% rename from doc/ci/secrets/index.md rename to doc/ci/secrets/_index.md diff --git a/doc/ci/secrets/azure_key_vault.md b/doc/ci/secrets/azure_key_vault.md index 0550de0c0b4a0..40d9a098b034a 100644 --- a/doc/ci/secrets/azure_key_vault.md +++ b/doc/ci/secrets/azure_key_vault.md @@ -20,7 +20,7 @@ Prerequisites: - Have a [Key Vault](https://learn.microsoft.com/en-us/azure/key-vault/general/quick-create-portal) on Azure. - Your IAM user must be [granted the **Key Vault Administrator** role assignment](https://learn.microsoft.com/en-us/azure/role-based-access-control/quickstart-assign-role-user-portal#grant-access) for the **resource group** assigned to the Key Vault. Otherwise, you can't create secrets inside the Key Vault. -- [Configure OpenID Connect in Azure to retrieve temporary credentials](../cloud_services/azure/index.md). These +- [Configure OpenID Connect in Azure to retrieve temporary credentials](../cloud_services/azure/_index.md). These steps include instructions on how to create an Azure AD application for Key Vault access. - Add [CI/CD variables to your project](../variables/_index.md#for-a-project) to provide details about your Vault server: - `AZURE_KEY_VAULT_SERVER_URL`: The URL of your Azure Key Vault server, such as `https://vault.example.com`. @@ -47,7 +47,7 @@ job: In this example: -- `aud` is the audience, which must match the audience used when [creating the federated identity credentials](../cloud_services/azure/index.md#create-azure-ad-federated-identity-credentials) +- `aud` is the audience, which must match the audience used when [creating the federated identity credentials](../cloud_services/azure/_index.md#create-azure-ad-federated-identity-credentials) - `name` is the name of the secret in Azure Key Vault. - `version` is the version of the secret in Azure Key Vault. The version is a generated GUID without dashes, which can be found on the Azure Key Vault secrets page. @@ -57,7 +57,7 @@ In this example: ## Troubleshooting -Refer to [OIDC for Azure troubleshooting](../cloud_services/azure/index.md#troubleshooting) for general +Refer to [OIDC for Azure troubleshooting](../cloud_services/azure/_index.md#troubleshooting) for general problems when setting up OIDC with Azure. ### `JWT token is invalid or malformed` message diff --git a/doc/ci/secrets/gcp_secret_manager.md b/doc/ci/secrets/gcp_secret_manager.md index a537cdcdc5b73..9c942a1684121 100644 --- a/doc/ci/secrets/gcp_secret_manager.md +++ b/doc/ci/secrets/gcp_secret_manager.md @@ -44,7 +44,7 @@ The principal is used to authorize access to the Secret Manager resources: 1. Under **Attribute Mapping**, create the following mappings, where: - `attribute.X` is the name of the attribute to include as a claim in the Google token. - - `assertion.X` is the value to extract from the [GitLab claim](../cloud_services/index.md#how-it-works). + - `assertion.X` is the value to extract from the [GitLab claim](../cloud_services/_index.md#how-it-works). | Attribute (on Google) | Assertion (from GitLab) | |-------------------------------|-------------------------| diff --git a/doc/ci/secure_files/index.md b/doc/ci/secure_files/_index.md similarity index 96% rename from doc/ci/secure_files/index.md rename to doc/ci/secure_files/_index.md index e5aaef82259a0..b4d8eeefe68e1 100644 --- a/doc/ci/secure_files/index.md +++ b/doc/ci/secure_files/_index.md @@ -11,7 +11,7 @@ DETAILS: > - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/350748) and feature flag `ci_secure_files` removed in GitLab 15.7. -This feature is part of [Mobile DevOps](../mobile_devops/index.md) developed by [GitLab Incubation Engineering](https://handbook.gitlab.com/handbook/engineering/development/incubation/). +This feature is part of [Mobile DevOps](../mobile_devops/_index.md) developed by [GitLab Incubation Engineering](https://handbook.gitlab.com/handbook/engineering/development/incubation/). The feature is still in development, but you can: - [Request a feature](https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/feedback/-/issues/new?issuable_template=feature_request). diff --git a/doc/ci/services/index.md b/doc/ci/services/_index.md similarity index 100% rename from doc/ci/services/index.md rename to doc/ci/services/_index.md diff --git a/doc/ci/services/gitlab.md b/doc/ci/services/gitlab.md index e4f23ee5733c0..43a877df246a6 100644 --- a/doc/ci/services/gitlab.md +++ b/doc/ci/services/gitlab.md @@ -13,7 +13,7 @@ Many applications need to access JSON APIs, so application tests might need acce to APIs too. The following example shows how to use GitLab as a microservice to give tests access to the GitLab API. -1. Configure a [runner](../runners/index.md) with the Docker or Kubernetes executor. +1. Configure a [runner](../runners/_index.md) with the Docker or Kubernetes executor. 1. In your `.gitlab-ci.yml` add: ```yaml diff --git a/doc/ci/services/mysql.md b/doc/ci/services/mysql.md index 64d8e08aa51d4..c29553221c484 100644 --- a/doc/ci/services/mysql.md +++ b/doc/ci/services/mysql.md @@ -14,7 +14,7 @@ need it for your tests to run. ## Use MySQL with the Docker executor -If you want to use a MySQL container, you can use [GitLab Runner](../runners/index.md) with the Docker executor. +If you want to use a MySQL container, you can use [GitLab Runner](../runners/_index.md) with the Docker executor. This example shows you how to set a username and password that GitLab uses to access the MySQL container. If you do not set a username and password, you must use `root`. @@ -130,5 +130,5 @@ GitLab Runner with the Shell executor. ## Example project To view a MySQL example, create a fork of this [sample project](https://gitlab.com/gitlab-examples/mysql). -This project uses publicly-available [instance runners](../runners/index.md) on [GitLab.com](https://gitlab.com). +This project uses publicly-available [instance runners](../runners/_index.md) on [GitLab.com](https://gitlab.com). Update the README.md file, commit your changes, and view the CI/CD pipeline to see it in action. diff --git a/doc/ci/services/postgres.md b/doc/ci/services/postgres.md index 7c9b94d37a8ed..cef11817b32db 100644 --- a/doc/ci/services/postgres.md +++ b/doc/ci/services/postgres.md @@ -48,7 +48,7 @@ The workaround is to set your variables in [GitLab CI/CD variables](../variables POSTGRES_HOST_AUTH_METHOD: trust ``` - For more information about using `postgres` for the `Host`, see [How services are linked to the job](../services/index.md#how-services-are-linked-to-the-job). + For more information about using `postgres` for the `Host`, see [How services are linked to the job](../services/_index.md#how-services-are-linked-to-the-job). 1. Configure your application to use the database, for example: @@ -143,7 +143,7 @@ Database: nice_marmot We have set up an [Example PostgreSQL Project](https://gitlab.com/gitlab-examples/postgres) for your convenience that runs on [GitLab.com](https://gitlab.com) using our publicly -available [instance runners](../runners/index.md). +available [instance runners](../runners/_index.md). Want to hack on it? Fork it, commit, and push your changes. Within a few moments the changes are picked by a public runner and the job begins. diff --git a/doc/ci/services/redis.md b/doc/ci/services/redis.md index eb13bad67992b..6d32f599bca62 100644 --- a/doc/ci/services/redis.md +++ b/doc/ci/services/redis.md @@ -15,7 +15,7 @@ do this with the Docker and Shell executors of GitLab Runner. ## Use Redis with the Docker executor -If you are using [GitLab Runner](../runners/index.md) with the Docker executor +If you are using [GitLab Runner](../runners/_index.md) with the Docker executor you basically have everything set up already. First, in your `.gitlab-ci.yml` add: @@ -69,7 +69,7 @@ Host: localhost We have set up an [Example Redis Project](https://gitlab.com/gitlab-examples/redis) for your convenience that runs on [GitLab.com](https://gitlab.com) using our publicly available -[instance runners](../runners/index.md). +[instance runners](../runners/_index.md). Want to hack on it? Fork it, commit and push your changes. Within a few moments the changes are picked by a public runner and the job begins. diff --git a/doc/ci/steps/index.md b/doc/ci/steps/_index.md similarity index 99% rename from doc/ci/steps/index.md rename to doc/ci/steps/_index.md index d839a5c1b3afd..0bb710d8e212b 100644 --- a/doc/ci/steps/index.md +++ b/doc/ci/steps/_index.md @@ -560,7 +560,7 @@ delegate: install_java ## Combine CI/CD Components and CI/CD Steps -[CI/CD components](../components/index.md) are reusable single pipeline configuration units. They are included in a pipeline when it is +[CI/CD components](../components/_index.md) are reusable single pipeline configuration units. They are included in a pipeline when it is created, adding jobs and configuration to the pipeline. Files such as common scripts or programs from the component project cannot be referenced from a CI/CD job. diff --git a/doc/ci/test_cases/index.md b/doc/ci/test_cases/_index.md similarity index 100% rename from doc/ci/test_cases/index.md rename to doc/ci/test_cases/_index.md diff --git a/doc/ci/testing/index.md b/doc/ci/testing/_index.md similarity index 100% rename from doc/ci/testing/index.md rename to doc/ci/testing/_index.md diff --git a/doc/ci/testing/accessibility_testing.md b/doc/ci/testing/accessibility_testing.md index 6e92d6c45128c..76ed3757648a8 100644 --- a/doc/ci/testing/accessibility_testing.md +++ b/doc/ci/testing/accessibility_testing.md @@ -10,7 +10,7 @@ DETAILS: **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated If your application offers a web interface, you can use -[GitLab CI/CD](../index.md) to determine the accessibility +[GitLab CI/CD](../_index.md) to determine the accessibility impact of pending code changes. [Pa11y](https://pa11y.org/) is a free and open source tool for diff --git a/doc/ci/testing/browser_performance_testing.md b/doc/ci/testing/browser_performance_testing.md index cb6c11c954e07..48f98ffae7d6d 100644 --- a/doc/ci/testing/browser_performance_testing.md +++ b/doc/ci/testing/browser_performance_testing.md @@ -10,7 +10,7 @@ DETAILS: **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated If your application offers a web interface and you're using -[GitLab CI/CD](../index.md), you can quickly determine the rendering performance +[GitLab CI/CD](../_index.md), you can quickly determine the rendering performance impact of pending code changes in the browser. NOTE: diff --git a/doc/ci/testing/code_quality.md b/doc/ci/testing/code_quality.md index 7c7e35c1bfd54..248d0f5464316 100644 --- a/doc/ci/testing/code_quality.md +++ b/doc/ci/testing/code_quality.md @@ -200,7 +200,7 @@ Because the [report format](#code-quality-report-format) has only a few required If you already use a tool in your CI/CD pipeline, you should adapt the existing job to add a Code Quality report. Adapting the existing job prevents you from running a separate job that may confuse developers and make your pipelines take longer to run. -If you don't already use a tool, you can write a CI/CD job from scratch or adopt the tool by using a component from [the CI/CD Catalog](../components/index.md#cicd-catalog). +If you don't already use a tool, you can write a CI/CD job from scratch or adopt the tool by using a component from [the CI/CD Catalog](../components/_index.md#cicd-catalog). ### Code scanning tools diff --git a/doc/ci/testing/code_quality_codeclimate_scanning.md b/doc/ci/testing/code_quality_codeclimate_scanning.md index cbb7fc523fc87..9bffa0aa9b3e9 100644 --- a/doc/ci/testing/code_quality_codeclimate_scanning.md +++ b/doc/ci/testing/code_quality_codeclimate_scanning.md @@ -2,10 +2,10 @@ stage: Secure group: Static Analysis 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 +title: Configure CodeClimate-based Code Quality scanning (deprecated) --- <!--- start_remove The following content will be removed on remove_date: '2025-08-15' --> -# Configure CodeClimate-based Code Quality scanning (deprecated) DETAILS: **Tier:** Free, Premium, Ultimate @@ -68,7 +68,7 @@ is present. For more information about how to define a variable, see To disable Code Quality, create a custom CI/CD variable named `CODE_QUALITY_DISABLED`, for either: - [The whole project](../variables/_index.md#for-a-project). -- [A single pipeline](../pipelines/index.md#run-a-pipeline-manually). +- [A single pipeline](../pipelines/_index.md#run-a-pipeline-manually). ## Configure CodeClimate analysis plugins diff --git a/doc/ci/testing/load_performance_testing.md b/doc/ci/testing/load_performance_testing.md index d197881993260..dc942686d388c 100644 --- a/doc/ci/testing/load_performance_testing.md +++ b/doc/ci/testing/load_performance_testing.md @@ -10,7 +10,7 @@ DETAILS: **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated With Load Performance Testing, you can test the impact of any pending code changes -to your application's backend in [GitLab CI/CD](../index.md). +to your application's backend in [GitLab CI/CD](../_index.md). GitLab uses [k6](https://k6.io/), a free and open source tool, for measuring the system performance of applications under @@ -149,7 +149,7 @@ If [GitLab Pages](../../user/project/pages/index.md) is enabled, you can view th ### Load Performance testing in review apps The CI/CD YAML configuration example above works for testing against static environments, -but it can be extended to work with [review apps](../review_apps/index.md) or +but it can be extended to work with [review apps](../review_apps/_index.md) or [dynamic environments](../environments/_index.md) with a few extra steps. The best approach is to capture the dynamic URL in a [`.env` file](https://docs.docker.com/compose/environment-variables/env-file/) diff --git a/doc/ci/testing/test_coverage_visualization/index.md b/doc/ci/testing/test_coverage_visualization/_index.md similarity index 100% rename from doc/ci/testing/test_coverage_visualization/index.md rename to doc/ci/testing/test_coverage_visualization/_index.md diff --git a/doc/ci/testing/unit_test_reports.md b/doc/ci/testing/unit_test_reports.md index 516553ede7ed0..74d4993f15183 100644 --- a/doc/ci/testing/unit_test_reports.md +++ b/doc/ci/testing/unit_test_reports.md @@ -9,7 +9,7 @@ DETAILS: **Tier:** Free, Premium, Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated -You can configure your [CI/CD pipeline](../pipelines/index.md) to display unit test results directly in merge requests and pipeline details. +You can configure your [CI/CD pipeline](../pipelines/_index.md) to display unit test results directly in merge requests and pipeline details. This makes it easier to identify test failures without searching through job logs. Unit test reports: @@ -140,7 +140,7 @@ You can also retrieve the reports via the [GitLab API](../../api/pipelines.md#ge ### Unit test reports parsing errors -If parsing JUnit report XML results in an error, an indicator is shown next to the job name. Hovering over the icon shows the parser error in a tooltip. If multiple parsing errors come from [grouped jobs](../jobs/index.md#group-similar-jobs-together-in-pipeline-views), GitLab shows only the first error from the group. +If parsing JUnit report XML results in an error, an indicator is shown next to the job name. Hovering over the icon shows the parser error in a tooltip. If multiple parsing errors come from [grouped jobs](../jobs/_index.md#group-similar-jobs-together-in-pipeline-views), GitLab shows only the first error from the group.  diff --git a/doc/ci/triggers/index.md b/doc/ci/triggers/_index.md similarity index 100% rename from doc/ci/triggers/index.md rename to doc/ci/triggers/_index.md diff --git a/doc/ci/variables/_index.md b/doc/ci/variables/_index.md index 8c76ab7815091..93391cd1177fb 100644 --- a/doc/ci/variables/_index.md +++ b/doc/ci/variables/_index.md @@ -11,12 +11,12 @@ DETAILS: CI/CD variables are a type of environment variable. You can use them to: -- Control the behavior of jobs and [pipelines](../pipelines/index.md). +- Control the behavior of jobs and [pipelines](../pipelines/_index.md). - Store values you want to re-use. - Avoid hard-coding values in your `.gitlab-ci.yml` file. -You can [override variable values](#cicd-variable-precedence) for a specific pipeline when you [run a pipeline manually](../pipelines/index.md#run-a-pipeline-manually), [run a manual job](../jobs/job_control.md#specify-variables-when-running-manual-jobs), -or have them [prefilled in manual pipelines](../pipelines/index.md#prefill-variables-in-manual-pipelines). +You can [override variable values](#cicd-variable-precedence) for a specific pipeline when you [run a pipeline manually](../pipelines/_index.md#run-a-pipeline-manually), [run a manual job](../jobs/job_control.md#specify-variables-when-running-manual-jobs), +or have them [prefilled in manual pipelines](../pipelines/_index.md#prefill-variables-in-manual-pipelines). Variable names are limited by the [shell the runner uses](https://docs.gitlab.com/runner/shells/index.html) to execute scripts. Each shell has its own set of reserved variable names. @@ -91,8 +91,8 @@ In this example: - `job2` outputs: `Variables are 'Different value than default', 'Job 2 variable', and ''` Use the [`value` and `description`](../yaml/_index.md#variablesdescription) keywords -to define [variables that are prefilled](../pipelines/index.md#prefill-variables-in-manual-pipelines) -for [manually-triggered pipelines](../pipelines/index.md#run-a-pipeline-manually). +to define [variables that are prefilled](../pipelines/_index.md#prefill-variables-in-manual-pipelines) +for [manually-triggered pipelines](../pipelines/_index.md#run-a-pipeline-manually). ### Skip default variables in a single job @@ -264,7 +264,7 @@ You can also [limit a variable to protected branches and tags only](#protect-a-c Alternatively, use one of the native GitLab integrations to connect with third party secrets manager providers to store and retrieve secrets: -- [HashiCorp Vault](../secrets/index.md) +- [HashiCorp Vault](../secrets/_index.md) - [Azure Key Vault](../secrets/azure_key_vault.md) - [Google Secret Manager](../secrets/gcp_secret_manager.md) @@ -284,7 +284,7 @@ valid [secrets file](../../administration/backup_restore/troubleshooting_backup_ WARNING: Masking a CI/CD variable is not a guaranteed way to prevent malicious users from accessing variable values. To ensure security of sensitive information, -consider using [external secrets](../secrets/index.md) and [file type variables](#use-file-type-cicd-variables) +consider using [external secrets](../secrets/_index.md) and [file type variables](#use-file-type-cicd-variables) to prevent commands such as `env`/`printenv` from printing secret variables. You can mask a project, group, or instance CI/CD variable so the value of the variable @@ -322,13 +322,13 @@ variable has the same value, that value is also masked, including when a variabl references a masked variable. The string `[MASKED]` is shown instead of the value, possibly with some trailing `x` characters. -Different versions of [GitLab Runner](../runners/index.md) have different masking limitations: +Different versions of [GitLab Runner](../runners/_index.md) have different masking limitations: | Version | Limitations | | ------------------- | ----------- | | v14.1.0 and earlier | Masking of large secrets (greater than 4 KiB) could potentially be [revealed](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/28128). No sensitive URL parameter masking. | | v14.2.0 to v15.3.0 | The tail of a large secret (greater than 4 KiB) could potentially be [revealed](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/28128). No sensitive URL parameter masking. | -| v15.7.0 and later | Secrets could be revealed when `CI_DEBUG_SERVICES` is enabled. For details, read about [service container logging](../services/index.md#capturing-service-container-logs). | +| v15.7.0 and later | Secrets could be revealed when `CI_DEBUG_SERVICES` is enabled. For details, read about [service container logging](../services/_index.md#capturing-service-container-logs). | ### Hide a CI/CD variable @@ -758,9 +758,9 @@ The order of precedence for variables is (from highest to lowest): 1. [Scan execution policy variables](../../user/application_security/policies/scan_execution_policies.md). 1. [Pipeline variables](#use-pipeline-variables). These variables all have the same precedence: - [Variables passed to downstream pipelines](../pipelines/downstream_pipelines.md#pass-cicd-variables-to-a-downstream-pipeline). - - [Trigger variables](../triggers/index.md#pass-cicd-variables-in-the-api-call). + - [Trigger variables](../triggers/_index.md#pass-cicd-variables-in-the-api-call). - [Scheduled pipeline variables](../pipelines/schedules.md#add-a-pipeline-schedule). - - [Manual pipeline run variables](../pipelines/index.md#run-a-pipeline-manually). + - [Manual pipeline run variables](../pipelines/_index.md#run-a-pipeline-manually). - Variables added when [creating a pipeline with the API](../../api/pipelines.md#create-a-new-pipeline). - [Manual job variables](../jobs/job_control.md#specify-variables-when-running-manual-jobs). 1. Project [variables](#for-a-project). @@ -801,14 +801,14 @@ Prerequisites: You can specify a pipeline variable when you: -- [Run a pipeline manually](../pipelines/index.md#run-a-pipeline-manually) in the UI. +- [Run a pipeline manually](../pipelines/_index.md#run-a-pipeline-manually) in the UI. - Create a pipeline by using [the `pipelines` API endpoint](../../api/pipelines.md#create-a-new-pipeline). -- Create a pipeline by using [the `triggers` API endpoint](../triggers/index.md#pass-cicd-variables-in-the-api-call). +- Create a pipeline by using [the `triggers` API endpoint](../triggers/_index.md#pass-cicd-variables-in-the-api-call). - Use [push options](../../topics/git/commit.md#push-options-for-gitlab-cicd). - Pass variables to a downstream pipeline by using either the [`variables` keyword](../pipelines/downstream_pipelines.md#pass-cicd-variables-to-a-downstream-pipeline), [`trigger:forward` keyword](../yaml/_index.md#triggerforward) or [`dotenv` variables](../pipelines/downstream_pipelines.md#pass-dotenv-variables-created-in-a-job). - Specify variables when creating a [pipeline schedule](../pipelines/schedules.md#add-a-pipeline-schedule). -- Specify variables when [running a manual job](../pipelines/index.md#run-a-pipeline-manually). +- Specify variables when [running a manual job](../pipelines/_index.md#run-a-pipeline-manually). These variables have [higher precedence](#cicd-variable-precedence) and can override other defined variables, including [predefined variables](predefined_variables.md). @@ -988,7 +988,7 @@ by the runner and makes job logs more verbose. It also exposes all variables and available to the job. Before you enable debug logging, make sure only team members -can view job logs. You should also [delete job logs](../jobs/index.md#view-jobs-in-a-pipeline) +can view job logs. You should also [delete job logs](../jobs/_index.md#view-jobs-in-a-pipeline) with debug output before you make logs public again. To enable debug logging, set the `CI_DEBUG_TRACE` variable to `true`: @@ -1100,7 +1100,7 @@ For more information, see [issue 392406](https://gitlab.com/gitlab-org/gitlab/-/ As a workaround you can either: - Use [File-type](#use-file-type-cicd-variables) CI/CD variables for large environment variables where possible. -- If a single large variable is larger than `ARG_MAX`, try using [Secure Files](../secure_files/index.md), or +- If a single large variable is larger than `ARG_MAX`, try using [Secure Files](../secure_files/_index.md), or bring the file to the job through some other mechanism. ### Default variable doesn't expand in job variable of the same name diff --git a/doc/ci/variables/predefined_variables.md b/doc/ci/variables/predefined_variables.md index d1a0332f34b0c..cca608434ae50 100644 --- a/doc/ci/variables/predefined_variables.md +++ b/doc/ci/variables/predefined_variables.md @@ -35,9 +35,9 @@ Predefined variables become available at three different phases of pipeline exec | Variable | Availability | Description | |-------------------------------------------------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `CHAT_CHANNEL` | Pipeline | The Source chat channel that triggered the [ChatOps](../chatops/index.md) command. | -| `CHAT_INPUT` | Pipeline | The additional arguments passed with the [ChatOps](../chatops/index.md) command. | -| `CHAT_USER_ID` | Pipeline | The chat service's user ID of the user who triggered the [ChatOps](../chatops/index.md) command. | +| `CHAT_CHANNEL` | Pipeline | The Source chat channel that triggered the [ChatOps](../chatops/_index.md) command. | +| `CHAT_INPUT` | Pipeline | The additional arguments passed with the [ChatOps](../chatops/_index.md) command. | +| `CHAT_USER_ID` | Pipeline | The chat service's user ID of the user who triggered the [ChatOps](../chatops/_index.md) command. | | `CI` | Pre-pipeline | Available for all jobs executed in CI/CD. `true` when available. | | `CI_API_V4_URL` | Pre-pipeline | The GitLab API v4 root URL. | | `CI_API_GRAPHQL_URL` | Pre-pipeline | The GitLab API GraphQL root URL. Introduced in GitLab 15.11. | @@ -60,7 +60,7 @@ Predefined variables become available at three different phases of pipeline exec | `CI_CONCURRENT_PROJECT_ID` | Job-only | The unique ID of build execution in a single executor and project. | | `CI_CONFIG_PATH` | Pre-pipeline | The path to the CI/CD configuration file. Defaults to `.gitlab-ci.yml`. | | `CI_DEBUG_TRACE` | Pipeline | `true` if [debug logging (tracing)](_index.md#enable-debug-logging) is enabled. | -| `CI_DEBUG_SERVICES` | Pipeline | `true` if [service container logging](../services/index.md#capturing-service-container-logs) is enabled. Introduced in GitLab 15.7. Requires GitLab Runner 15.7. | +| `CI_DEBUG_SERVICES` | Pipeline | `true` if [service container logging](../services/_index.md#capturing-service-container-logs) is enabled. Introduced in GitLab 15.7. Requires GitLab Runner 15.7. | | `CI_DEFAULT_BRANCH` | Pre-pipeline | The name of the project's default branch. | | `CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX` | Pre-pipeline | The direct group image prefix for pulling images through the Dependency Proxy. | | `CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX` | Pre-pipeline | The top-level group image prefix for pulling images through the Dependency Proxy. | @@ -99,7 +99,7 @@ Predefined variables become available at three different phases of pipeline exec | `CI_PIPELINE_ID` | Job-only | The instance-level ID of the current pipeline. This ID is unique across all projects on the GitLab instance. | | `CI_PIPELINE_IID` | Pipeline | The project-level IID (internal ID) of the current pipeline. This ID is unique only in the current project. | | `CI_PIPELINE_SOURCE` | Pre-pipeline | How the pipeline was triggered. The value can be one of the [pipeline sources](../jobs/job_rules.md#ci_pipeline_source-predefined-variable). | -| `CI_PIPELINE_TRIGGERED` | Pipeline | `true` if the job was [triggered](../triggers/index.md). | +| `CI_PIPELINE_TRIGGERED` | Pipeline | `true` if the job was [triggered](../triggers/_index.md). | | `CI_PIPELINE_URL` | Job-only | The URL for the pipeline details. | | `CI_PIPELINE_CREATED_AT` | Pre-pipeline | The date and time when the pipeline was created, in [ISO 8601](https://www.rfc-editor.org/rfc/rfc3339#appendix-A) format. For example, `2022-01-31T16:47:55Z`. [UTC by default](../../administration/timezone.md). | | `CI_PIPELINE_NAME` | Pre-pipeline | The pipeline name defined in [`workflow:name`](../yaml/_index.md#workflowname). Introduced in GitLab 16.3. | @@ -150,7 +150,7 @@ Predefined variables become available at three different phases of pipeline exec | `CI_SERVER` | Job-only | Available for all jobs executed in CI/CD. `yes` when available. | | `CI_SHARED_ENVIRONMENT` | Pipeline | Only available if the job is executed in a shared environment (something that is persisted across CI/CD invocations, like the `shell` or `ssh` executor). `true` when available. | | `CI_TEMPLATE_REGISTRY_HOST` | Pre-pipeline | The host of the registry used by CI/CD templates. Defaults to `registry.gitlab.com`. Introduced in GitLab 15.3. | -| `CI_TRIGGER_SHORT_TOKEN` | Job-only | First 4 characters of the [trigger token](../triggers/index.md#create-a-pipeline-trigger-token) of the current job. Only available if the pipeline was [triggered with a trigger token](../triggers/index.md). For example, for a trigger token of `glptt-1234567890abcdefghij`, `CI_TRIGGER_SHORT_TOKEN` would be `1234`. Introduced in GitLab 17.0. <!-- gitleaks:allow --> | +| `CI_TRIGGER_SHORT_TOKEN` | Job-only | First 4 characters of the [trigger token](../triggers/_index.md#create-a-pipeline-trigger-token) of the current job. Only available if the pipeline was [triggered with a trigger token](../triggers/_index.md). For example, for a trigger token of `glptt-1234567890abcdefghij`, `CI_TRIGGER_SHORT_TOKEN` would be `1234`. Introduced in GitLab 17.0. <!-- gitleaks:allow --> | | `GITLAB_CI` | Pre-pipeline | Available for all jobs executed in CI/CD. `true` when available. | | `GITLAB_FEATURES` | Pre-pipeline | The comma-separated list of licensed features available for the GitLab instance and license. | | `GITLAB_USER_EMAIL` | Pipeline | The email of the user who started the pipeline, unless the job is a manual job. In manual jobs, the value is the email of the user who started the job. | @@ -158,7 +158,7 @@ Predefined variables become available at three different phases of pipeline exec | `GITLAB_USER_LOGIN` | Pipeline | The unique username of the user who started the pipeline, unless the job is a manual job. In manual jobs, the value is the username of the user who started the job. | | `GITLAB_USER_NAME` | Pipeline | The display name (user-defined **Full name** in the profile settings) of the user who started the pipeline, unless the job is a manual job. In manual jobs, the value is the name of the user who started the job. | | `KUBECONFIG` | Pipeline | The path to the `kubeconfig` file with contexts for every shared agent connection. Only available when a [GitLab agent is authorized to access the project](../../user/clusters/agent/ci_cd_workflow.md#authorize-the-agent). | -| `TRIGGER_PAYLOAD` | Pipeline | The webhook payload. Only available when a pipeline is [triggered with a webhook](../triggers/index.md#access-webhook-payload). | +| `TRIGGER_PAYLOAD` | Pipeline | The webhook payload. Only available when a pipeline is [triggered with a webhook](../triggers/_index.md#access-webhook-payload). | ## Predefined variables for merge request pipelines @@ -202,7 +202,7 @@ and the merge request must be open. These variables are only available when: -- The pipelines are [external pull requests pipelines](../ci_cd_for_external_repos/index.md#pipelines-for-external-pull-requests) +- The pipelines are [external pull requests pipelines](../ci_cd_for_external_repos/_index.md#pipelines-for-external-pull-requests) - The pull request is open. | Variable | Description | diff --git a/doc/ci/yaml/_index.md b/doc/ci/yaml/_index.md index 5b633c50e48b1..4b5971660beb1 100644 --- a/doc/ci/yaml/_index.md +++ b/doc/ci/yaml/_index.md @@ -12,10 +12,10 @@ DETAILS: This document lists the configuration options for the GitLab `.gitlab-ci.yml` file. This file is where you define the CI/CD jobs that make up your pipeline. -- If you are already familiar with [basic CI/CD concepts](../index.md), try creating - your own `.gitlab-ci.yml` file by following a tutorial that demonstrates a [simple](../quick_start/index.md) +- If you are already familiar with [basic CI/CD concepts](../_index.md), try creating + your own `.gitlab-ci.yml` file by following a tutorial that demonstrates a [simple](../quick_start/_index.md) or [complex](../quick_start/tutorial.md) pipeline. -- For a collection of examples, see [GitLab CI/CD examples](../examples/index.md). +- For a collection of examples, see [GitLab CI/CD examples](../examples/_index.md). - To view a large `.gitlab-ci.yml` file used in an enterprise, see the [`.gitlab-ci.yml` file for `gitlab`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab-ci.yml). @@ -43,7 +43,7 @@ A GitLab CI/CD pipeline configuration includes: |-----------------|:------------| | [`spec`](#spec) | Define specifications for external configuration files. | -- [Jobs](../jobs/index.md) configured with [job keywords](#job-keywords): +- [Jobs](../jobs/_index.md) configured with [job keywords](#job-keywords): | Keyword | Description | |:----------------------------------------------|:------------------------------------------------------------------------------------------------------------| @@ -203,7 +203,7 @@ And optionally: #### `include:component` -Use `include:component` to add a [CI/CD component](../components/index.md) to the +Use `include:component` to add a [CI/CD component](../components/_index.md) to the pipeline configuration. **Keyword type**: Global keyword. @@ -220,7 +220,7 @@ include: **Related topics**: -- [Use a CI/CD component](../components/index.md#use-a-component). +- [Use a CI/CD component](../components/_index.md#use-a-component). #### `include:local` @@ -361,7 +361,7 @@ Use `include:template` to include [`.gitlab-ci.yml` templates](https://gitlab.co **Supported values**: -A [CI/CD template](../examples/index.md#cicd-templates): +A [CI/CD template](../examples/_index.md#cicd-templates): - All templates can be viewed in [`lib/gitlab/ci/templates`](https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates). Not all templates are designed to be used with `include:template`, so check template @@ -1664,15 +1664,15 @@ Caches are: - Shared between pipelines and jobs. - By default, not shared between [protected](../../user/project/repository/branches/protected.md) and unprotected branches. - Restored before [artifacts](#artifacts). -- Limited to a maximum of four [different caches](../caching/index.md#use-multiple-caches). +- Limited to a maximum of four [different caches](../caching/_index.md#use-multiple-caches). -You can [disable caching for specific jobs](../caching/index.md#disable-cache-for-specific-jobs), +You can [disable caching for specific jobs](../caching/_index.md#disable-cache-for-specific-jobs), for example to override: - A default cache defined with [`default`](#default). - The configuration for a job added with [`include`](#include). -For more information about caches, see [Caching in GitLab CI/CD](../caching/index.md). +For more information about caches, see [Caching in GitLab CI/CD](../caching/_index.md). #### `cache:paths` @@ -1714,7 +1714,7 @@ rspec: **Related topics**: -- See the [common `cache` use cases](../caching/index.md#common-use-cases-for-caches) for more +- See the [common `cache` use cases](../caching/_index.md#common-use-cases-for-caches) for more `cache:paths` examples. #### `cache:key` @@ -1763,10 +1763,10 @@ cache-job: **Related topics**: -- You can specify a [fallback cache key](../caching/index.md#use-a-fallback-cache-key) +- You can specify a [fallback cache key](../caching/_index.md#use-a-fallback-cache-key) to use if the specified `cache:key` is not found. -- You can [use multiple cache keys](../caching/index.md#use-multiple-caches) in a single job. -- See the [common `cache` use cases](../caching/index.md#common-use-cases-for-caches) for more +- You can [use multiple cache keys](../caching/_index.md#use-multiple-caches) in a single job. +- See the [common `cache` use cases](../caching/_index.md#common-use-cases-for-caches) for more `cache:key` examples. ##### `cache:key:files` @@ -2007,7 +2007,7 @@ faster-test-job: **Related topics**: -- You can [use a variable to control a job's cache policy](../caching/index.md#use-a-variable-to-control-a-jobs-cache-policy). +- You can [use a variable to control a job's cache policy](../caching/_index.md#use-a-variable-to-control-a-jobs-cache-policy). #### `cache:fallback_keys` @@ -2515,7 +2515,7 @@ rubocop: - You can use multiple parents for `extends`. - The `extends` keyword supports up to eleven levels of inheritance, but you should avoid using more than three levels. -- In the example above, `.tests` is a [hidden job](../jobs/index.md#hide-a-job), +- In the example above, `.tests` is a [hidden job](../jobs/_index.md#hide-a-job), but you can extend configuration from regular jobs as well. **Related topics**: @@ -2642,7 +2642,7 @@ job_with_id_tokens: **Related topics**: - [ID token authentication](../secrets/id_token_authentication.md). -- [Connect to cloud services](../cloud_services/index.md). +- [Connect to cloud services](../cloud_services/_index.md). - [Keyless signing with Sigstore](signing_examples.md). ### `image` @@ -2820,7 +2820,7 @@ job2: ### `inherit` -Use `inherit` to [control inheritance of default keywords and variables](../jobs/index.md#control-the-inheritance-of-default-keywords-and-variables). +Use `inherit` to [control inheritance of default keywords and variables](../jobs/_index.md#control-the-inheritance-of-default-keywords-and-variables). #### `inherit:default` @@ -3696,7 +3696,7 @@ deploystacks: [vultr, processing] - `parallel:matrix` jobs add the variable values to the job names to differentiate the jobs from each other, but [large values can cause names to exceed limits](https://gitlab.com/gitlab-org/gitlab/-/issues/362262): - - [Job names](../jobs/index.md#job-names) must be 255 characters or fewer. + - [Job names](../jobs/_index.md#job-names) must be 255 characters or fewer. - When using [`needs`](#needs), job names must be 128 characters or fewer. - You cannot create multiple matrix configurations with the same variable values but different variable names. Job names are generated from the variable values, not the variable names, so matrix entries @@ -3964,7 +3964,7 @@ assets: ### `resource_group` -Use `resource_group` to create a [resource group](../resource_groups/index.md) that +Use `resource_group` to create a [resource group](../resource_groups/_index.md) that ensures a job is mutually exclusive across different pipelines for the same project. For example, if multiple jobs that belong to the same resource group are queued simultaneously, @@ -3972,7 +3972,7 @@ only one of the jobs starts. The other jobs wait until the `resource_group` is f Resource groups behave similar to semaphores in other programming languages. -You can choose a [process mode](../resource_groups/index.md#process-modes) to strategically control the job concurrency for your deployment preferences. The default process mode is `unordered`. To change the process mode of a resource group, use the [API](../../api/resource_groups.md#edit-an-existing-resource-group) to send a request to edit an existing resource group. +You can choose a [process mode](../resource_groups/_index.md#process-modes) to strategically control the job concurrency for your deployment preferences. The default process mode is `unordered`. To change the process mode of a resource group, use the [API](../../api/resource_groups.md#edit-an-existing-resource-group) to send a request to edit an existing resource group. You can define multiple resource groups per environment. For example, when deploying to physical devices, you might have multiple physical devices. Each device @@ -3998,7 +3998,7 @@ you can ensure that concurrent deployments never happen to the production enviro **Related topics**: -- [Pipeline-level concurrency control with cross-project/parent-child pipelines](../resource_groups/index.md#pipeline-level-concurrency-control-with-cross-projectparent-child-pipelines). +- [Pipeline-level concurrency control with cross-project/parent-child pipelines](../resource_groups/_index.md#pipeline-level-concurrency-control-with-cross-projectparent-child-pipelines). ### `retry` @@ -4732,7 +4732,7 @@ DETAILS: NOTE: This feature is available for testing, but not ready for production use. -Use `run` to define a series of [steps](../steps/index.md) to be executed in a job. Each step can be either a script or a predefined step. +Use `run` to define a series of [steps](../steps/_index.md) to be executed in a job. Each step can be either a script or a predefined step. You can also provide optional environment variables and inputs. @@ -4821,7 +4821,7 @@ DETAILS: **Tier:** Premium, Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated -Use `secrets` to specify [CI/CD secrets](../secrets/index.md) to: +Use `secrets` to specify [CI/CD secrets](../secrets/_index.md) to: - Retrieve from an external secrets provider. - Make available in the job as [CI/CD variables](../variables/_index.md) @@ -4999,7 +4999,7 @@ job: ### `services` -Use `services` to specify any additional Docker images that your scripts require to run successfully. The [`services` image](../services/index.md) is linked +Use `services` to specify any additional Docker images that your scripts require to run successfully. The [`services` image](../services/_index.md) is linked to the image specified in the [`image`](#image) keyword. **Keyword type**: Job keyword. You can use it only as part of a job or in the @@ -5043,8 +5043,8 @@ In this example, GitLab launches two containers for the job: **Related topics**: -- [Available settings for `services`](../services/index.md#available-settings-for-services). -- [Define `services` in the `.gitlab-ci.yml` file](../services/index.md#define-services-in-the-gitlab-ciyml-file). +- [Available settings for `services`](../services/_index.md#available-settings-for-services). +- [Define `services` in the `.gitlab-ci.yml` file](../services/_index.md#define-services-in-the-gitlab-ciyml-file). - [Run your CI/CD jobs in Docker containers](../docker/using_docker_images.md). - [Use Docker to build Docker images](../docker/using_docker_build.md). @@ -5384,7 +5384,7 @@ trigger-multi-project-pipeline: **Related topics**: - [Multi-project pipeline configuration examples](../pipelines/downstream_pipelines.md#trigger-a-downstream-pipeline-from-a-job-in-the-gitlab-ciyml-file). -- To run a pipeline for a specific branch, tag, or commit, you can use a [trigger token](../triggers/index.md) +- To run a pipeline for a specific branch, tag, or commit, you can use a [trigger token](../triggers/_index.md) to authenticate with the [pipeline triggers API](../../api/pipeline_triggers.md). The trigger token is different than the `trigger` keyword. @@ -5448,7 +5448,7 @@ trigger-multi-project-pipeline: **Related topics**: - [Multi-project pipeline configuration examples](../pipelines/downstream_pipelines.md#trigger-a-downstream-pipeline-from-a-job-in-the-gitlab-ciyml-file). -- To run a pipeline for a specific branch, tag, or commit, you can also use a [trigger token](../triggers/index.md) +- To run a pipeline for a specific branch, tag, or commit, you can also use a [trigger token](../triggers/_index.md) to authenticate with the [pipeline triggers API](../../api/pipeline_triggers.md). The trigger token is different than the `trigger` keyword. @@ -5507,7 +5507,7 @@ unless the nested downstream trigger job also uses `trigger:forward`. **Example of `trigger:forward`**: -[Run this pipeline manually](../pipelines/index.md#run-a-pipeline-manually), with +[Run this pipeline manually](../pipelines/_index.md#run-a-pipeline-manually), with the CI/CD variable `MYVAR = my value`: ```yaml @@ -5657,9 +5657,9 @@ Variables can be [defined in a CI/CD job](#job-variables), or as a top-level (gl **Additional details**: -- All YAML-defined variables are also set to any linked [Docker service containers](../services/index.md). +- All YAML-defined variables are also set to any linked [Docker service containers](../services/_index.md). - YAML-defined variables are meant for non-sensitive project configuration. Store sensitive information - in [protected variables](../variables/_index.md#protect-a-cicd-variable) or [CI/CD secrets](../secrets/index.md). + in [protected variables](../variables/_index.md#protect-a-cicd-variable) or [CI/CD secrets](../secrets/_index.md). - [Manual pipeline variables](../variables/_index.md#use-pipeline-variables) and [scheduled pipeline variables](../pipelines/schedules.md#add-a-pipeline-schedule) are not passed to downstream pipelines by default. Use [trigger:forward](#triggerforward) @@ -5758,7 +5758,7 @@ In this example: #### `variables:description` Use the `description` keyword to define a description for a default variable. -The description displays with [the prefilled variable name when running a pipeline manually](../pipelines/index.md#prefill-variables-in-manual-pipelines). +The description displays with [the prefilled variable name when running a pipeline manually](../pipelines/_index.md#prefill-variables-in-manual-pipelines). **Keyword type**: You can only use this keyword with default `variables`, not job `variables`. @@ -5782,7 +5782,7 @@ variables: #### `variables:value` Use the `value` keyword to define a pipeline-level (default) variable's value. When used with -[`variables: description`](#variablesdescription), the variable value is [prefilled when running a pipeline manually](../pipelines/index.md#prefill-variables-in-manual-pipelines). +[`variables: description`](#variablesdescription), the variable value is [prefilled when running a pipeline manually](../pipelines/_index.md#prefill-variables-in-manual-pipelines). **Keyword type**: You can only use this keyword with default `variables`, not job `variables`. @@ -5808,7 +5808,7 @@ variables: > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/105502) in GitLab 15.7. -Use `variables:options` to define an array of values that are [selectable in the UI when running a pipeline manually](../pipelines/index.md#configure-a-list-of-selectable-prefilled-variable-values). +Use `variables:options` to define an array of values that are [selectable in the UI when running a pipeline manually](../pipelines/_index.md#configure-a-list-of-selectable-prefilled-variable-values). Must be used with `variables: value`, and the string defined for `value`: @@ -5937,15 +5937,15 @@ pipeline based on branch names or pipeline types. | -------------------------|-----------------| | `api` | For pipelines triggered by the [pipelines API](../../api/pipelines.md#create-a-new-pipeline). | | `branches` | When the Git reference for a pipeline is a branch. | - | `chat` | For pipelines created by using a [GitLab ChatOps](../chatops/index.md) command. | + | `chat` | For pipelines created by using a [GitLab ChatOps](../chatops/_index.md) command. | | `external` | When you use CI services other than GitLab. | - | `external_pull_requests` | When an external pull request on GitHub is created or updated (See [Pipelines for external pull requests](../ci_cd_for_external_repos/index.md#pipelines-for-external-pull-requests)). | + | `external_pull_requests` | When an external pull request on GitHub is created or updated (See [Pipelines for external pull requests](../ci_cd_for_external_repos/_index.md#pipelines-for-external-pull-requests)). | | `merge_requests` | For pipelines created when a merge request is created or updated. Enables [merge request pipelines](../pipelines/merge_request_pipelines.md), [merged results pipelines](../pipelines/merged_results_pipelines.md), and [merge trains](../pipelines/merge_trains.md). | | `pipelines` | For [multi-project pipelines](../pipelines/downstream_pipelines.md#multi-project-pipelines) created by [using the API with `CI_JOB_TOKEN`](../pipelines/downstream_pipelines.md#trigger-a-multi-project-pipeline-by-using-the-api), or the [`trigger`](#trigger) keyword. | | `pushes` | For pipelines triggered by a `git push` event, including for branches and tags. | | `schedules` | For [scheduled pipelines](../pipelines/schedules.md). | | `tags` | When the Git reference for a pipeline is a tag. | - | `triggers` | For pipelines created by using a [trigger token](../triggers/index.md#configure-cicd-jobs-to-run-in-triggered-pipelines). | + | `triggers` | For pipelines created by using a [trigger token](../triggers/_index.md#configure-cicd-jobs-to-run-in-triggered-pipelines). | | `web` | For pipelines created by selecting **New pipeline** in the GitLab UI, from the project's **Build > Pipelines** section. | **Example of `only:refs` and `except:refs`**: diff --git a/doc/ci/yaml/artifacts_reports.md b/doc/ci/yaml/artifacts_reports.md index bc046564c7010..2500affd28af2 100644 --- a/doc/ci/yaml/artifacts_reports.md +++ b/doc/ci/yaml/artifacts_reports.md @@ -121,7 +121,7 @@ GitLab cannot display the combined results of multiple `browser_performance` rep ## `artifacts:reports:coverage_report` -Use `coverage_report:` to collect [coverage report](../testing/index.md) in Cobertura or JaCoCo formats. +Use `coverage_report:` to collect [coverage report](../testing/_index.md) in Cobertura or JaCoCo formats. The `coverage_format:` Can be either [`cobertura`](../testing/test_coverage_visualization/cobertura.md) or [`jacoco`](../testing/test_coverage_visualization/jacoco.md). @@ -144,7 +144,7 @@ job artifact using [wildcards](../jobs/job_artifacts.md#with-wildcards). The results of the reports are aggregated in the final coverage report. GitLab can display the results of coverage report in the merge request -[diff annotations](../testing/test_coverage_visualization/index.md). +[diff annotations](../testing/test_coverage_visualization/_index.md). ## `artifacts:reports:codequality` diff --git a/doc/ci/yaml/includes.md b/doc/ci/yaml/includes.md index aa08aa9d34690..f4511269a1d44 100644 --- a/doc/ci/yaml/includes.md +++ b/doc/ci/yaml/includes.md @@ -406,9 +406,9 @@ In `include` sections in your `.gitlab-ci.yml` file, you can use: - [Group variables](../variables/_index.md#for-a-group). - [Instance variables](../variables/_index.md#for-an-instance). - Project [predefined variables](../variables/predefined_variables.md) (`CI_PROJECT_*`). -- [Trigger variables](../triggers/index.md#pass-cicd-variables-in-the-api-call). +- [Trigger variables](../triggers/_index.md#pass-cicd-variables-in-the-api-call). - [Scheduled pipeline variables](../pipelines/schedules.md#add-a-pipeline-schedule). -- [Manual pipeline run variables](../pipelines/index.md#run-a-pipeline-manually). +- [Manual pipeline run variables](../pipelines/_index.md#run-a-pipeline-manually). - The `CI_PIPELINE_SOURCE` and `CI_PIPELINE_TRIGGERED` [predefined variables](../variables/predefined_variables.md). - The `$CI_COMMIT_REF_NAME` [predefined variable](../variables/predefined_variables.md). @@ -625,7 +625,7 @@ it's likely that either: `include2.yml` which includes `include1.yml`, creating a recursive loop. To help reduce the risk of this happening, edit the pipeline configuration file -with the [pipeline editor](../pipeline_editor/index.md), which validates if the +with the [pipeline editor](../pipeline_editor/_index.md), which validates if the limit is reached. You can remove one included file at a time to try to narrow down which configuration file is the source of the loop or excessive included files. diff --git a/doc/ci/yaml/lint.md b/doc/ci/yaml/lint.md index ed61394617864..ef2e7184e495b 100644 --- a/doc/ci/yaml/lint.md +++ b/doc/ci/yaml/lint.md @@ -14,7 +14,7 @@ You can validate the syntax from a `.gitlab-ci.yml` file or any other sample CI/ This tool checks for syntax and logic errors, and can simulate pipeline creation to try to find more complicated configuration problems. -If you use the [pipeline editor](../pipeline_editor/index.md), it verifies configuration +If you use the [pipeline editor](../pipeline_editor/_index.md), it verifies configuration syntax automatically. If you use VS Code, you can validate your CI/CD configuration with the diff --git a/doc/ci/yaml/workflow.md b/doc/ci/yaml/workflow.md index f821d8b27c220..4c70199471efb 100644 --- a/doc/ci/yaml/workflow.md +++ b/doc/ci/yaml/workflow.md @@ -111,7 +111,7 @@ workflow: - ... # Previously defined workflow rules here ``` -[Triggered pipelines](../triggers/index.md) that run on a branch have a `$CI_COMMIT_BRANCH` +[Triggered pipelines](../triggers/_index.md) that run on a branch have a `$CI_COMMIT_BRANCH` set and could be blocked by a similar rule. Triggered pipelines have a pipeline source of `trigger` or `pipeline`, so `&& $CI_PIPELINE_SOURCE == "push"` ensures the rule does not block triggered pipelines. diff --git a/doc/ci/yaml/yaml_optimization.md b/doc/ci/yaml/yaml_optimization.md index a432463f61aa8..08fcb21e122cd 100644 --- a/doc/ci/yaml/yaml_optimization.md +++ b/doc/ci/yaml/yaml_optimization.md @@ -22,7 +22,7 @@ files by using: YAML has a feature called 'anchors' that you can use to duplicate content across your document. -Use anchors to duplicate or inherit properties. Use anchors with [hidden jobs](../jobs/index.md#hide-a-job) +Use anchors to duplicate or inherit properties. Use anchors with [hidden jobs](../jobs/_index.md#hide-a-job) to provide templates for your jobs. When there are duplicate keys, the latest included key wins, overriding the other keys. In certain cases (see [YAML anchors for scripts](#yaml-anchors-for-scripts)), you can use YAML anchors to build arrays with multiple components defined elsewhere. For example: @@ -67,7 +67,7 @@ test2: `&` sets up the name of the anchor (`job_configuration`), `<<` means "merge the given hash into the current one," and `*` includes the named anchor -(`job_configuration` again). The [expanded](../pipeline_editor/index.md#view-full-configuration) version of this example is: +(`job_configuration` again). The [expanded](../pipeline_editor/_index.md#view-full-configuration) version of this example is: ```yaml .job_template: @@ -125,7 +125,7 @@ test:mysql: services: *mysql_configuration ``` -The [expanded](../pipeline_editor/index.md#view-full-configuration) version is: +The [expanded](../pipeline_editor/_index.md#view-full-configuration) version is: ```yaml .job_template: @@ -464,7 +464,7 @@ In this example, the `nested-references` job runs all three `echo` commands. ### Configure your IDE to support `!reference` tags -The [pipeline editor](../pipeline_editor/index.md) supports `!reference` tags. However, the schema rules for custom YAML +The [pipeline editor](../pipeline_editor/_index.md) supports `!reference` tags. However, the schema rules for custom YAML tags like `!reference` might be treated as invalid by your editor by default. You can configure some editors to accept `!reference` tags. For example: diff --git a/doc/cloud_seed/_index.md b/doc/cloud_seed/_index.md index 7006447fcc467..07e9f6fa122fb 100644 --- a/doc/cloud_seed/_index.md +++ b/doc/cloud_seed/_index.md @@ -74,7 +74,7 @@ The generated service account has the following roles: - `roles/cloudsql.client` - `roles/browser` -You can enhance security by storing CI variables in secret managers. For more information, see [secret management with GitLab](../ci/secrets/index.md). +You can enhance security by storing CI variables in secret managers. For more information, see [secret management with GitLab](../ci/secrets/_index.md). ### Configure your preferred GCP region diff --git a/doc/development/architecture.md b/doc/development/architecture.md index f0a8787cfdd7b..3f028c4ce866f 100644 --- a/doc/development/architecture.md +++ b/doc/development/architecture.md @@ -573,7 +573,7 @@ You can use it either for personal or business websites, such as portfolios, doc - [Source](https://docs.gitlab.com/runner/) - [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/main/doc/howto/runner.md) - Layer: Core Service (Processor) -- GitLab.com: [Runners](../ci/runners/index.md) +- GitLab.com: [Runners](../ci/runners/_index.md) GitLab Runner runs jobs and sends the results to GitLab. diff --git a/doc/development/chatops_on_gitlabcom.md b/doc/development/chatops_on_gitlabcom.md index df4eb4e3841f1..da0a4834ed7c8 100644 --- a/doc/development/chatops_on_gitlabcom.md +++ b/doc/development/chatops_on_gitlabcom.md @@ -57,7 +57,7 @@ To request access to ChatOps on GitLab.com: ## See also -- [ChatOps Usage](../ci/chatops/index.md) +- [ChatOps Usage](../ci/chatops/_index.md) - [Feature Flag Controls](feature_flags/controls.md) - [Understanding EXPLAIN plans](database/understanding_explain_plans.md) - [Feature Groups](feature_flags/_index.md#feature-groups) diff --git a/doc/development/cicd/_index.md b/doc/development/cicd/_index.md index 4312da1f9e4cb..febfadc4abea4 100644 --- a/doc/development/cicd/_index.md +++ b/doc/development/cicd/_index.md @@ -85,9 +85,9 @@ On the left side we have the events that can trigger a pipeline based on various - When a [merge request is created or updated](../../ci/pipelines/merge_request_pipelines.md). - When an MR is added to a [Merge Train](../../ci/pipelines/merge_trains.md). - A [scheduled pipeline](../../ci/pipelines/schedules.md). -- When project is [subscribed to an upstream project](../../ci/pipelines/index.md#trigger-a-pipeline-when-an-upstream-project-is-rebuilt-deprecated). +- When project is [subscribed to an upstream project](../../ci/pipelines/_index.md#trigger-a-pipeline-when-an-upstream-project-is-rebuilt-deprecated). - When [Auto DevOps](../../topics/autodevops/_index.md) is enabled. -- When GitHub integration is used with [external pull requests](../../ci/ci_cd_for_external_repos/index.md#pipelines-for-external-pull-requests). +- When GitHub integration is used with [external pull requests](../../ci/ci_cd_for_external_repos/_index.md#pipelines-for-external-pull-requests). - When an upstream pipeline contains a [bridge job](../../ci/yaml/_index.md#trigger) which triggers a downstream pipeline. Triggering any of these events invokes the [`CreatePipelineService`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/services/ci/create_pipeline_service.rb) @@ -116,7 +116,7 @@ successfully or fail. Each status transition for job within a pipeline triggers looks for the next jobs to be transitioned towards completion. While doing that, `ProcessPipelineService` updates the status of jobs, stages and the overall pipeline. -On the right side of the diagram we have a list of [runners](../../ci/runners/index.md) +On the right side of the diagram we have a list of [runners](../../ci/runners/_index.md) connected to the GitLab instance. These can be instance runners, group runners, or project runners. The communication between runners and the Rails server occurs through a set of API endpoints, grouped as the `Runner API Gateway`. diff --git a/doc/development/cicd/components.md b/doc/development/cicd/components.md index 8a7eb3c3487f7..4dd1da2e3bc42 100644 --- a/doc/development/cicd/components.md +++ b/doc/development/cicd/components.md @@ -5,7 +5,7 @@ info: Any user with at least the Maintainer role can merge updates to this conte title: Development guide for GitLab official CI/CD components --- -This document explains how to develop [CI/CD components](../../ci/components/index.md) that are maintained by GitLab, either the official public ones or those for internal use. +This document explains how to develop [CI/CD components](../../ci/components/_index.md) that are maintained by GitLab, either the official public ones or those for internal use. The location for all official GitLab component projects is the [`gitlab.com/components`](https://gitlab.com/components) group. This group contains all components that are designed to be generic, served to all GitLab users, and maintained by GitLab. @@ -16,7 +16,7 @@ but it needs to be moved into the `components` group before the first version ge Components that are for GitLab internal use only, for example specific to `gitlab-org/gitlab` project, should be implemented under `gitlab-org` group. -Component projects that are expected to be published in the [CI/CD catalog](../../ci/components/index.md#cicd-catalog) +Component projects that are expected to be published in the [CI/CD catalog](../../ci/components/_index.md#cicd-catalog) should first be dogfooded to ensure we stay on top of the project quality and have first-hand experience with it. @@ -49,9 +49,9 @@ in the catalog. 1. Create a project under [`gitlab.com/components`](https://gitlab.com/components) or ask one of the group owners to create an empty project for you. -1. Follow the [standard guide for creating components](../../ci/components/index.md). +1. Follow the [standard guide for creating components](../../ci/components/_index.md). 1. Add a concise project description that clearly describes the capabilities offered by the component project. -1. Make sure to follow the general guidance given to [write a component](../../ci/components/index.md#write-a-component) as well as +1. Make sure to follow the general guidance given to [write a component](../../ci/components/_index.md#write-a-component) as well as the guidance [for official components](#best-practices-for-official-components). 1. Add a `LICENSE.md` file with the MIT license ([example](https://gitlab.com/components/ruby/-/blob/d8db5288b01947e8a931d8d1a410befed69325a7/LICENSE.md)). 1. The project must have a `.gitlab-ci.yml` file that: @@ -70,7 +70,7 @@ in the catalog. - **Inputs**: A table showing the input names, types, default values (if any) and descriptions. - **Variables** (when applicable): The variable names, supported values, and descriptions. - **Contribute**: Notes and how to get in touch with the maintainers. - Usually the contribution process should follow the [official guide](../../ci/components/index.md). + Usually the contribution process should follow the [official guide](../../ci/components/_index.md). 1. Use underscores `_` for composite input names and hyphens `-` as separators, if necessary. For example: `service_x-project_name`. ## Review and contribution process for official components @@ -104,7 +104,7 @@ Requirements for becoming a maintainer: - Have a an in-depth understanding of the [CI/CD YAML syntax](../../ci/yaml/_index.md) and features. - Understand how CI components work and demonstrate experience developing them. -- Have a solid understanding of how to [write a component](../../ci/components/index.md#write-a-component). +- Have a solid understanding of how to [write a component](../../ci/components/_index.md#write-a-component). How to join the `gitlab-components` group of general maintainers: diff --git a/doc/development/cicd/schema.md b/doc/development/cicd/schema.md index c21adac352f38..3b887ba337249 100644 --- a/doc/development/cicd/schema.md +++ b/doc/development/cicd/schema.md @@ -5,7 +5,7 @@ info: Any user with at least the Maintainer role can merge updates to this conte title: Contribute to the CI/CD Schema --- -The [pipeline editor](../../ci/pipeline_editor/index.md) uses a CI/CD schema to enhance +The [pipeline editor](../../ci/pipeline_editor/_index.md) uses a CI/CD schema to enhance the authoring experience of our CI/CD configuration files. With the CI/CD schema, the editor can: - Validate the content of the CI/CD configuration file as it is being written in the editor. diff --git a/doc/development/cicd/templates.md b/doc/development/cicd/templates.md index d98766608e150..f401ecae344f0 100644 --- a/doc/development/cicd/templates.md +++ b/doc/development/cicd/templates.md @@ -6,9 +6,9 @@ title: Development guide for GitLab CI/CD templates (Deprecated) --- NOTE: -With the introduction of the [CI/CD Catalog](../../ci/components/index.md#cicd-catalog), +With the introduction of the [CI/CD Catalog](../../ci/components/_index.md#cicd-catalog), GitLab is no longer accepting contributions of new CI/CD templates to the codebase. Instead, -we encourage team members to create [CI/CD components](../../ci/components/index.md) +we encourage team members to create [CI/CD components](../../ci/components/_index.md) for the catalog. This transition enhances the modularity and maintainability of our shared CI/CD resources, and avoids the complexities of contributing new CI/CD templates. If you need to update an existing template, you must also update the matching CI/CD component. @@ -16,7 +16,7 @@ If no component exists that matches the CI/CD template yet, consider [creating t This ensures that template and component functionality remain in sync, aligning with our new development practices. -This document explains how to develop [GitLab CI/CD templates](../../ci/examples/index.md#cicd-templates). +This document explains how to develop [GitLab CI/CD templates](../../ci/examples/_index.md#cicd-templates). ## Requirements for CI/CD templates diff --git a/doc/development/contributing/first_contribution/mr-review.md b/doc/development/contributing/first_contribution/mr-review.md index bbdf86c5c6aaa..00d29fa3bb2eb 100644 --- a/doc/development/contributing/first_contribution/mr-review.md +++ b/doc/development/contributing/first_contribution/mr-review.md @@ -44,7 +44,7 @@ Someone from GitLab will look at your request and let you know what the next ste ## Complete the review process -After you create a merge request, GitLab automatically triggers a [CI/CD pipeline](../../../ci/pipelines/index.md) +After you create a merge request, GitLab automatically triggers a [CI/CD pipeline](../../../ci/pipelines/_index.md) that runs tests, linting, security scans, and more. Your pipeline must be successful for your merge request to be merged. diff --git a/doc/development/documentation/review_apps.md b/doc/development/documentation/review_apps.md index fa84333bb48c8..f68ba3b961c2c 100644 --- a/doc/development/documentation/review_apps.md +++ b/doc/development/documentation/review_apps.md @@ -6,7 +6,7 @@ description: Learn how documentation review apps work. title: Documentation review apps --- -GitLab team members can deploy a [review app](../../ci/review_apps/index.md) for merge requests with documentation +GitLab team members can deploy a [review app](../../ci/review_apps/_index.md) for merge requests with documentation changes. The review app helps you preview what the changes would look like if they were deployed to either: - The [GitLab Docs site](https://docs.gitlab.com). diff --git a/doc/development/documentation/site_architecture/deployment_process.md b/doc/development/documentation/site_architecture/deployment_process.md index 19a3845d3ab48..9c5ef2e5b4a2a 100644 --- a/doc/development/documentation/site_architecture/deployment_process.md +++ b/doc/development/documentation/site_architecture/deployment_process.md @@ -27,7 +27,7 @@ Documentation deployments have dependencies on pipelines and Docker images as fo - The Pages deployment pipelines depend on the latest documentation images (which, in turn, depend on the stable pipelines and images.) -For general information on using Docker with CI/CD pipelines, see [Docker integration](../../../ci/docker/index.md). +For general information on using Docker with CI/CD pipelines, see [Docker integration](../../../ci/docker/_index.md). ## Stable branches diff --git a/doc/development/feature_flags/_index.md b/doc/development/feature_flags/_index.md index 7db7e9da6fc7a..de2f77805aba5 100644 --- a/doc/development/feature_flags/_index.md +++ b/doc/development/feature_flags/_index.md @@ -405,7 +405,7 @@ feature flag for you by applying this patch. ## List all the feature flags -To [use ChatOps](../../ci/chatops/index.md) to output all the feature flags in an environment to Slack, you can use the `run feature list` +To [use ChatOps](../../ci/chatops/_index.md) to output all the feature flags in an environment to Slack, you can use the `run feature list` command. For example: ```shell diff --git a/doc/development/feature_flags/controls.md b/doc/development/feature_flags/controls.md index ab9d4a765ba57..b26a69642a2ce 100644 --- a/doc/development/feature_flags/controls.md +++ b/doc/development/feature_flags/controls.md @@ -39,7 +39,7 @@ easier to measure the impact of both separately. The GitLab feature library (using [Flipper](https://github.com/jnunemaker/flipper), and covered in the [Feature flags process](https://handbook.gitlab.com/handbook/product-development-flow/feature-flag-lifecycle/) guide) supports rolling out changes to a percentage of -time to users. This in turn can be controlled using [GitLab ChatOps](../../ci/chatops/index.md). +time to users. This in turn can be controlled using [GitLab ChatOps](../../ci/chatops/_index.md). For an up to date list of feature flag commands see [the source code](https://gitlab.com/gitlab-com/chatops/blob/master/lib/chatops/commands/feature.rb). diff --git a/doc/development/features_inside_dot_gitlab.md b/doc/development/features_inside_dot_gitlab.md index 6c441dbe9e8d0..e5e811acb72bb 100644 --- a/doc/development/features_inside_dot_gitlab.md +++ b/doc/development/features_inside_dot_gitlab.md @@ -12,7 +12,7 @@ When implementing new features, refer to these existing features to avoid confli - [Merge request Templates](../user/project/description_templates.md#create-a-merge-request-template): `.gitlab/merge_request_templates/`. - [GitLab agent](https://gitlab.com/gitlab-org/cluster-integration/gitlab-agent): `.gitlab/agents/`. - [CODEOWNERS](../user/project/codeowners/index.md#set-up-code-owners): `.gitlab/CODEOWNERS`. -- [Route Maps](../ci/review_apps/index.md#route-maps): `.gitlab/route-map.yml`. +- [Route Maps](../ci/review_apps/_index.md#route-maps): `.gitlab/route-map.yml`. - [Customize Auto DevOps Helm Values](../topics/autodevops/customize.md#customize-helm-chart-values): `.gitlab/auto-deploy-values.yaml`. - [Insights](../user/project/insights/index.md#configure-project-insights): `.gitlab/insights.yml`. - [Service Desk Templates](../user/project/service_desk/configure.md#customize-emails-sent-to-external-participants): `.gitlab/service_desk_templates/`. diff --git a/doc/development/go_guide/_index.md b/doc/development/go_guide/_index.md index fb2a6778c8b80..f0b7db204acc6 100644 --- a/doc/development/go_guide/_index.md +++ b/doc/development/go_guide/_index.md @@ -193,7 +193,7 @@ In some cases, such as building a Go project for it to act as a dependency of a CI run for another project, removing the `vendor/` directory means the code must be downloaded repeatedly, which can lead to intermittent problems due to rate limiting or network failures. In these circumstances, you should -[cache the downloaded code between](../../ci/caching/index.md#cache-go-dependencies). +[cache the downloaded code between](../../ci/caching/_index.md#cache-go-dependencies). There was a [bug on modules checksums](https://github.com/golang/go/issues/29278) in Go versions earlier than v1.11.4, so make diff --git a/doc/development/integrations/secure.md b/doc/development/integrations/secure.md index 54d0fff0c4c42..bc1c5f58e013f 100644 --- a/doc/development/integrations/secure.md +++ b/doc/development/integrations/secure.md @@ -6,7 +6,7 @@ title: Security scanner integration --- Integrating a security scanner into GitLab consists of providing end users -with a [CI/CD job definition](../../ci/jobs/index.md) +with a [CI/CD job definition](../../ci/jobs/_index.md) they can add to their CI/CD configuration files to scan their GitLab projects. This job should then output its results in a GitLab-specified format. These results are then automatically presented in various places in GitLab, such as the Pipeline view, merge request diff --git a/doc/development/integrations/secure_partner_integration.md b/doc/development/integrations/secure_partner_integration.md index 10c45d76e4400..25f041e917e58 100644 --- a/doc/development/integrations/secure_partner_integration.md +++ b/doc/development/integrations/secure_partner_integration.md @@ -42,7 +42,7 @@ best place to integrate your own product and its results into GitLab. implications for app security, corporate policy, or compliance. When complete, the job reports back on its status and creates a [job artifact](../../ci/jobs/job_artifacts.md) as a result. -- The [Merge Request Security Widget](../../ci/testing/index.md#security-reports) +- The [Merge Request Security Widget](../../ci/testing/_index.md#security-reports) displays the results of the pipeline's security checks and the developer can review them. The developer can review both a summary and a detailed version of the results. @@ -93,7 +93,7 @@ and complete an integration with the Secure stage. - If you need a new kind of scan or report, [create an issue](https://gitlab.com/gitlab-org/gitlab/-/issues/new#) and add the label `devops::secure`. - Once the job is completed, the data can be seen: - - In the [Merge Request Security Report](../../ci/testing/index.md#security-reports) ([MR Security Report data flow](https://gitlab.com/snippets/1910005#merge-request-view)). + - In the [Merge Request Security Report](../../ci/testing/_index.md#security-reports) ([MR Security Report data flow](https://gitlab.com/snippets/1910005#merge-request-view)). - While [browsing a Job Artifact](../../ci/jobs/job_artifacts.md). - In the [Security Dashboard](../../user/application_security/security_dashboard/index.md) ([Dashboard data flow](https://gitlab.com/snippets/1910005#project-and-group-dashboards)). 1. Optional: Provide a way to interact with results as Vulnerabilities: diff --git a/doc/development/pipelines/_index.md b/doc/development/pipelines/_index.md index 7829e6b2c4d16..49f12cc20e8c6 100644 --- a/doc/development/pipelines/_index.md +++ b/doc/development/pipelines/_index.md @@ -12,9 +12,9 @@ which itself includes files under for easier maintenance. We're striving to [dogfood](https://handbook.gitlab.com/handbook/engineering/development/principles/#dogfooding) -GitLab [CI/CD features and best-practices](../../ci/index.md) as much as possible. +GitLab [CI/CD features and best-practices](../../ci/_index.md) as much as possible. -Do not use [CI/CD components](../../ci/components/index.md) in `gitlab-org/gitlab` pipelines +Do not use [CI/CD components](../../ci/components/_index.md) in `gitlab-org/gitlab` pipelines unless they are mirrored on the `dev.gitlab.com` instance. CI/CD components do not work across different instances, and [cause failing pipelines](https://gitlab.com/gitlab-com/gl-infra/production/-/issues/17683#note_1795756077) on the `dev.gitlab.com` mirror if they do not exist on that instance. diff --git a/doc/development/pipelines/performance.md b/doc/development/pipelines/performance.md index c2d397b8e80af..59df92008a832 100644 --- a/doc/development/pipelines/performance.md +++ b/doc/development/pipelines/performance.md @@ -83,7 +83,7 @@ set `CI_FETCH_REPO_GIT_STRATEGY` to `none`. - `.qa-cache` - `.yarn-cache` - `.assets-compile-cache` (the key includes `${NODE_ENV}` so it's actually two different caches). -1. These cache definitions are composed of [multiple atomic caches](../../ci/caching/index.md#use-multiple-caches). +1. These cache definitions are composed of [multiple atomic caches](../../ci/caching/_index.md#use-multiple-caches). 1. Only the following jobs, running in 2-hourly `maintenance` scheduled pipelines, are pushing (that is, updating) to the caches: - `update-setup-test-env-cache`, defined in [`.gitlab/ci/rails.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/ci/rails.gitlab-ci.yml). - `update-gitaly-binaries-cache`, defined in [`.gitlab/ci/rails.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/ci/rails.gitlab-ci.yml). diff --git a/doc/install/aws/_index.md b/doc/install/aws/_index.md index 05b0750e0835a..b66a6766ec311 100644 --- a/doc/install/aws/_index.md +++ b/doc/install/aws/_index.md @@ -842,7 +842,7 @@ that you can ping and get reports. ## GitLab Runner -If you want to take advantage of [GitLab CI/CD](../../ci/index.md), you have to +If you want to take advantage of [GitLab CI/CD](../../ci/_index.md), you have to set up at least one [runner](https://docs.gitlab.com/runner/). Read more on configuring an diff --git a/doc/integration/jenkins.md b/doc/integration/jenkins.md index 2e06dfd2a8c4b..d18772b359a5a 100644 --- a/doc/integration/jenkins.md +++ b/doc/integration/jenkins.md @@ -16,7 +16,7 @@ building, deploying and automating projects. You should use a Jenkins integration with GitLab when: -- You plan to migrate your CI from Jenkins to [GitLab CI/CD](../ci/index.md) +- You plan to migrate your CI from Jenkins to [GitLab CI/CD](../ci/_index.md) in the future, but need an interim solution. - You're invested in [Jenkins plugins](https://plugins.jenkins.io/) and choose to keep using Jenkins to build your apps. @@ -25,7 +25,7 @@ This integration can trigger a Jenkins build when a change is pushed to GitLab. You cannot use this integration to trigger GitLab CI/CD pipelines from Jenkins. Instead, use the [pipeline triggers API endpoint](../api/pipeline_triggers.md) in a Jenkins job, -authenticated with a [pipeline trigger token](../ci/triggers/index.md#create-a-pipeline-trigger-token). +authenticated with a [pipeline trigger token](../ci/triggers/_index.md#create-a-pipeline-trigger-token). After you have configured a Jenkins integration, you trigger a build in Jenkins when you push code to your repository or create a merge request in GitLab. The diff --git a/doc/security/hardening_cicd_recommendations.md b/doc/security/hardening_cicd_recommendations.md index c8288c2aeb584..bffa6cd3c2c86 100644 --- a/doc/security/hardening_cicd_recommendations.md +++ b/doc/security/hardening_cicd_recommendations.md @@ -25,7 +25,7 @@ information to help harden the CI/CD process. container technology should be used, such as GCP Secret Manager, AWS KMS, or HashiCorp Vault. For self-managed and standalone instances, HashiCorp Vault is recommended, and many GitLab features can take advantage of Vault and are well - documented in the main [Documentation](../index.md). For detailed CI/CD examples, see [using external secrets in CI](../ci/secrets/index.md). + documented in the main [Documentation](../index.md). For detailed CI/CD examples, see [using external secrets in CI](../ci/secrets/_index.md). - **External Communications**. If your CI/CD process requires connectivity to other hosts, ensure that these communication channels are encrypted. You should use TLS 1.2 or 1.3, and where possible implement mutual TLS. - **Logging**. Logging can be very important for auditing and troubleshooting, so it @@ -45,7 +45,7 @@ By default, only the default branch gets a protected pipeline. An owner of a pro can ensure that other branches are protected by [configuring a protected branch](../user/project/repository/branches/protected.md). This allows for more restricted security on pipelines. For more information, see -[pipeline security on a protected branch](../ci/pipelines/index.md#pipeline-security-on-protected-branches). +[pipeline security on a protected branch](../ci/pipelines/_index.md#pipeline-security-on-protected-branches). Deployment is the part of the CI/CD that deploys the results of the pipeline in relationship to a given environment. Default settings do not impose many diff --git a/doc/security/hardening_nist_800_53.md b/doc/security/hardening_nist_800_53.md index a5fe5873b9931..7224c93fe6a23 100644 --- a/doc/security/hardening_nist_800_53.md +++ b/doc/security/hardening_nist_800_53.md @@ -420,7 +420,7 @@ may violate an established authorization boundary where federal data is permitted to be stored and processed. GitLab provides runner container images configured to run on FIPS-enabled systems. GitLab provides hardening guidance for pipelines, including how to [configure protected branches](../user/project/repository/branches/protected.md) -and [implement pipeline security](../ci/pipelines/index.md#pipeline-security-on-protected-branches). +and [implement pipeline security](../ci/pipelines/_index.md#pipeline-security-on-protected-branches). Additionally, customers may want to consider assigning [required checks](../user/project/merge_requests/status_checks.md) before merging code to ensure that all checks have passed prior to updating the code. diff --git a/doc/security/tokens/_index.md b/doc/security/tokens/_index.md index 847e8a1ed0cb9..b1dd174e7ce06 100644 --- a/doc/security/tokens/_index.md +++ b/doc/security/tokens/_index.md @@ -31,7 +31,7 @@ To keep your tokens secure: Do not: - Store tokens in plaintext in your projects. If the token is an external secret for GitLab CI/CD, - review how to [use external secrets in CI/CD](../../ci/secrets/index.md) recommendations. + review how to [use external secrets in CI/CD](../../ci/secrets/_index.md) recommendations. - Include tokens when pasting code, console commands, or log outputs into an issue, MR description, comment, or any other free text inputs. - Log credentials in the console logs or artifacts. Consider [protecting](../../ci/variables/_index.md#protect-a-cicd-variable) and [masking](../../ci/variables/_index.md#mask-a-cicd-variable) your credentials. diff --git a/doc/solutions/cloud/aws/gitlab_aws_integration.md b/doc/solutions/cloud/aws/gitlab_aws_integration.md index ced00c1a3843e..53e0df4107368 100644 --- a/doc/solutions/cloud/aws/gitlab_aws_integration.md +++ b/doc/solutions/cloud/aws/gitlab_aws_integration.md @@ -147,7 +147,7 @@ Top-level groups on GitLab.com are also known as "Namespaces" and naming one aft ### Runner workload authentication and authorization integration -- [Runner Job Authentication using Open ID & JWT Authentication](../../../ci/cloud_services/aws/index.md). `[GitLab Built]` +- [Runner Job Authentication using Open ID & JWT Authentication](../../../ci/cloud_services/aws/_index.md). `[GitLab Built]` - [Configure OpenID Connect between GitLab and AWS](https://gitlab.com/guided-explorations/aws/configure-openid-connect-in-aws) `[GitLab Solution]` `[CI Solution]` - [OIDC and Multi-Account Deployment with GitLab and ECS](https://gitlab.com/guided-explorations/aws/oidc-and-multi-account-deployment-with-ecs) `[GitLab Solution]` `[CI Solution]` diff --git a/doc/subscriptions/gitlab_com/_index.md b/doc/subscriptions/gitlab_com/_index.md index d5b65bdbd6d09..e0332a73f8f5a 100644 --- a/doc/subscriptions/gitlab_com/_index.md +++ b/doc/subscriptions/gitlab_com/_index.md @@ -385,7 +385,7 @@ You cannot transfer: ## Compute minutes [Compute minutes](../../ci/pipelines/compute_minutes.md) is the resource consumed when running -[CI/CD pipelines](../../ci/index.md) on GitLab instance runners. If you run out of compute minutes, +[CI/CD pipelines](../../ci/_index.md) on GitLab instance runners. If you run out of compute minutes, you can [purchase additional compute minutes](compute_minutes.md). ## Enterprise Agile Planning diff --git a/doc/subscriptions/gitlab_com/compute_minutes.md b/doc/subscriptions/gitlab_com/compute_minutes.md index dae7265b6c5c2..252b3ff82e9dc 100644 --- a/doc/subscriptions/gitlab_com/compute_minutes.md +++ b/doc/subscriptions/gitlab_com/compute_minutes.md @@ -10,7 +10,7 @@ DETAILS: **Offering:** GitLab.com [Compute minutes](../../ci/pipelines/compute_minutes.md) is the resource consumed -when running [CI/CD pipelines](../../ci/index.md) on GitLab instance runners. You can find +when running [CI/CD pipelines](../../ci/_index.md) on GitLab instance runners. You can find pricing for additional compute minutes on the [GitLab Pricing page](https://about.gitlab.com/pricing/#compute-minutes). Additional compute minutes: diff --git a/doc/topics/autodevops/_index.md b/doc/topics/autodevops/_index.md index dd6c07652f72c..233ba0719c97d 100644 --- a/doc/topics/autodevops/_index.md +++ b/doc/topics/autodevops/_index.md @@ -180,7 +180,7 @@ installation pods at runtime. ## Related topics -- [Continuous methodologies](../../ci/index.md) +- [Continuous methodologies](../../ci/_index.md) - [Docker](https://docs.docker.com) - [GitLab Runner](https://docs.gitlab.com/runner/) - [Helm](https://helm.sh/docs/) diff --git a/doc/topics/autodevops/cicd_variables.md b/doc/topics/autodevops/cicd_variables.md index 11a6964b0e717..38047cce4c128 100644 --- a/doc/topics/autodevops/cicd_variables.md +++ b/doc/topics/autodevops/cicd_variables.md @@ -270,7 +270,7 @@ DETAILS: You can use a [canary environment](../../user/project/canary_deployments.md) before deploying any changes to production. -If you set `CANARY_ENABLED`, GitLab creates two [manual jobs](../../ci/pipelines/index.md#add-manual-interaction-to-your-pipeline): +If you set `CANARY_ENABLED`, GitLab creates two [manual jobs](../../ci/pipelines/_index.md#add-manual-interaction-to-your-pipeline): - `canary` - Deploys the application to the canary environment. - `production_manual` - Deploys the application to production. diff --git a/doc/topics/autodevops/cloud_deployments/auto_devops_with_ec2.md b/doc/topics/autodevops/cloud_deployments/auto_devops_with_ec2.md index 90c13c8ec5b4f..a6e7c4e30f5df 100644 --- a/doc/topics/autodevops/cloud_deployments/auto_devops_with_ec2.md +++ b/doc/topics/autodevops/cloud_deployments/auto_devops_with_ec2.md @@ -7,7 +7,7 @@ title: Use Auto DevOps to deploy to EC2 To use [Auto DevOps](../_index.md) to deploy to EC2: -1. Define [your AWS credentials as CI/CD variables](../../../ci/cloud_deployment/index.md#authenticate-gitlab-with-aws). +1. Define [your AWS credentials as CI/CD variables](../../../ci/cloud_deployment/_index.md#authenticate-gitlab-with-aws). 1. In your `.gitlab-ci.yml` file, reference the `Auto-Devops.gitlab-ci.yml` template. 1. Define a job for the `build` stage named `build_artifact`. For example: diff --git a/doc/topics/autodevops/cloud_deployments/auto_devops_with_ecs.md b/doc/topics/autodevops/cloud_deployments/auto_devops_with_ecs.md index ce4e00b24b639..a2b0e0022b483 100644 --- a/doc/topics/autodevops/cloud_deployments/auto_devops_with_ecs.md +++ b/doc/topics/autodevops/cloud_deployments/auto_devops_with_ecs.md @@ -19,7 +19,7 @@ To do so, follow these steps: - `ECS` if you're not enforcing any launch type check when deploying to ECS. When you trigger a pipeline, if you have Auto DevOps enabled and if you have correctly -[entered AWS credentials as variables](../../../ci/cloud_deployment/index.md#authenticate-gitlab-with-aws), +[entered AWS credentials as variables](../../../ci/cloud_deployment/_index.md#authenticate-gitlab-with-aws), your application is deployed to AWS ECS. If you have both a valid `AUTO_DEVOPS_PLATFORM_TARGET` variable and a Kubernetes cluster tied to your project, diff --git a/doc/topics/autodevops/cloud_deployments/auto_devops_with_eks.md b/doc/topics/autodevops/cloud_deployments/auto_devops_with_eks.md index d15b25f8cf2fc..6bc269b1077e1 100644 --- a/doc/topics/autodevops/cloud_deployments/auto_devops_with_eks.md +++ b/doc/topics/autodevops/cloud_deployments/auto_devops_with_eks.md @@ -12,7 +12,7 @@ The tutorial uses the GitLab native Kubernetes integration, so you don't need to create a Kubernetes cluster manually using the AWS console. You can also follow this tutorial on a self-managed instance. -Ensure your own [runners are configured](../../../ci/runners/index.md). +Ensure your own [runners are configured](../../../ci/runners/_index.md). To deploy a project to EKS: diff --git a/doc/topics/autodevops/cloud_deployments/auto_devops_with_gke.md b/doc/topics/autodevops/cloud_deployments/auto_devops_with_gke.md index 2738960a75680..cd772ee8b084f 100644 --- a/doc/topics/autodevops/cloud_deployments/auto_devops_with_gke.md +++ b/doc/topics/autodevops/cloud_deployments/auto_devops_with_gke.md @@ -17,7 +17,7 @@ to create a Kubernetes cluster manually using the Google Cloud Platform console. You are creating and deploying an application that you create from a GitLab template. These instructions also work for GitLab Self-Managed. -Ensure your own [runners are configured](../../../ci/runners/index.md) and +Ensure your own [runners are configured](../../../ci/runners/_index.md) and [Google OAuth is enabled](../../../integration/google.md). To deploy a project to Google Kubernetes Engine, follow the steps below: diff --git a/doc/topics/autodevops/multiple_clusters_auto_devops.md b/doc/topics/autodevops/multiple_clusters_auto_devops.md index 7c051c1f8064b..0776ef2fba548 100644 --- a/doc/topics/autodevops/multiple_clusters_auto_devops.md +++ b/doc/topics/autodevops/multiple_clusters_auto_devops.md @@ -46,7 +46,7 @@ NOTE: | Cluster name | Cluster environment scope | `KUBE_INGRESS_BASE_DOMAIN` value | `KUBE CONTEXT` value | Variable environment scope | Notes | | :------------| :-------------------------| :------------------------------- | :--------------------------------- | :--------------------------|:--| -| review | `review/*` | `review.example.com` | `path/to/project:review-agent` | `review/*` | A review cluster that runs all [review apps](../../ci/review_apps/index.md).| +| review | `review/*` | `review.example.com` | `path/to/project:review-agent` | `review/*` | A review cluster that runs all [review apps](../../ci/review_apps/_index.md). | | staging | `staging` | `staging.example.com` | `path/to/project:staging-agent` | `staging` | Optional. A staging cluster that runs the deployments of the staging environments. You must [enable it first](cicd_variables.md#deploy-policy-for-staging-and-production-environments). | | production | `production` | `example.com` | `path/to/project:production-agent` | `production` | A production cluster that runs the production environment deployments. You can use [incremental rollouts](cicd_variables.md#incremental-rollout-to-production). | diff --git a/doc/topics/autodevops/prepare_deployment.md b/doc/topics/autodevops/prepare_deployment.md index 8b9568ce79a69..47a6521778a12 100644 --- a/doc/topics/autodevops/prepare_deployment.md +++ b/doc/topics/autodevops/prepare_deployment.md @@ -16,7 +16,7 @@ recommend that you prepare them before enabling Auto DevOps. ## Deployment strategy When using Auto DevOps to deploy your applications, choose the -[continuous deployment strategy](../../ci/index.md) +[continuous deployment strategy](../../ci/_index.md) that works best for your needs: | Deployment strategy | Setup | Methodology | diff --git a/doc/topics/autodevops/requirements.md b/doc/topics/autodevops/requirements.md index 175500525e458..ac7472a53c2ed 100644 --- a/doc/topics/autodevops/requirements.md +++ b/doc/topics/autodevops/requirements.md @@ -31,7 +31,7 @@ To prepare the deployment: ## Auto DevOps deployment strategy When using Auto DevOps to deploy your applications, choose the -[continuous deployment strategy](../../ci/index.md) +[continuous deployment strategy](../../ci/_index.md) that works best for your needs: | Deployment strategy | Setup | Methodology | diff --git a/doc/topics/autodevops/stages.md b/doc/topics/autodevops/stages.md index 2c454dddc06de..b9f3567de941f 100644 --- a/doc/topics/autodevops/stages.md +++ b/doc/topics/autodevops/stages.md @@ -224,7 +224,7 @@ This is an optional step, since many projects don't have a Kubernetes cluster available. If the [requirements](requirements.md) are not met, the job is silently skipped. -[Review apps](../../ci/review_apps/index.md) are temporary application environments based on the +[Review apps](../../ci/review_apps/_index.md) are temporary application environments based on the branch's code so developers, designers, QA, product managers, and other reviewers can actually see and interact with code changes as part of the review process. Auto Review Apps create a Review App for each branch. diff --git a/doc/topics/build_your_application.md b/doc/topics/build_your_application.md index 33ea2f8a9d937..0ef6406be8260 100644 --- a/doc/topics/build_your_application.md +++ b/doc/topics/build_your_application.md @@ -10,8 +10,8 @@ Use CI/CD to generate your application. | | | | |----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------| -| [**Getting started**](../ci/index.md)<br>Overview of how CI/CD features fit together. | [**CI/CD YAML syntax reference**](../ci/yaml/_index.md)<br>Pipeline configuration keywords, syntax, examples, inputs. | [**Runners**](../ci/runners/index.md)<br>Configuration, job execution. | -| [**Pipelines**](../ci/pipelines/index.md)<br>Configuration, automation, stages, schedules, efficiency. | [**Jobs**](../ci/jobs/index.md)<br>Configuration, rules, caching, artifacts, logs. | [**CI/CD components**](../ci/components/index.md)<br>Reusable, versioned CI/CD components for pipelines. | +| [**Getting started**](../ci/_index.md)<br>Overview of how CI/CD features fit together. | [**CI/CD YAML syntax reference**](../ci/yaml/_index.md)<br>Pipeline configuration keywords, syntax, examples, inputs. | [**Runners**](../ci/runners/_index.md)<br>Configuration, job execution. | +| [**Pipelines**](../ci/pipelines/_index.md)<br>Configuration, automation, stages, schedules, efficiency. | [**Jobs**](../ci/jobs/_index.md)<br>Configuration, rules, caching, artifacts, logs. | [**CI/CD components**](../ci/components/_index.md)<br>Reusable, versioned CI/CD components for pipelines. | | [**CI/CD variables**](../ci/variables/_index.md)<br>Configuration, usage, security. | [**Pipeline security**](../ci/pipelines/pipeline_security.md)<br>Secrets management, job tokens, secure files, cloud security. | [**Debugging**](../ci/debugging.md)<br>Configuration validation, warnings, errors, troubleshooting. | -| [**Auto DevOps**](autodevops/_index.md)<br>Automated DevOps, language detection, deployment, customization. | [**Testing**](../ci/testing/index.md)<br>Unit tests, integration tests, test reports, coverage, quality assurance. | [**Google cloud integration**](../ci/gitlab_google_cloud_integration/index.md)<br>Cloud services, Kubernetes deployments. | -| [**Migrate to GitLab CI/CD**](../ci/migration/plan_a_migration.md)<br> Migrate from Jenkins, GitHub Actions, others. | [**External repository integrations**](../ci/ci_cd_for_external_repos/index.md)<br>GitHub, Bitbucket, external sources, mirroring, cross-platform. | | +| [**Auto DevOps**](autodevops/_index.md)<br>Automated DevOps, language detection, deployment, customization. | [**Testing**](../ci/testing/_index.md)<br>Unit tests, integration tests, test reports, coverage, quality assurance. | [**Google cloud integration**](../ci/gitlab_google_cloud_integration/_index.md)<br>Cloud services, Kubernetes deployments. | +| [**Migrate to GitLab CI/CD**](../ci/migration/plan_a_migration.md)<br> Migrate from Jenkins, GitHub Actions, others. | [**External repository integrations**](../ci/ci_cd_for_external_repos/_index.md)<br>GitHub, Bitbucket, external sources, mirroring, cross-platform. | | diff --git a/doc/topics/release_your_application.md b/doc/topics/release_your_application.md index f2a69da438f23..6393f1be9fc7b 100644 --- a/doc/topics/release_your_application.md +++ b/doc/topics/release_your_application.md @@ -28,7 +28,7 @@ release features incrementally. deployment using GitLab CI/CD. Auto Deploy has built-in support for EC2 and ECS deployments. - Deploy to Kubernetes clusters by using the [GitLab agent](../user/clusters/agent/install/_index.md). - Use Docker images to run AWS commands from GitLab CI/CD, and a template to - facilitate [deployment to AWS](../ci/cloud_deployment/index.md). + facilitate [deployment to AWS](../ci/cloud_deployment/_index.md). - Use GitLab CI/CD to target any type of infrastructure accessible by GitLab Runner. [User and pre-defined environment variables](../ci/variables/_index.md) and CI/CD templates support setting up a vast number of deployment strategies. diff --git a/doc/tutorials/build_application.md b/doc/tutorials/build_application.md index 862c316468b64..74bb4912c873a 100644 --- a/doc/tutorials/build_application.md +++ b/doc/tutorials/build_application.md @@ -12,14 +12,14 @@ Use CI/CD pipelines to automatically build, test, and deploy your code. | Topic | Description | Good for beginners | |-------|-------------|--------------------| -| [Create and run your first GitLab CI/CD pipeline](../ci/quick_start/index.md) | Create a `.gitlab-ci.yml` file and start a pipeline. | **{star}** | +| [Create and run your first GitLab CI/CD pipeline](../ci/quick_start/_index.md) | Create a `.gitlab-ci.yml` file and start a pipeline. | **{star}** | | [Create a complex pipeline](../ci/quick_start/tutorial.md) | Learn about the most commonly used GitLab CI/CD keywords by building an increasingly complex pipeline. | | | <i class="fa fa-youtube-play youtube" aria-hidden="true"></i> [Get started: Learn about CI/CD](https://www.youtube.com/watch?v=sIegJaLy2ug) (9m 02s) | Learn about the `.gitlab-ci.yml` file and how it's used. | **{star}** | | [GitLab CI Fundamentals](https://university.gitlab.com/learn/learning-path/gitlab-ci-fundamentals) | Learn about GitLab CI/CD and build a pipeline in this self-paced course. | **{star}** | | <i class="fa fa-youtube-play youtube" aria-hidden="true"></i> [CI deep dive](https://www.youtube.com/watch?v=ZVUbmVac-m8&list=PL05JrBw4t0KorkxIFgZGnzzxjZRCGROt_&index=27) (22m 51s) | Take a closer look at pipelines and continuous integration concepts. | | -| [Set up CI/CD in the cloud](../ci/examples/index.md#cicd-in-the-cloud) | Learn how to set up CI/CD in different cloud-based environments. | | +| [Set up CI/CD in the cloud](../ci/examples/_index.md#cicd-in-the-cloud) | Learn how to set up CI/CD in different cloud-based environments. | | | [Create a GitLab pipeline to push to Google Artifact Registry](create_gitlab_pipeline_push_to_google_artifact_registry/_index.md) | Learn how to connect GitLab to Google Cloud and create a pipeline to push images to Artifact Registry. | | -| [Find CI/CD examples and templates](../ci/examples/index.md#cicd-examples) | Use these examples and templates to set up CI/CD for your use case. | | +| [Find CI/CD examples and templates](../ci/examples/_index.md#cicd-examples) | Use these examples and templates to set up CI/CD for your use case. | | | <i class="fa fa-youtube-play youtube" aria-hidden="true"></i> [Understand CI/CD rules](https://www.youtube.com/watch?v=QjQc-zeL16Q) (8m 56s) | Learn more about how to use CI/CD rules. | | | [Use Auto DevOps to deploy an application](../topics/autodevops/cloud_deployments/auto_devops_with_gke.md) | Deploy an application to Google Kubernetes Engine (GKE). | | | [Using Buildah in a rootless container with GitLab Runner Operator on OpenShift](../ci/docker/buildah_rootless_tutorial.md) | Learn how to set up GitLab Runner Operator on OpenShift to build Docker images with Buildah in a rootless container | | diff --git a/doc/tutorials/compliance_pipeline/_index.md b/doc/tutorials/compliance_pipeline/_index.md index 358c511ab53f3..81411e38ab9d3 100644 --- a/doc/tutorials/compliance_pipeline/_index.md +++ b/doc/tutorials/compliance_pipeline/_index.md @@ -2,12 +2,11 @@ stage: Software Supply Chain Security group: Compliance info: For assistance with this tutorial, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments-to-other-projects-and-subjects. +title: 'Tutorial: Create a compliance pipeline (deprecated)' --- <!--- start_remove The following content will be removed on remove_date: '2025-08-15' --> -# Tutorial: Create a compliance pipeline (deprecated) - DETAILS: **Tier:** Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated diff --git a/doc/tutorials/container_scanning/_index.md b/doc/tutorials/container_scanning/_index.md index 3612da265e909..296196752ed0a 100644 --- a/doc/tutorials/container_scanning/_index.md +++ b/doc/tutorials/container_scanning/_index.md @@ -55,7 +55,7 @@ Now you're ready to create pipeline configuration. The pipeline configuration: 1. Builds a Docker image from the `Dockerfile` file, and pushes the Docker image to the container registry. The `build-image` job uses [Docker-in-Docker](../../ci/docker/using_docker_build.md) as a - [CI/CD service](../../ci/services/index.md) to build the Docker image. You can also + [CI/CD service](../../ci/services/_index.md) to build the Docker image. You can also [use kaniko](../../ci/docker/using_kaniko.md) to build Docker images in a pipeline. 1. Includes the `Container-Scanning.gitlab-ci.yml` template, to scan the Docker image stored in the container registry. diff --git a/doc/tutorials/create_and_deploy_web_service_with_google_cloud_run_component/_index.md b/doc/tutorials/create_and_deploy_web_service_with_google_cloud_run_component/_index.md index a629f4d4db24a..f76e71f4e79dd 100644 --- a/doc/tutorials/create_and_deploy_web_service_with_google_cloud_run_component/_index.md +++ b/doc/tutorials/create_and_deploy_web_service_with_google_cloud_run_component/_index.md @@ -141,7 +141,7 @@ registry, copies the image to Google Artifact Registry, and uses Cloud Run to de Google Cloud infrastructure. 1. In your GitLab project, create a - [`.gitlab-ci.yml` file](../../ci/quick_start/index.md#create-a-gitlab-ciyml-file). + [`.gitlab-ci.yml` file](../../ci/quick_start/_index.md#create-a-gitlab-ciyml-file). 1. To create a pipeline that builds your image, pushes it to the GitLab container registry, copies it to Google Artifact Registry, and uses Cloud Run to deploy, diff --git a/doc/tutorials/create_gitlab_pipeline_push_to_google_artifact_registry/_index.md b/doc/tutorials/create_gitlab_pipeline_push_to_google_artifact_registry/_index.md index c821466774fe9..1c2c7f7fd6e4a 100644 --- a/doc/tutorials/create_gitlab_pipeline_push_to_google_artifact_registry/_index.md +++ b/doc/tutorials/create_gitlab_pipeline_push_to_google_artifact_registry/_index.md @@ -109,7 +109,7 @@ Create a pipeline that builds your Docker image, pushes it to the GitLab contain registry, and copies the image to Google Artifact Registry. 1. In your GitLab project, create a - [`.gitlab-ci.yml` file](../../ci/quick_start/index.md#create-a-gitlab-ciyml-file). + [`.gitlab-ci.yml` file](../../ci/quick_start/_index.md#create-a-gitlab-ciyml-file). 1. To create a pipeline that builds your image, pushes it to the GitLab container registry, and copies it to Google Artifact Registry, modify the contents of your diff --git a/doc/tutorials/hugo/_index.md b/doc/tutorials/hugo/_index.md index b0f613a5c5284..733da22327842 100644 --- a/doc/tutorials/hugo/_index.md +++ b/doc/tutorials/hugo/_index.md @@ -169,4 +169,4 @@ You've built, tested, and deployed your Hugo site with GitLab. Great work! Every time you change your site and push it to GitLab, your site is built, tested, and deployed automatically. -To learn more about CI/CD pipelines, try [this tutorial on how to create a complex pipeline](../../ci/quick_start/tutorial.md). You can also learn more about the [different types of testing available](../../ci/testing/index.md). +To learn more about CI/CD pipelines, try [this tutorial on how to create a complex pipeline](../../ci/quick_start/tutorial.md). You can also learn more about the [different types of testing available](../../ci/testing/_index.md). diff --git a/doc/tutorials/merge_requests/homepage.md b/doc/tutorials/merge_requests/homepage.md index 8c6e269bdaf4d..bc80bbcf8fa62 100644 --- a/doc/tutorials/merge_requests/homepage.md +++ b/doc/tutorials/merge_requests/homepage.md @@ -2,8 +2,8 @@ stage: Create group: Code Review 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 -title: "Merge request homepage" description: "How the GitLab UI helps you track merge requests from creation to merging." +title: 'Merge request homepage' --- DETAILS: diff --git a/doc/tutorials/protected_workflow/_index.md b/doc/tutorials/protected_workflow/_index.md index 593bfe60ad7e7..b45be74c90261 100644 --- a/doc/tutorials/protected_workflow/_index.md +++ b/doc/tutorials/protected_workflow/_index.md @@ -3,12 +3,11 @@ stage: Create group: Code Review 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" description: "Use this tutorial to build a protected workflow for your GitLab project." +title: 'Tutorial: Build a protected workflow for your project' --- <!-- vale gitlab_base.FutureTense = NO --> -# Tutorial: Build a protected workflow for your project - DETAILS: **Tier:** Free, Premium, Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated diff --git a/doc/tutorials/setup_steps/_index.md b/doc/tutorials/setup_steps/_index.md index 647c918d8e5a3..dea12752f1218 100644 --- a/doc/tutorials/setup_steps/_index.md +++ b/doc/tutorials/setup_steps/_index.md @@ -347,4 +347,4 @@ The echo step takes a single input `echo`, prints it to the logs, and outputs it ``` That's it! You've just created and implemented steps in your pipeline. -For more information about the syntax for steps, see [CI/CD Steps](../../ci/steps/index.md). +For more information about the syntax for steps, see [CI/CD Steps](../../ci/steps/_index.md). diff --git a/doc/user/application_security/api_fuzzing/configuration/requirements.md b/doc/user/application_security/api_fuzzing/configuration/requirements.md index 12cbca1d3efa9..1ab1ae75b5214 100644 --- a/doc/user/application_security/api_fuzzing/configuration/requirements.md +++ b/doc/user/application_security/api_fuzzing/configuration/requirements.md @@ -16,7 +16,7 @@ title: Requirements - [GraphQL Schema](enabling_the_analyzer.md#graphql-schema) - [HTTP Archive (HAR)](enabling_the_analyzer.md#http-archive-har) - [Postman Collection v2.0 or v2.1](enabling_the_analyzer.md#postman-collection) -- [GitLab Runner](../../../../ci/runners/index.md) available, with the +- [GitLab Runner](../../../../ci/runners/_index.md) available, with the [`docker` executor](https://docs.gitlab.com/runner/executors/docker.html) on Linux/amd64. - Target application deployed. For more details, read [Deployment options](#application-deployment-options). - `fuzz` stage added to the CI/CD pipeline definition. This should be added after the deploy step, for example: @@ -62,7 +62,7 @@ on how to configure review apps for DAST. If your application uses Docker containers you have another option for deploying and scanning with API Fuzzing. After your Docker build job completes and your image is added to your container registry, you can use the image as a -[service](../../../../ci/services/index.md). +[service](../../../../ci/services/_index.md). By using service definitions in your `.gitlab-ci.yml`, you can scan services with the DAST analyzer. diff --git a/doc/user/application_security/api_fuzzing/create_har_files.md b/doc/user/application_security/api_fuzzing/create_har_files.md index 06b8a94cf629b..570b6b41a73bf 100644 --- a/doc/user/application_security/api_fuzzing/create_har_files.md +++ b/doc/user/application_security/api_fuzzing/create_har_files.md @@ -14,7 +14,7 @@ requests and HTTP responses. A HAR file's content is JSON formatted, containing with a web site. The file extension `.har` is commonly used. The HAR files can be used to perform [web API Fuzz Testing](configuration/enabling_the_analyzer.md#http-archive-har) as part of -your [GitLab CI/CD](../../../ci/index.md) pipelines. +your [GitLab CI/CD](../../../ci/_index.md) pipelines. WARNING: A HAR file stores information exchanged between web client and web server. It could also diff --git a/doc/user/application_security/api_fuzzing/index.md b/doc/user/application_security/api_fuzzing/index.md index ab8fa9913a153..b5bea2e2615bc 100644 --- a/doc/user/application_security/api_fuzzing/index.md +++ b/doc/user/application_security/api_fuzzing/index.md @@ -15,7 +15,7 @@ backend. This helps you discover bugs and potential security issues that other Q miss. We recommend that you use fuzz testing in addition to [GitLab Secure](../index.md)'s -other security scanners and your own test processes. If you're using [GitLab CI/CD](../../../ci/index.md), +other security scanners and your own test processes. If you're using [GitLab CI/CD](../../../ci/_index.md), you can run fuzz tests as part your CI/CD workflow. <i class="fa fa-youtube-play youtube" aria-hidden="true"></i> diff --git a/doc/user/application_security/api_security_testing/configuration/requirements.md b/doc/user/application_security/api_security_testing/configuration/requirements.md index 4752c0fb59108..640aef018ad07 100644 --- a/doc/user/application_security/api_security_testing/configuration/requirements.md +++ b/doc/user/application_security/api_security_testing/configuration/requirements.md @@ -18,7 +18,7 @@ title: Requirements - [Postman Collection v2.0 or v2.1](enabling_the_analyzer.md#postman-collection) Each scan supports exactly one specification. To scan more than one specification, use multiple scans. -- [GitLab Runner](../../../../ci/runners/index.md) available, with the +- [GitLab Runner](../../../../ci/runners/_index.md) available, with the [`docker` executor](https://docs.gitlab.com/runner/executors/docker.html) on Linux/amd64. - Target application deployed. For more details, read [Deployment options](#application-deployment-options). - `dast` stage added to the CI/CD pipeline definition. This should be added after the deploy step, for example: @@ -64,7 +64,7 @@ on how to configure review apps for DAST. If your application uses Docker containers you have another option for deploying and scanning with DAST. After your Docker build job completes and your image is added to your container registry, you can use the image as a -[service](../../../../ci/services/index.md). +[service](../../../../ci/services/_index.md). By using service definitions in your `.gitlab-ci.yml`, you can scan services with the DAST analyzer. diff --git a/doc/user/application_security/configuration/index.md b/doc/user/application_security/configuration/index.md index cecaa983ce56c..587e98bc1e05a 100644 --- a/doc/user/application_security/configuration/index.md +++ b/doc/user/application_security/configuration/index.md @@ -15,7 +15,7 @@ The **Security configuration** page lists the following for the security testing - Whether or not it is available. - A configuration button or a link to its configuration guide. -To determine the status of each security control, GitLab checks for a [CI/CD pipeline](../../../ci/pipelines/index.md) +To determine the status of each security control, GitLab checks for a [CI/CD pipeline](../../../ci/pipelines/_index.md) in the most recent commit on the default branch. If GitLab finds a CI/CD pipeline, then it inspects each job in the `.gitlab-ci.yml` file. diff --git a/doc/user/application_security/coverage_fuzzing/index.md b/doc/user/application_security/coverage_fuzzing/index.md index dac943bf88d85..9c3ff0b92aa37 100644 --- a/doc/user/application_security/coverage_fuzzing/index.md +++ b/doc/user/application_security/coverage_fuzzing/index.md @@ -15,7 +15,7 @@ GitLab allows you to add coverage-guided fuzz testing to your pipelines. This he bugs and potential security issues that other QA processes may miss. We recommend that you use fuzz testing in addition to the other security scanners in [GitLab Secure](../index.md) -and your own test processes. If you're using [GitLab CI/CD](../../../ci/index.md), +and your own test processes. If you're using [GitLab CI/CD](../../../ci/_index.md), you can run your coverage-guided fuzz testing as part your CI/CD workflow. <i class="fa fa-youtube-play youtube" aria-hidden="true"></i> @@ -104,7 +104,7 @@ my_fuzz_target: - ./gitlab-cov-fuzz run --regression=$REGRESSION -- <your fuzz target> ``` -The `Coverage-Fuzzing` template includes the [hidden job](../../../ci/jobs/index.md#hide-a-job) +The `Coverage-Fuzzing` template includes the [hidden job](../../../ci/jobs/_index.md#hide-a-job) `.fuzz_base`, which you must [extend](../../../ci/yaml/_index.md#extends) for each of your fuzzing targets. Each fuzzing target **must** have a separate job. For example, the [go-fuzzing-example project](https://gitlab.com/gitlab-org/security-products/demos/go-fuzzing-example) diff --git a/doc/user/application_security/dast/browser/configuration/requirements.md b/doc/user/application_security/dast/browser/configuration/requirements.md index 648f95b7c3161..09236395c3b09 100644 --- a/doc/user/application_security/dast/browser/configuration/requirements.md +++ b/doc/user/application_security/dast/browser/configuration/requirements.md @@ -6,7 +6,7 @@ type: reference, howto title: Requirements --- -- [GitLab Runner](../../../../../ci/runners/index.md) available, with the +- [GitLab Runner](../../../../../ci/runners/_index.md) available, with the [`docker` executor](https://docs.gitlab.com/runner/executors/docker.html) on Linux/amd64. - Target application deployed. For more details, read [Deployment options](#application-deployment-options). - `dast` stage added to the CI/CD pipeline definition. This should be added after the deploy step, for example: @@ -53,7 +53,7 @@ on how to configure review apps for DAST. If your application uses Docker containers you have another option for deploying and scanning with DAST. After your Docker build job completes and your image is added to your container registry, you can use the image as a -[service](../../../../../ci/services/index.md). +[service](../../../../../ci/services/_index.md). By using service definitions in your `.gitlab-ci.yml`, you can scan services with the DAST analyzer. diff --git a/doc/user/application_security/dast/on-demand_scan.md b/doc/user/application_security/dast/on-demand_scan.md index 1fa6f01c08eef..83097cc499164 100644 --- a/doc/user/application_security/dast/on-demand_scan.md +++ b/doc/user/application_security/dast/on-demand_scan.md @@ -47,7 +47,7 @@ Prerequisites: - You must have permission to run an on-demand DAST scan against a protected branch. The default branch is automatically protected. For more information, see - [Pipeline security on protected branches](../../../ci/pipelines/index.md#pipeline-security-on-protected-branches). + [Pipeline security on protected branches](../../../ci/pipelines/_index.md#pipeline-security-on-protected-branches). To run an existing on-demand scan: diff --git a/doc/user/application_security/dependency_scanning/experiment_libbehave_dependency.md b/doc/user/application_security/dependency_scanning/experiment_libbehave_dependency.md index 8b3cbac73cd77..f635688139bbc 100644 --- a/doc/user/application_security/dependency_scanning/experiment_libbehave_dependency.md +++ b/doc/user/application_security/dependency_scanning/experiment_libbehave_dependency.md @@ -91,7 +91,7 @@ Prerequisites: and the source branch is either a protected branch or the **Protect variable** CI/CD variable [option is unchecked](../../../ci/variables/_index.md#for-a-project). -Libbehave is exposed through [CI/CD components](../../../ci/components/index.md). To enable it, configure your project's +Libbehave is exposed through [CI/CD components](../../../ci/components/_index.md). To enable it, configure your project's `.gitlab-ci.yml` file as follows: ```yaml diff --git a/doc/user/application_security/dependency_scanning/index.md b/doc/user/application_security/dependency_scanning/index.md index ad47fbf643b01..c5f52b9f15160 100644 --- a/doc/user/application_security/dependency_scanning/index.md +++ b/doc/user/application_security/dependency_scanning/index.md @@ -781,7 +781,7 @@ Pipelines now include a Dependency Scanning job. > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/454143) in GitLab 17.0. This feature is an [experiment](../../../policy/development_stages_support.md). > - The dependency scanning CI/CD component only supports Android projects. -Use [CI/CD components](../../../ci/components/index.md) to perform Dependency Scanning of your +Use [CI/CD components](../../../ci/components/_index.md) to perform Dependency Scanning of your application. For instructions, see the respective component's README file. ##### Available CI/CD components diff --git a/doc/user/application_security/sast/index.md b/doc/user/application_security/sast/index.md index 65b5a8ca7b232..e287762495461 100644 --- a/doc/user/application_security/sast/index.md +++ b/doc/user/application_security/sast/index.md @@ -46,7 +46,7 @@ DETAILS: **Tier:** Free, Premium, Ultimate **Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated -If you're using [GitLab CI/CD](../../../ci/index.md), you can use Static Application Security +If you're using [GitLab CI/CD](../../../ci/_index.md), you can use Static Application Security Testing (SAST) to check your source code for known vulnerabilities. You can run SAST analyzers in any GitLab tier. The analyzers output JSON-formatted reports as job artifacts. diff --git a/doc/user/application_security/secret_detection/index.md b/doc/user/application_security/secret_detection/index.md index dd4a4aca2abab..b6d9fbd967f66 100644 --- a/doc/user/application_security/secret_detection/index.md +++ b/doc/user/application_security/secret_detection/index.md @@ -15,7 +15,7 @@ requires authentication, usually using static methods like private keys and tokens. These methods are called "secrets" because they're not meant to be shared with anyone else. -To minimize the risk of exposing your secrets, always [store secrets outside of the repository](../../../ci/secrets/index.md). However, secrets are sometimes accidentally committed to Git +To minimize the risk of exposing your secrets, always [store secrets outside of the repository](../../../ci/secrets/_index.md). However, secrets are sometimes accidentally committed to Git repositories. After a sensitive value is pushed to a remote repository, anyone with access to the repository can use the secret to impersonate the authorized user. diff --git a/doc/user/clusters/agent/gitops/flux_oci_tutorial.md b/doc/user/clusters/agent/gitops/flux_oci_tutorial.md index 5e7ca560e6771..1cf9fa2cb114f 100644 --- a/doc/user/clusters/agent/gitops/flux_oci_tutorial.md +++ b/doc/user/clusters/agent/gitops/flux_oci_tutorial.md @@ -65,7 +65,7 @@ First, create a repository for your Kubernetes manifests: ## Configure the manifest repository to create an OCI artifact -Next, configure [GitLab CI/CD](../../../../ci/index.md) to package your manifests into an OCI artifact, +Next, configure [GitLab CI/CD](../../../../ci/_index.md) to package your manifests into an OCI artifact, and push the artifact to the [GitLab container registry](../../../packages/container_registry/index.md): 1. In the root of `web-app-manifests`, create and push a `.gitlab-ci.yml` file with the following contents: diff --git a/doc/user/clusters/migrating_from_gma_to_project_template.md b/doc/user/clusters/migrating_from_gma_to_project_template.md index 6c334da32eeb8..3a72bd7b40c57 100644 --- a/doc/user/clusters/migrating_from_gma_to_project_template.md +++ b/doc/user/clusters/migrating_from_gma_to_project_template.md @@ -14,7 +14,7 @@ in favor of user-controlled Cluster Management projects. Managing your cluster applications through a project enables you a lot more flexibility to manage your cluster than through the late GitLab Managed Apps. To migrate to the cluster management project you need -[GitLab Runners](../../ci/runners/index.md) +[GitLab Runners](../../ci/runners/_index.md) available and be familiar with [Helm](https://helm.sh/). ## Migrate to a Cluster Management Project @@ -39,7 +39,7 @@ See also [video walk-throughs](#video-walk-throughs) with examples. - If you kept the default name (`gitlab-managed-apps`), then the script is already set up. - Either way, [run a pipeline manually](../../ci/pipelines/index.md#run-a-pipeline-manually) and read the logs of the + Either way, [run a pipeline manually](../../ci/pipelines/_index.md#run-a-pipeline-manually) and read the logs of the `detect-helm2-releases` job to know if you have any Helm v2 releases and which are they. 1. If you have no Helm v2 releases, skip this step. Otherwise, follow the official Helm documentation on @@ -110,7 +110,7 @@ See also [video walk-throughs](#video-walk-throughs) with examples. WARNING: Cert-manager v0.10 breaks when Kubernetes is upgraded to version 1.20 or later. -1. After following all the previous steps, [run a pipeline manually](../../ci/pipelines/index.md#run-a-pipeline-manually) +1. After following all the previous steps, [run a pipeline manually](../../ci/pipelines/_index.md#run-a-pipeline-manually) and watch the `apply` job logs to see if any of your applications were successfully detected, installed, and whether they got any unexpected updates. diff --git a/doc/user/compliance/license_scanning_of_cyclonedx_files/_index.md b/doc/user/compliance/license_scanning_of_cyclonedx_files/_index.md index 5b00ff692e088..ac6ef82274ac2 100644 --- a/doc/user/compliance/license_scanning_of_cyclonedx_files/_index.md +++ b/doc/user/compliance/license_scanning_of_cyclonedx_files/_index.md @@ -37,7 +37,7 @@ To enable License scanning of CycloneDX files: - Enable [Dependency Scanning](../../application_security/dependency_scanning/index.md#enabling-the-analyzer) and ensure that its prerequisites are met. - On GitLab Self-Managed, you can [choose package registry metadata to synchronize](../../../administration/settings/security_and_compliance.md#choose-package-registry-metadata-to-sync) in the **Admin** area for the GitLab instance. For this data synchronization to work, you must allow outbound network traffic from your GitLab instance to the domain `storage.googleapis.com`. If you have limited or no network connectivity then refer to the documentation section [running in an offline environment](#running-in-an-offline-environment) for further guidance. -- Or use the [CI/CD component](../../../ci/components/index.md) for applicable package registries. +- Or use the [CI/CD component](../../../ci/components/_index.md) for applicable package registries. ## Supported languages and package managers diff --git a/doc/user/duo_amazon_q/index.md b/doc/user/duo_amazon_q/index.md index a401d5018b782..5661f87e5af38 100644 --- a/doc/user/duo_amazon_q/index.md +++ b/doc/user/duo_amazon_q/index.md @@ -60,7 +60,7 @@ Amazon Q can analyze Java 8 or 11 code and determine the necessary Java changes Prerequisites: -- You must [have a runner and a CI/CD pipeline configured for your project](../../ci/index.md). +- You must [have a runner and a CI/CD pipeline configured for your project](../../ci/_index.md). To upgrade Java: diff --git a/doc/user/get_started/get_started_deploy_release.md b/doc/user/get_started/get_started_deploy_release.md index bcebb6afeff44..aab8e12543adf 100644 --- a/doc/user/get_started/get_started_deploy_release.md +++ b/doc/user/get_started/get_started_deploy_release.md @@ -53,12 +53,12 @@ the main branch. These temporary environments are called review apps. For more information, see: - [Environments](../../ci/environments/_index.md) -- [Deploy to AWS](../../ci/cloud_deployment/index.md) +- [Deploy to AWS](../../ci/cloud_deployment/_index.md) - [Deploy to Kubernetes](../clusters/agent/_index.md) - [Dashboard for Kubernetes](../../ci/environments/kubernetes_dashboard.md) - [Environments Dashboard](../../ci/environments/environments_dashboard.md) - [Operations Dashboard](../operations_dashboard/index.md) -- [Review apps](../../ci/review_apps/index.md) +- [Review apps](../../ci/review_apps/_index.md) ## Step 3: Stay compliant with continuous delivery features diff --git a/doc/user/gitlab_com/index.md b/doc/user/gitlab_com/index.md index 3e3adafae3171..86fbd36c3c7ad 100644 --- a/doc/user/gitlab_com/index.md +++ b/doc/user/gitlab_com/index.md @@ -203,7 +203,7 @@ For incoming connections to GitLab.com, you must allow CIDR blocks of Cloudflare ## GitLab CI/CD -Below are the current settings regarding [GitLab CI/CD](../../ci/index.md). +Below are the current settings regarding [GitLab CI/CD](../../ci/_index.md). Any settings or feature limits not listed here are using the defaults listed in the related documentation. @@ -347,7 +347,7 @@ For self-managed instance limits, see: You can use GitLab-hosted runners to run your CI/CD jobs on GitLab.com and GitLab Dedicated to seamlessly build, test, and deploy your application on different environments. -For more information, see [GitLab-hosted runners](../../ci/runners/index.md). +For more information, see [GitLab-hosted runners](../../ci/runners/_index.md). ## Puma @@ -542,7 +542,7 @@ You can view more information in our runbooks such as: By default, GitLab does not expire job logs. Job logs are retained indefinitely, and can't be configured on GitLab.com to expire. You can erase job logs [manually with the Jobs API](../../api/jobs.md#erase-a-job) or by -[deleting a pipeline](../../ci/pipelines/index.md#delete-a-pipeline). +[deleting a pipeline](../../ci/pipelines/_index.md#delete-a-pipeline). ## GitLab.com at scale diff --git a/doc/user/group/compliance_pipelines.md b/doc/user/group/compliance_pipelines.md index d551765aa8fed..5b8ba038ff963 100644 --- a/doc/user/group/compliance_pipelines.md +++ b/doc/user/group/compliance_pipelines.md @@ -289,7 +289,7 @@ running the pipeline. ## Ensure compliance jobs are always run -Compliance pipelines [use GitLab CI/CD](../../ci/index.md) to give you an incredible amount of flexibility +Compliance pipelines [use GitLab CI/CD](../../ci/_index.md) to give you an incredible amount of flexibility for defining any sort of compliance jobs you like. Depending on your goals, these jobs can be configured to be: @@ -375,7 +375,7 @@ This configuration doesn't overwrite the compliance pipeline and you get the fol Because of a [known issue](https://gitlab.com/gitlab-org/gitlab/-/issues/382857), compliance pipelines in GitLab 15.3 and later can prevent -[prefilled variables](../../ci/pipelines/index.md#prefill-variables-in-manual-pipelines) +[prefilled variables](../../ci/pipelines/_index.md#prefill-variables-in-manual-pipelines) from appearing when manually starting a pipeline. To workaround this issue, use `ref: '$CI_COMMIT_SHA'` instead of `ref: '$CI_COMMIT_REF_NAME'` diff --git a/doc/user/group/manage.md b/doc/user/group/manage.md index 923d1fff0ca37..20955769bc886 100644 --- a/doc/user/group/manage.md +++ b/doc/user/group/manage.md @@ -437,7 +437,7 @@ To enable this setting: #### Allow merge after skipped pipelines -You can configure [skipped pipelines](../../ci/pipelines/index.md#skip-a-pipeline) from preventing merge requests from being merged. +You can configure [skipped pipelines](../../ci/pipelines/_index.md#skip-a-pipeline) from preventing merge requests from being merged. See also [the project-level setting](../project/merge_requests/auto_merge.md#allow-merge-after-skipped-pipelines). diff --git a/doc/user/group/subgroups/index.md b/doc/user/group/subgroups/index.md index ab5c4646c5a7e..20ec75ac023c4 100644 --- a/doc/user/group/subgroups/index.md +++ b/doc/user/group/subgroups/index.md @@ -24,7 +24,7 @@ Subgroups can: - Belong to one immediate parent group. - Have many subgroups. - Be nested up to 20 levels. -- Use [runners](../../../ci/runners/index.md) registered to parent groups: +- Use [runners](../../../ci/runners/_index.md) registered to parent groups: - Secrets configured for the parent group are available to subgroup jobs. - Users with at least the Maintainer role in projects that belong to subgroups can see the details of runners registered to parent groups. diff --git a/doc/user/infrastructure/clusters/manage/management_project_applications/runner.md b/doc/user/infrastructure/clusters/manage/management_project_applications/runner.md index e0f21e7e0c660..4bdbd5ecd3a2d 100644 --- a/doc/user/infrastructure/clusters/manage/management_project_applications/runner.md +++ b/doc/user/infrastructure/clusters/manage/management_project_applications/runner.md @@ -26,7 +26,7 @@ For GitLab Runner to function, you _must_ specify the following in your - `gitlabUrl`: The GitLab server full URL (for example, `https://gitlab.example.com`) to register the Runner against. -- Runner token: This must be [retrieved](../../../../../ci/runners/index.md) from your GitLab instance. You can use +- Runner token: This must be [retrieved](../../../../../ci/runners/_index.md) from your GitLab instance. You can use either of the following tokens: - `runnerToken`: The runner authentication token for the runner configuration [created in the GitLab UI](../../../../../ci/runners/runners_scope.md). diff --git a/doc/user/infrastructure/clusters/manage/management_project_applications/vault.md b/doc/user/infrastructure/clusters/manage/management_project_applications/vault.md index 69d59225cf8f7..078154522f861 100644 --- a/doc/user/infrastructure/clusters/manage/management_project_applications/vault.md +++ b/doc/user/infrastructure/clusters/manage/management_project_applications/vault.md @@ -19,7 +19,7 @@ a single source of access, control, and auditability around all your sensitive credentials and certificates. This feature requires giving GitLab the highest level of access and control. Therefore, if GitLab is compromised, the security of this Vault instance is as well. To avoid this security risk, GitLab recommends using your own HashiCorp Vault to leverage -[external secrets with CI](../../../../../ci/secrets/index.md). +[external secrets with CI](../../../../../ci/secrets/_index.md). Assuming you already have a project created from a [management project template](../../../../clusters/management_project_template.md), to install Vault you should @@ -36,7 +36,7 @@ Vault application causes downtime. To optimally use Vault in a production environment, it's ideal to have a good understanding of the internals of Vault and how to configure it. This can be done by reading -the [Vault Configuration guide](../../../../../ci/secrets/index.md#configure-your-vault-server), +the [Vault Configuration guide](../../../../../ci/secrets/_index.md#configure-your-vault-server), the [Vault documentation](https://developer.hashicorp.com/vault/docs/internals) and the Vault Helm chart [`values.yaml` file](https://github.com/hashicorp/vault-helm/blob/v0.3.3/values.yaml). diff --git a/doc/user/infrastructure/iac/terraform_template_recipes.md b/doc/user/infrastructure/iac/terraform_template_recipes.md index 0270678a8d97f..3c76790d688fd 100644 --- a/doc/user/infrastructure/iac/terraform_template_recipes.md +++ b/doc/user/infrastructure/iac/terraform_template_recipes.md @@ -116,7 +116,7 @@ state-list: The `gitlab-terraform` command sets up a `terraform` command and runs it with the given arguments. -To run this job in the Terraform state-specific [resource group](../../../ci/resource_groups/index.md), +To run this job in the Terraform state-specific [resource group](../../../ci/resource_groups/_index.md), assign the job with `resource_group`: ```yaml diff --git a/doc/user/packages/composer_repository/index.md b/doc/user/packages/composer_repository/index.md index 6d1f2b6771d5b..af8ad91bb6274 100644 --- a/doc/user/packages/composer_repository/index.md +++ b/doc/user/packages/composer_repository/index.md @@ -303,7 +303,7 @@ WARNING: Never commit the `auth.json` file to your repository. To install packages from a CI/CD job, consider using the [`composer config`](https://getcomposer.org/doc/articles/handling-private-packages.md#satis) tool with your access token stored in a [GitLab CI/CD variable](../../../ci/variables/_index.md) or in -[HashiCorp Vault](../../../ci/secrets/index.md). +[HashiCorp Vault](../../../ci/secrets/_index.md). ### Install from source diff --git a/doc/user/packages/conan_repository/index.md b/doc/user/packages/conan_repository/index.md index ac10b72826ecf..ae34047e9101b 100644 --- a/doc/user/packages/conan_repository/index.md +++ b/doc/user/packages/conan_repository/index.md @@ -194,7 +194,7 @@ conan upload Hello/0.1@mycompany/beta --all ## Publish a Conan package by using CI/CD -To work with Conan commands in [GitLab CI/CD](../../../ci/index.md), you can +To work with Conan commands in [GitLab CI/CD](../../../ci/_index.md), you can use `CI_JOB_TOKEN` in place of the personal access token in your commands. You can provide the `CONAN_LOGIN_USERNAME` and `CONAN_PASSWORD` with each Conan diff --git a/doc/user/packages/container_registry/build_and_push_images.md b/doc/user/packages/container_registry/build_and_push_images.md index cacd6ef49c54b..d0f2380aeeede 100644 --- a/doc/user/packages/container_registry/build_and_push_images.md +++ b/doc/user/packages/container_registry/build_and_push_images.md @@ -49,7 +49,7 @@ You can configure your `.gitlab-ci.yml` file to build and push container images ## Use GitLab CI/CD -You can use [GitLab CI/CD](../../../ci/index.md) to build and push container images to the +You can use [GitLab CI/CD](../../../ci/_index.md) to build and push container images to the Container Registry. You can use CI/CD to test, build, and deploy your project from the container image you created. @@ -59,7 +59,7 @@ You can use your own container images for Docker-in-Docker. 1. Set up [Docker-in-Docker](../../../ci/docker/using_docker_build.md#use-docker-in-docker). 1. Update the `image` and `service` to point to your registry. -1. Add a service [alias](../../../ci/services/index.md#available-settings-for-services). +1. Add a service [alias](../../../ci/services/_index.md#available-settings-for-services). Your `.gitlab-ci.yml` should look similar to this: @@ -88,7 +88,7 @@ You can use your own container images with Dependency Proxy. 1. Set up [Docker-in-Docker](../../../ci/docker/using_docker_build.md#use-docker-in-docker). 1. Update the `image` and `service` to point to your registry. -1. Add a service [alias](../../../ci/services/index.md#available-settings-for-services). +1. Add a service [alias](../../../ci/services/_index.md#available-settings-for-services). Your `.gitlab-ci.yml` should look similar to this: diff --git a/doc/user/packages/dependency_proxy/index.md b/doc/user/packages/dependency_proxy/index.md index e102ad0b830f3..e4e51b203c6da 100644 --- a/doc/user/packages/dependency_proxy/index.md +++ b/doc/user/packages/dependency_proxy/index.md @@ -225,7 +225,7 @@ Watch how to [use the dependency proxy to help avoid Docker Hub rate limits](htt In November 2020, Docker introduced [rate limits on pull requests from Docker Hub](https://docs.docker.com/docker-hub/download-rate-limit/). -If your GitLab [CI/CD configuration](../../../ci/index.md) uses +If your GitLab [CI/CD configuration](../../../ci/_index.md) uses an image from Docker Hub, each time a job runs, it may count as a pull request. To help get around this limit, you can pull your image from the dependency proxy cache instead. diff --git a/doc/user/packages/helm_repository/index.md b/doc/user/packages/helm_repository/index.md index 69da962792189..480f0089229d3 100644 --- a/doc/user/packages/helm_repository/index.md +++ b/doc/user/packages/helm_repository/index.md @@ -78,7 +78,7 @@ For example, you can use `stable` and `devel` as channels to allow users to add ## Use CI/CD to publish a Helm package -To publish a Helm package automated through [GitLab CI/CD](../../../ci/index.md), you can use +To publish a Helm package automated through [GitLab CI/CD](../../../ci/_index.md), you can use `CI_JOB_TOKEN` in place of the personal access token in your commands. For example: diff --git a/doc/user/packages/package_registry/index.md b/doc/user/packages/package_registry/index.md index 9e7b535245fbf..d8be4e1d0c012 100644 --- a/doc/user/packages/package_registry/index.md +++ b/doc/user/packages/package_registry/index.md @@ -70,7 +70,7 @@ Accessing the package registry with a deploy token is not available when externa ## Use GitLab CI/CD -You can use [GitLab CI/CD](../../../ci/index.md) to build or import packages into +You can use [GitLab CI/CD](../../../ci/_index.md) to build or import packages into a package registry. ### To build packages diff --git a/doc/user/packages/terraform_module_registry/index.md b/doc/user/packages/terraform_module_registry/index.md index ba39d037cc2f4..82c1664ab0094 100644 --- a/doc/user/packages/terraform_module_registry/index.md +++ b/doc/user/packages/terraform_module_registry/index.md @@ -128,7 +128,7 @@ You can configure the pipeline with the following variables: ### Using CI/CD manually -To work with Terraform modules in [GitLab CI/CD](../../../ci/index.md), you can use +To work with Terraform modules in [GitLab CI/CD](../../../ci/_index.md), you can use `CI_JOB_TOKEN` in place of the personal access token in your commands. For example, this job uploads a new module for the `local` [system provider](https://registry.terraform.io/browse/providers) and uses the module version from the Git commit tag: diff --git a/doc/user/permissions.md b/doc/user/permissions.md index 1b687f919fdaf..f8e743a428b21 100644 --- a/doc/user/permissions.md +++ b/doc/user/permissions.md @@ -107,7 +107,7 @@ Project permissions for [application security](application_security/secure_your_ ### CI/CD -[GitLab CI/CD](../ci/index.md) permissions for some roles can be modified by these settings: +[GitLab CI/CD](../ci/_index.md) permissions for some roles can be modified by these settings: - [Public pipelines](../ci/pipelines/settings.md#change-which-users-can-view-your-pipelines): When set to public, gives access to certain CI/CD features to *Guest* project members. @@ -136,14 +136,14 @@ Project Owners can perform any listed action, and can delete pipelines: | Delete [environments](../ci/environments/_index.md) | | | | | ✓ | ✓ | | | Stop [environments](../ci/environments/_index.md) | | | | | ✓ | ✓ | | | Run CI/CD pipeline | | | | | ✓ | ✓ | | -| Run CI/CD pipeline for a protected branch | | | | | ✓ | ✓ | Developers and maintainers: Only if the user is [allowed to merge or push to the protected branch](../ci/pipelines/index.md#pipeline-security-on-protected-branches). | +| Run CI/CD pipeline for a protected branch | | | | | ✓ | ✓ | Developers and maintainers: Only if the user is [allowed to merge or push to the protected branch](../ci/pipelines/_index.md#pipeline-security-on-protected-branches). | | Run CI/CD job | | | | | ✓ | ✓ | | | Delete job logs or job artifacts | | | | | ✓ | ✓ | Developers: Only if the job was triggered by the user and runs for a non-protected branch. | -| Enable [review apps](../ci/review_apps/index.md) | | | | | ✓ | ✓ | | +| Enable [review apps](../ci/review_apps/_index.md) | | | | | ✓ | ✓ | | | Cancel jobs | | | | | ✓ | ✓ | Cancellation permissions can be [restricted in the pipeline settings](../ci/pipelines/settings.md#restrict-roles-that-can-cancel-pipelines-or-jobs). | | Retry jobs | | | | | ✓ | ✓ | | | Read [Terraform](infrastructure/index.md) state | | | | | ✓ | ✓ | | -| Run [interactive web terminals](../ci/interactive_web_terminal/index.md) | | | | | ✓ | ✓ | | +| Run [interactive web terminals](../ci/interactive_web_terminal/_index.md) | | | | | ✓ | ✓ | | | Use pipeline editor | | | | | ✓ | ✓ | | | Manage [agents for Kubernetes](clusters/agent/_index.md) | | | | | | ✓ | | | Manage CI/CD settings | | | | | | ✓ | | @@ -237,10 +237,10 @@ Project permissions for [issues](project/issues/index.md): | Archive or reopen [requirements](project/requirements/index.md) | | ✓ | ✓ | ✓ | ✓ | ✓ | Guest users can archive and reopen issues that they authored or are assigned to. | | Create or edit [requirements](project/requirements/index.md) | | ✓ | ✓ | ✓ | ✓ | ✓ | Guest users can modify the title and description that they authored or are assigned to. | | Import or export [requirements](project/requirements/index.md) | | ✓ | ✓ | ✓ | ✓ | ✓ | | -| Archive [test cases](../ci/test_cases/index.md) | | ✓ | ✓ | ✓ | ✓ | ✓ | | -| Create [test cases](../ci/test_cases/index.md) | | ✓ | ✓ | ✓ | ✓ | ✓ | | -| Move [test cases](../ci/test_cases/index.md) | | ✓ | ✓ | ✓ | ✓ | ✓ | | -| Reopen [test cases](../ci/test_cases/index.md) | | ✓ | ✓ | ✓ | ✓ | ✓ | | +| Archive [test cases](../ci/test_cases/_index.md) | | ✓ | ✓ | ✓ | ✓ | ✓ | | +| Create [test cases](../ci/test_cases/_index.md) | | ✓ | ✓ | ✓ | ✓ | ✓ | | +| Move [test cases](../ci/test_cases/_index.md) | | ✓ | ✓ | ✓ | ✓ | ✓ | | +| Reopen [test cases](../ci/test_cases/_index.md) | | ✓ | ✓ | ✓ | ✓ | ✓ | | | [Import](project/issues/csv_import.md) issues from a CSV file | | ✓ | | ✓ | ✓ | ✓ | | | [Export](project/issues/csv_export.md) issues to a CSV file | | ✓ | ✓ | ✓ | ✓ | ✓ | | | Delete issues | | ✓ | | | | ✓ | | @@ -443,7 +443,7 @@ Group permissions for [Application Security](application_security/secure_your_ap ### CI/CD group permissions -Group permissions for [CI/CD](../ci/index.md) features including runners, variables, and protected environments: +Group permissions for [CI/CD](../ci/_index.md) features including runners, variables, and protected environments: | Action | Guest | Planner | Reporter | Developer | Maintainer | Owner | Notes | | ------------------------------------- | :---: | :-----: | :------: | :-------: | :--------: | :---: | ----- | diff --git a/doc/user/project/canary_deployments.md b/doc/user/project/canary_deployments.md index 1788b1681895a..f8df78f4dd917 100644 --- a/doc/user/project/canary_deployments.md +++ b/doc/user/project/canary_deployments.md @@ -64,10 +64,10 @@ Here's an example setup flow from scratch: Endpoint assigned above. 1. Check if [`v2.0.0+` of `auto-deploy-image` is used in your Auto DevOps pipelines](../../topics/autodevops/upgrading_auto_deploy_dependencies.md#verify-dependency-versions). If it isn't, follow the documentation to specify the image version. -1. [Run a new Auto DevOps pipeline](../../ci/pipelines/index.md#run-a-pipeline-manually) +1. [Run a new Auto DevOps pipeline](../../ci/pipelines/_index.md#run-a-pipeline-manually) and make sure that the `production` job succeeds and creates a production environment. 1. Configure a [`canary` deployment job for Auto DevOps pipelines](../../topics/autodevops/cicd_variables.md#deploy-policy-for-canary-environments). -1. [Run a new Auto DevOps pipeline](../../ci/pipelines/index.md#run-a-pipeline-manually) +1. [Run a new Auto DevOps pipeline](../../ci/pipelines/_index.md#run-a-pipeline-manually) and make sure that the `canary` job succeeds and creates a canary deployment with Canary Ingress. ### Show Canary Ingress deployments on deploy boards (deprecated) diff --git a/doc/user/project/code_intelligence.md b/doc/user/project/code_intelligence.md index 832e86762e1d0..e1c656f680c2b 100644 --- a/doc/user/project/code_intelligence.md +++ b/doc/user/project/code_intelligence.md @@ -51,7 +51,7 @@ To see how your language is best supported, review the > - Python support [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/301111) in GitLab 17.9. -GitLab provides a [CI/CD component](../../ci/components/index.md) to configure code intelligence +GitLab provides a [CI/CD component](../../ci/components/_index.md) to configure code intelligence in your `.gitlab-ci.yml` file. The component supports these languages: - Go version 1.21 or later. @@ -73,7 +73,7 @@ To contribute more languages to the component, open a merge request in the 1. For configuration instructions for the [code intelligence component](https://gitlab.com/components/code-intelligence), check the `README` for each supported language. -1. For more configuration details, see [Use a component](../../ci/components/index.md#use-a-component). +1. For more configuration details, see [Use a component](../../ci/components/_index.md#use-a-component). ### Add CI/CD jobs for code intelligence diff --git a/doc/user/project/deploy_boards.md b/doc/user/project/deploy_boards.md index e9b38c7f33cb1..3478355306daa 100644 --- a/doc/user/project/deploy_boards.md +++ b/doc/user/project/deploy_boards.md @@ -73,7 +73,7 @@ specific environment, there are a lot of use cases. To name a few: stuck or failed. - You've got an MR that looks good, but you want to run it on staging because staging is set up in some way closer to production. You go to the environment - list, find the [Review App](../../ci/review_apps/index.md) you're interested in, and select the + list, find the [Review App](../../ci/review_apps/_index.md) you're interested in, and select the manual action to deploy it to staging. ## Enabling deploy boards @@ -91,7 +91,7 @@ To display the deploy boards for a specific [environment](../../ci/environments/ [OpenShift docs](https://docs.openshift.com/container-platform/3.7/dev_guide/deployments/kubernetes_deployments.html#kubernetes-deployments-vs-deployment-configurations) and [GitLab issue #4584](https://gitlab.com/gitlab-org/gitlab/-/issues/4584). -1. [Configure GitLab Runner](../../ci/runners/index.md) with the [`docker`](https://docs.gitlab.com/runner/executors/docker.html) or +1. [Configure GitLab Runner](../../ci/runners/_index.md) with the [`docker`](https://docs.gitlab.com/runner/executors/docker.html) or [`kubernetes`](https://docs.gitlab.com/runner/executors/kubernetes/index.html) executor. 1. Configure the [Kubernetes integration](../infrastructure/clusters/index.md) in your project for the cluster. The Kubernetes namespace is of particular note as you need it diff --git a/doc/user/project/deploy_tokens/index.md b/doc/user/project/deploy_tokens/index.md index 0377789c3425c..3581f4d0d0048 100644 --- a/doc/user/project/deploy_tokens/index.md +++ b/doc/user/project/deploy_tokens/index.md @@ -88,7 +88,7 @@ CI/CD variables are available only to immediate child projects of the group. GitLab deploy tokens are long-lived, making them attractive for attackers. To prevent leaking the deploy token, you should also configure your -[runners](../../../ci/runners/index.md) to be secure: +[runners](../../../ci/runners/_index.md) to be secure: - Avoid using Docker `privileged` mode if the machines are re-used. - Avoid using the [`shell` executor](https://docs.gitlab.com/runner/executors/shell.html) when jobs diff --git a/doc/user/project/import/github.md b/doc/user/project/import/github.md index 93db889dd8142..51c4165f4a5fe 100644 --- a/doc/user/project/import/github.md +++ b/doc/user/project/import/github.md @@ -281,7 +281,7 @@ your imported repository in sync with its GitHub copy. Additionally, you can configure GitLab to send pipeline status updates back to GitHub with the [GitHub Project Integration](../integrations/github.md). -If you import your project using [CI/CD for external repository](../../../ci/ci_cd_for_external_repos/index.md), then both +If you import your project using [CI/CD for external repository](../../../ci/ci_cd_for_external_repos/_index.md), then both of the above are automatically configured. NOTE: diff --git a/doc/user/project/integrations/apple_app_store.md b/doc/user/project/integrations/apple_app_store.md index 7aa6ff27f805c..a0e048cda18e6 100644 --- a/doc/user/project/integrations/apple_app_store.md +++ b/doc/user/project/integrations/apple_app_store.md @@ -12,7 +12,7 @@ DETAILS: > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104888) in GitLab 15.8 [with a flag](../../../administration/feature_flags.md) named `apple_app_store_integration`. Disabled by default. > - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/385335) in GitLab 15.10. Feature flag `apple_app_store_integration` removed. -This feature is part of [Mobile DevOps](../../../ci/mobile_devops/index.md) developed by [GitLab Incubation Engineering](https://handbook.gitlab.com/handbook/engineering/development/incubation/). +This feature is part of [Mobile DevOps](../../../ci/mobile_devops/_index.md) developed by [GitLab Incubation Engineering](https://handbook.gitlab.com/handbook/engineering/development/incubation/). The feature is still in development, but you can: - [Request a feature](https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/feedback/-/issues/new?issuable_template=feature_request). diff --git a/doc/user/project/integrations/github.md b/doc/user/project/integrations/github.md index 682941f82b2e0..d15a5e28c0dcd 100644 --- a/doc/user/project/integrations/github.md +++ b/doc/user/project/integrations/github.md @@ -42,7 +42,7 @@ Complete these steps in GitLab: 1. Optional. Select **Test settings**. 1. Select **Save changes**. -After configuring the integration, see [Pipelines for external pull requests](../../../ci/ci_cd_for_external_repos/index.md#pipelines-for-external-pull-requests) +After configuring the integration, see [Pipelines for external pull requests](../../../ci/ci_cd_for_external_repos/_index.md#pipelines-for-external-pull-requests) to configure pipelines to run for open pull requests. ### Static or dynamic status check names diff --git a/doc/user/project/integrations/gitlab_slack_application.md b/doc/user/project/integrations/gitlab_slack_application.md index 76b6d199f9bd7..e1af99dcd3bab 100644 --- a/doc/user/project/integrations/gitlab_slack_application.md +++ b/doc/user/project/integrations/gitlab_slack_application.md @@ -101,7 +101,7 @@ The following slash commands are available for GitLab: | `/gitlab <project> issue close <id>` | Closes the issue with the ID `<id>`. | | `/gitlab <project> issue comment <id>` <kbd>Shift</kbd>+<kbd>Enter</kbd> `<comment>` | Adds a comment with the comment body `<comment>` to the issue with the ID `<id>`. | | `/gitlab <project> deploy <from> to <to>` | [Deploys](#deploy-command) from the `<from>` environment to the `<to>` environment. | -| `/gitlab <project> run <job name> <arguments>` | Executes the [ChatOps](../../../ci/chatops/index.md) job `<job name>` on the default branch. | +| `/gitlab <project> run <job name> <arguments>` | Executes the [ChatOps](../../../ci/chatops/_index.md) job `<job name>` on the default branch. | | `/gitlab incident declare` | Opens a dialog to [create an incident from Slack](../../../operations/incident_management/slack.md). | ### `deploy` command diff --git a/doc/user/project/integrations/google_play.md b/doc/user/project/integrations/google_play.md index 7ff7477c2fd3b..dc01548c21957 100644 --- a/doc/user/project/integrations/google_play.md +++ b/doc/user/project/integrations/google_play.md @@ -12,7 +12,7 @@ DETAILS: > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111621) in GitLab 15.10 [with a flag](../../../administration/feature_flags.md) named `google_play_integration`. Disabled by default. > - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/389611) in GitLab 15.11. Feature flag `google_play_integration` removed. -This feature is part of [Mobile DevOps](../../../ci/mobile_devops/index.md) developed by [GitLab Incubation Engineering](https://handbook.gitlab.com/handbook/engineering/development/incubation/). +This feature is part of [Mobile DevOps](../../../ci/mobile_devops/_index.md) developed by [GitLab Incubation Engineering](https://handbook.gitlab.com/handbook/engineering/development/incubation/). The feature is still in development, but you can: - [Request a feature](https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/feedback/-/issues/new?issuable_template=feature_request). diff --git a/doc/user/project/integrations/webhook_events.md b/doc/user/project/integrations/webhook_events.md index ad6868af0b7ca..0de06d7d4e4d6 100644 --- a/doc/user/project/integrations/webhook_events.md +++ b/doc/user/project/integrations/webhook_events.md @@ -220,7 +220,7 @@ The supported work item types are: - [Issue](../issues/index.md) - [Tasks](../../tasks.md) - [Incidents](../../../operations/incident_management/incidents.md) -- [Test cases](../../../ci/test_cases/index.md) +- [Test cases](../../../ci/test_cases/_index.md) - [Requirements](../requirements/index.md) - [Objectives and key results (OKRs)](../../okrs.md) diff --git a/doc/user/project/merge_requests/_index.md b/doc/user/project/merge_requests/_index.md index bb0c0698a1edf..a137f3919b92e 100644 --- a/doc/user/project/merge_requests/_index.md +++ b/doc/user/project/merge_requests/_index.md @@ -271,7 +271,7 @@ For a web developer writing a webpage for your company's website: 1. You check out a new branch and submit a new page through a merge request. 1. You gather feedback from your reviewers. -1. You preview your changes with [review apps](../../../ci/review_apps/index.md). +1. You preview your changes with [review apps](../../../ci/review_apps/_index.md). 1. You request your web designers for their implementation. 1. You request the [approval](approvals/_index.md) from your manager. 1. After approval, GitLab: @@ -403,9 +403,9 @@ Enabling this feature flag moves the notifications and to-do item buttons to the - [Create a merge request](creating_merge_requests.md) - [Review a merge request](reviews/_index.md) - [Authorization for merge requests](authorization_for_merge_requests.md) -- [Testing and reports](../../../ci/testing/index.md) +- [Testing and reports](../../../ci/testing/_index.md) - [GitLab keyboard shortcuts](../../shortcuts.md) - [Comments and threads](../../discussions/index.md) - [Suggest code changes](reviews/suggestions.md) -- [CI/CD pipelines](../../../ci/index.md) +- [CI/CD pipelines](../../../ci/_index.md) - [Push options](../../../topics/git/commit.md) for merge requests diff --git a/doc/user/project/merge_requests/auto_merge.md b/doc/user/project/merge_requests/auto_merge.md index 559f7233614d6..241a8c4e9dabe 100644 --- a/doc/user/project/merge_requests/auto_merge.md +++ b/doc/user/project/merge_requests/auto_merge.md @@ -153,7 +153,7 @@ despite a newer but failed branch pipeline. ### Allow merge after skipped pipelines When you set **Pipelines must succeed** for a project, -[skipped pipelines](../../../ci/pipelines/index.md#skip-a-pipeline) prevent +[skipped pipelines](../../../ci/pipelines/_index.md#skip-a-pipeline) prevent merge requests from merging. Prerequisites: diff --git a/doc/user/project/merge_requests/commits.md b/doc/user/project/merge_requests/commits.md index 7f93c610a6d2f..9dc4b6bbc294c 100644 --- a/doc/user/project/merge_requests/commits.md +++ b/doc/user/project/merge_requests/commits.md @@ -25,12 +25,12 @@ You can add multiple commits before pushing your changes. - **Trigger a GitLab CI/CD pipeline:** - If the project is configured with [GitLab CI/CD](../../../ci/index.md), + If the project is configured with [GitLab CI/CD](../../../ci/_index.md), you trigger a pipeline per push, not per commit. - **Skip pipelines:** - Add the [`ci skip`](../../../ci/pipelines/index.md#skip-a-pipeline) keyword to + Add the [`ci skip`](../../../ci/pipelines/_index.md#skip-a-pipeline) keyword to your commit message to make GitLab CI/CD skip the pipeline. - **Cross-link issues and merge requests:** diff --git a/doc/user/project/merge_requests/widgets.md b/doc/user/project/merge_requests/widgets.md index 69e8c03cfce4c..13fa6c5fd5d7d 100644 --- a/doc/user/project/merge_requests/widgets.md +++ b/doc/user/project/merge_requests/widgets.md @@ -17,7 +17,7 @@ and the services you configure for your project. ## Pipeline information -If you've set up [GitLab CI/CD](../../../ci/index.md) in your project, +If you've set up [GitLab CI/CD](../../../ci/_index.md) in your project, a [merge request](_index.md) displays pipeline information in the widgets area of the **Overview** tab: @@ -26,7 +26,7 @@ of the **Overview** tab: If an application is successfully deployed to an [environment](../../../ci/environments/_index.md), the deployed environment and the link to the -[review app](../../../ci/review_apps/index.md) are both shown. +[review app](../../../ci/review_apps/_index.md) are both shown. NOTE: When the pipeline fails in a merge request but it can still merge, @@ -46,7 +46,7 @@ stop button. If the pipeline fails to deploy, GitLab hides the deployment inform  -For more information, [read about pipelines](../../../ci/pipelines/index.md). +For more information, [read about pipelines](../../../ci/pipelines/_index.md). ## Set auto-merge @@ -55,16 +55,16 @@ Set a merge request that looks ready to merge to ## Live preview with review apps -Configure [review apps](../../../ci/review_apps/index.md) for your project +Configure [review apps](../../../ci/review_apps/_index.md) for your project to preview the changes submitted to a feature branch through a merge request on a per-branch basis. You don't need to check out the branch, install, and preview locally. All your changes are available to preview by anyone with the review apps link. -With GitLab [Route Maps](../../../ci/review_apps/index.md#route-maps) set, the +With GitLab [Route Maps](../../../ci/review_apps/_index.md#route-maps) set, the merge request widget takes you directly to the pages changed, making it easier and faster to preview proposed modifications. -[Read more about review apps](../../../ci/review_apps/index.md). +[Read more about review apps](../../../ci/review_apps/_index.md). ## License compliance diff --git a/doc/user/project/pages/getting_started/pages_from_scratch.md b/doc/user/project/pages/getting_started/pages_from_scratch.md index 6ee5bc52138ff..ade04aa81a9c2 100644 --- a/doc/user/project/pages/getting_started/pages_from_scratch.md +++ b/doc/user/project/pages/getting_started/pages_from_scratch.md @@ -13,7 +13,7 @@ This tutorial shows you how to create a Pages site from scratch using the [Jekyll](https://jekyllrb.com/) Static Site Generator (SSG). You start with a blank project and create your own CI/CD configuration file, which gives instructions to a [runner](https://docs.gitlab.com/runner/). When your CI/CD -[pipeline](../../../../ci/pipelines/index.md) runs, the Pages site is created. +[pipeline](../../../../ci/pipelines/_index.md) runs, the Pages site is created. This example uses Jekyll, but other SSGs follow similar steps. You do not need to be familiar with Jekyll or SSGs diff --git a/doc/user/project/pages/index.md b/doc/user/project/pages/index.md index 081e4f849d8d0..2d23765d583bd 100644 --- a/doc/user/project/pages/index.md +++ b/doc/user/project/pages/index.md @@ -76,7 +76,7 @@ GitLab always deploys your website from a specific folder called `public` in you repository. When you create a new project in GitLab, a [repository](../repository/index.md) becomes available automatically. -To deploy your site, GitLab uses its built-in tool called [GitLab CI/CD](../../../ci/index.md) +To deploy your site, GitLab uses its built-in tool called [GitLab CI/CD](../../../ci/_index.md) to build your site and publish it to the GitLab Pages server. The sequence of scripts that GitLab CI/CD runs to accomplish this task is created from a file named `.gitlab-ci.yml`, which you can [create and modify](getting_started/pages_from_scratch.md). diff --git a/doc/user/project/repository/branches/index.md b/doc/user/project/repository/branches/index.md index 5285575105126..23b876047d18c 100644 --- a/doc/user/project/repository/branches/index.md +++ b/doc/user/project/repository/branches/index.md @@ -26,7 +26,7 @@ The development workflow for branches is: To streamline this process, you should follow [branch naming patterns](#prefix-branch-names-with-issue-numbers). 1. When the work is ready for review, create a [merge request](../../merge_requests/_index.md) to propose merging the changes in your branch. -1. Preview the changes with a [review app](../../../../ci/review_apps/index.md). +1. Preview the changes with a [review app](../../../../ci/review_apps/_index.md). 1. [Request a review](../../merge_requests/reviews/_index.md#request-a-review). 1. After your merge request is approved, merge your branch to the origin branch. The [merge method](../../merge_requests/methods/_index.md) determines how merge requests @@ -150,7 +150,7 @@ Branch names with specific formatting offer extra benefits: [prefixing branch names with issue numbers](#prefix-branch-names-with-issue-numbers). - Automate [branch protections](protected.md) based on branch name. - Test branch names with [push rules](../push_rules.md) before branches are pushed up to GitLab. -- Define which [CI/CD jobs](../../../../ci/jobs/index.md) to run on merge requests. +- Define which [CI/CD jobs](../../../../ci/jobs/_index.md) to run on merge requests. ### Configure default pattern for branch names from issues diff --git a/doc/user/project/repository/branches/protected.md b/doc/user/project/repository/branches/protected.md index e04c92a8eea68..714ed613a8020 100644 --- a/doc/user/project/repository/branches/protected.md +++ b/doc/user/project/repository/branches/protected.md @@ -423,7 +423,7 @@ Because [merge request pipelines](../../../../ci/pipelines/merge_request_pipelin branch, a pipeline isn't created if the user opening a merge request does not have permission to merge or push to the source branch. -See [Security on protected branches](../../../../ci/pipelines/index.md#pipeline-security-on-protected-branches) +See [Security on protected branches](../../../../ci/pipelines/_index.md#pipeline-security-on-protected-branches) for details about the pipelines security model. ## Create a new branch with protections diff --git a/doc/user/project/repository/index.md b/doc/user/project/repository/index.md index 36aa26658e663..15c5113b1994e 100644 --- a/doc/user/project/repository/index.md +++ b/doc/user/project/repository/index.md @@ -157,7 +157,7 @@ When you [rename a user](../../profile/index.md#change-your-username), After you change a path, you must update the existing URL in the following resources: -- [Include statements](../../../ci/yaml/includes.md) except [`include:component`](../../../ci/components/index.md), +- [Include statements](../../../ci/yaml/includes.md) except [`include:component`](../../../ci/components/_index.md), otherwise pipelines fail with a syntax error. CI/CD component references can follow redirects. - Namespaced API calls that use the [encoded path](../../../api/rest/_index.md#namespaced-paths) instead of the numeric namespace and project IDs. diff --git a/doc/user/project/repository/mirror/troubleshooting.md b/doc/user/project/repository/mirror/troubleshooting.md index d96a1be37721f..e488778e387f1 100644 --- a/doc/user/project/repository/mirror/troubleshooting.md +++ b/doc/user/project/repository/mirror/troubleshooting.md @@ -53,7 +53,7 @@ This error can occur when a firewall performs a `Deep SSH Inspection` on outgoin ## Could not read username: terminal prompts disabled If you receive this error after creating a new project using -[GitLab CI/CD for external repositories](../../../../ci/ci_cd_for_external_repos/index.md): +[GitLab CI/CD for external repositories](../../../../ci/ci_cd_for_external_repos/_index.md): - In Bitbucket Cloud: @@ -110,7 +110,7 @@ Pipelines might not run for multiple reasons: [is not displayed](https://gitlab.com/gitlab-org/gitlab/-/issues/346630) when checking the project afterwards. - When mirroring is set up using [CI/CD for external repositories](../../../../ci/ci_cd_for_external_repos/index.md) + When mirroring is set up using [CI/CD for external repositories](../../../../ci/ci_cd_for_external_repos/_index.md) this setting is enabled by default. If repository mirroring is manually reconfigured, triggering pipelines is off by default and this could be why pipelines stop running. - [`rules`](../../../../ci/yaml/_index.md#rules) configuration prevents any jobs from diff --git a/doc/user/project/requirements/index.md b/doc/user/project/requirements/index.md index 4760efa06409e..1323ec790aa17 100644 --- a/doc/user/project/requirements/index.md +++ b/doc/user/project/requirements/index.md @@ -20,7 +20,7 @@ If an industry standard *requires* that your application has a certain feature o When a feature is no longer necessary, you can [archive the related requirement](#archive-a-requirement). NOTE: -Requirements and [test cases](../../../ci/test_cases/index.md) are being +Requirements and [test cases](../../../ci/test_cases/_index.md) are being [migrated to work items](https://gitlab.com/groups/gitlab-org/-/epics/5171). [Issue 323790](https://gitlab.com/gitlab-org/gitlab/-/issues/323790) proposes to link requirements to test cases. For more information, see [Product Stage Direction - Plan](https://about.gitlab.com/direction/plan/). @@ -217,7 +217,7 @@ requirements_confirmation: requirements: tmp/requirements.json ``` -Because requirements and [test cases](../../../ci/test_cases/index.md) are being +Because requirements and [test cases](../../../ci/test_cases/_index.md) are being [migrated to work items](https://gitlab.com/groups/gitlab-org/-/epics/5171), if you have enabled work items in a project, you must replace `requirements` in above configs with `requirements_v2`: diff --git a/doc/user/project/settings/migrate_projects.md b/doc/user/project/settings/migrate_projects.md index 779ebf3dcf553..ad2f4d03a4230 100644 --- a/doc/user/project/settings/migrate_projects.md +++ b/doc/user/project/settings/migrate_projects.md @@ -75,8 +75,8 @@ to move any project to any namespace. When you transfer a project from a namespace licensed for GitLab.com Premium or Ultimate to GitLab Free: - [Project access tokens](../settings/project_access_tokens.md) are revoked. -- [Pipeline subscriptions](../../../ci/pipelines/index.md#trigger-a-pipeline-when-an-upstream-project-is-rebuilt-deprecated) - and [test cases](../../../ci/test_cases/index.md) are deleted. +- [Pipeline subscriptions](../../../ci/pipelines/_index.md#trigger-a-pipeline-when-an-upstream-project-is-rebuilt-deprecated) + and [test cases](../../../ci/test_cases/_index.md) are deleted. ## Troubleshooting diff --git a/doc/user/project/working_with_projects.md b/doc/user/project/working_with_projects.md index b51d24d6f88bf..94b9ff5791877 100644 --- a/doc/user/project/working_with_projects.md +++ b/doc/user/project/working_with_projects.md @@ -557,7 +557,7 @@ repository. For example, if an administrator creates the alias `gitlab` for the ## Related topics - [Import a project](import/index.md). -- [Connect an external repository to GitLab CI/CD](../../ci/ci_cd_for_external_repos/index.md). +- [Connect an external repository to GitLab CI/CD](../../ci/ci_cd_for_external_repos/_index.md). - [Fork a project](repository/forking_workflow.md#create-a-fork). - Adjust [project visibility](../public_access.md#change-project-visibility) and [permissions](settings/index.md#configure-project-features-and-permissions). - [Rules for project and group names](../reserved_names.md#rules-for-usernames-project-and-group-names-and-slugs) diff --git a/ee/app/assets/javascripts/ci/pipeline_subscriptions/components/pipeline_subscriptions_form.vue b/ee/app/assets/javascripts/ci/pipeline_subscriptions/components/pipeline_subscriptions_form.vue index df61773d5d1c7..45850fc8d6289 100644 --- a/ee/app/assets/javascripts/ci/pipeline_subscriptions/components/pipeline_subscriptions_form.vue +++ b/ee/app/assets/javascripts/ci/pipeline_subscriptions/components/pipeline_subscriptions_form.vue @@ -19,7 +19,7 @@ export default { ), addSuccess: s__('PipelineSubscriptions|Subscription successfully added.'), }, - docsLink: helpPagePath('ci/pipelines/index', { + docsLink: helpPagePath('ci/pipelines/_index', { anchor: 'trigger-a-pipeline-when-an-upstream-project-is-rebuilt-deprecated', }), components: { diff --git a/ee/app/assets/javascripts/project_quality_summary/app.vue b/ee/app/assets/javascripts/project_quality_summary/app.vue index 19516aa4c1859..1c61e1fa03134 100644 --- a/ee/app/assets/javascripts/project_quality_summary/app.vue +++ b/ee/app/assets/javascripts/project_quality_summary/app.vue @@ -105,7 +105,7 @@ export default { i18n, testRunsHelpPath: helpPagePath('ci/testing/unit_test_reports'), codeQualityHelpPath: helpPagePath('ci/testing/code_quality'), - coverageHelpPath: helpPagePath('ci/testing/test_coverage_visualization'), + coverageHelpPath: helpPagePath('ci/testing/test_coverage_visualization/_index'), }; </script> <template> diff --git a/ee/app/assets/javascripts/project_quality_summary/components/test_runs_empty_state.vue b/ee/app/assets/javascripts/project_quality_summary/components/test_runs_empty_state.vue index 01826df0142ec..4983b4f68f3aa 100644 --- a/ee/app/assets/javascripts/project_quality_summary/components/test_runs_empty_state.vue +++ b/ee/app/assets/javascripts/project_quality_summary/components/test_runs_empty_state.vue @@ -10,7 +10,7 @@ export default { GlIcon, }, inject: ['testRunsEmptyStateImagePath'], - testRunsHelpPath: helpPagePath('ci/testing/test_coverage_visualization'), + testRunsHelpPath: helpPagePath('ci/testing/test_coverage_visualization/_index'), i18n, }; </script> diff --git a/ee/app/assets/javascripts/security_orchestration/components/policy_editor/skip_ci_selector.vue b/ee/app/assets/javascripts/security_orchestration/components/policy_editor/skip_ci_selector.vue index 80d5ae25d1042..6ca7541d82d8d 100644 --- a/ee/app/assets/javascripts/security_orchestration/components/policy_editor/skip_ci_selector.vue +++ b/ee/app/assets/javascripts/security_orchestration/components/policy_editor/skip_ci_selector.vue @@ -7,7 +7,7 @@ import { getIdFromGraphQLId } from '~/graphql_shared/utils'; import UserSelect from 'ee/security_orchestration/components/policy_editor/scan_result/action/user_select.vue'; export default { - SKIP_CI_PATH: helpPagePath('ci/pipelines/index.md', { anchor: 'skip-a-pipeline' }), + SKIP_CI_PATH: helpPagePath('ci/pipelines/_index.md', { anchor: 'skip-a-pipeline' }), i18n: { skipCiConfigurationLabel: s__('SecurityOrchestration|Prevent users from skipping pipelines'), skipCiHeader: s__( diff --git a/ee/app/assets/javascripts/usage_quotas/pipelines/constants.js b/ee/app/assets/javascripts/usage_quotas/pipelines/constants.js index a5657bae0f86e..9fa30e8ff0efa 100644 --- a/ee/app/assets/javascripts/usage_quotas/pipelines/constants.js +++ b/ee/app/assets/javascripts/usage_quotas/pipelines/constants.js @@ -58,4 +58,4 @@ export const LABEL_BUY_ADDITIONAL_MINUTES = s__('UsageQuota|Buy additional compu export const LABEL_CI_MINUTES_DISABLED = s__( 'UsageQuota|No compute usage data because %{linkStart}Instance runners%{linkEnd} are disabled, or there are no projects in this group.', ); -export const SHARED_RUNNERS_DOC_LINK = helpPagePath('ci/runners/index.md'); +export const SHARED_RUNNERS_DOC_LINK = helpPagePath('ci/runners/_index.md'); diff --git a/ee/app/assets/javascripts/usage_quotas/transfer/components/usage_by_type.vue b/ee/app/assets/javascripts/usage_quotas/transfer/components/usage_by_type.vue index 5d38f5561501c..c93a0f1769eca 100644 --- a/ee/app/assets/javascripts/usage_quotas/transfer/components/usage_by_type.vue +++ b/ee/app/assets/javascripts/usage_quotas/transfer/components/usage_by_type.vue @@ -68,7 +68,7 @@ export default { label: __('Artifacts'), description: s__('UsageQuota|Pipeline artifacts and job artifacts, created with CI/CD.'), icon: 'disk', - helpPath: helpPagePath('ci/caching/index', { + helpPath: helpPagePath('ci/caching/_index', { anchor: 'artifacts', }), humanSize: numberToHumanSize(this.egressTypesCombined[EGRESS_TYPE_ARTIFACTS]), diff --git a/ee/app/views/projects/settings/subscriptions/_table.html.haml b/ee/app/views/projects/settings/subscriptions/_table.html.haml index 298716afd5cc6..377a9b3a3e87e 100644 --- a/ee/app/views/projects/settings/subscriptions/_table.html.haml +++ b/ee/app/views/projects/settings/subscriptions/_table.html.haml @@ -24,7 +24,7 @@ .form-group = f.label :upstream_project_path do = _("Project path") - = link_to sprite_icon('question-o'), help_page_path('ci/pipelines/index.md', anchor: 'trigger-a-pipeline-when-an-upstream-project-is-rebuilt-deprecated'), target: '_blank', rel: 'noopener noreferrer' + = link_to sprite_icon('question-o'), help_page_path('ci/pipelines/_index.md', anchor: 'trigger-a-pipeline-when-an-upstream-project-is-rebuilt-deprecated'), target: '_blank', rel: 'noopener noreferrer' = f.text_field :upstream_project_path, class: "form-control", data: { testid: "upstream-project-path-field" } .gl-flex.gl-gap-3.gl-mt-3 = render Pajamas::ButtonComponent.new(variant: :confirm, type: :submit, button_options: { data: { testid: "subscribe-button" } }) do diff --git a/ee/app/views/shared/integrations/google_cloud_platform_workload_identity_federation/_help.html.haml b/ee/app/views/shared/integrations/google_cloud_platform_workload_identity_federation/_help.html.haml index f9e148cf055c1..fa8520893e03a 100644 --- a/ee/app/views/shared/integrations/google_cloud_platform_workload_identity_federation/_help.html.haml +++ b/ee/app/views/shared/integrations/google_cloud_platform_workload_identity_federation/_help.html.haml @@ -3,5 +3,5 @@ %p = s_('GoogleCloud|Manage permissions for Google Cloud resources with Identity and Access Management (IAM). Simplify and secure your usage, without the need to manage accounts or keys.') %p - - tag_pair_docs = tag_pair(link_to('', help_page_path('ci/gitlab_google_cloud_integration/index.md'), target: '_blank', rel: 'noopener noreferrer'), :link_start, :link_end) + - tag_pair_docs = tag_pair(link_to('', help_page_path('ci/gitlab_google_cloud_integration/_index.md'), target: '_blank', rel: 'noopener noreferrer'), :link_start, :link_end) = safe_format(s_('GoogleCloud|%{link_start}Explore Google Cloud integration with GitLab%{link_end}, for CI/CD and more.'), tag_pair_docs) diff --git a/ee/spec/frontend/ci/pipeline_subscriptions/components/pipeline_subscriptions_form_spec.js b/ee/spec/frontend/ci/pipeline_subscriptions/components/pipeline_subscriptions_form_spec.js index 7fac6b041403e..9ac342f60113b 100644 --- a/ee/spec/frontend/ci/pipeline_subscriptions/components/pipeline_subscriptions_form_spec.js +++ b/ee/spec/frontend/ci/pipeline_subscriptions/components/pipeline_subscriptions_form_spec.js @@ -112,7 +112,7 @@ describe('Pipeline subscriptions form', () => { createComponent(defaultHandlers, mountExtended); expect(findHelpLink().attributes('href')).toBe( - '/help/ci/pipelines/index#trigger-a-pipeline-when-an-upstream-project-is-rebuilt-deprecated', + '/help/ci/pipelines/_index#trigger-a-pipeline-when-an-upstream-project-is-rebuilt-deprecated', ); }); }); diff --git a/ee/spec/frontend/usage_quotas/transfer/components/usage_by_type_spec.js b/ee/spec/frontend/usage_quotas/transfer/components/usage_by_type_spec.js index 93a4815e51e1b..d38ace781e557 100644 --- a/ee/spec/frontend/usage_quotas/transfer/components/usage_by_type_spec.js +++ b/ee/spec/frontend/usage_quotas/transfer/components/usage_by_type_spec.js @@ -136,7 +136,7 @@ describe('UsageByType', () => { describe('Transfer type column', () => { describe.each` rowIndex | expectedIcon | expectedLabelAndDescription | expectedHelpPath - ${0} | ${'disk'} | ${'Artifacts Pipeline artifacts and job artifacts, created with CI/CD.'} | ${'/help/ci/caching/index#artifacts'} + ${0} | ${'disk'} | ${'Artifacts Pipeline artifacts and job artifacts, created with CI/CD.'} | ${'/help/ci/caching/_index#artifacts'} ${1} | ${'infrastructure-registry'} | ${'Repository Git repository.'} | ${'/help/user/project/repository/repository_size'} ${2} | ${'package'} | ${'Packages Code packages and container images.'} | ${'/help/user/packages/package_registry/index'} ${3} | ${'disk'} | ${'Registry Gitlab-integrated Docker Container Registry for storing Docker Images.'} | ${'/help/user/packages/container_registry/reduce_container_registry_storage'} diff --git a/spec/frontend/ide/components/pipelines/empty_state_spec.js b/spec/frontend/ide/components/pipelines/empty_state_spec.js index 71de9aecb52a1..bc52a8af70bd1 100644 --- a/spec/frontend/ide/components/pipelines/empty_state_spec.js +++ b/spec/frontend/ide/components/pipelines/empty_state_spec.js @@ -32,7 +32,7 @@ describe('~/ide/components/pipelines/empty_state.vue', () => { title: EmptyState.i18n.title, description: EmptyState.i18n.description, primaryButtonText: EmptyState.i18n.primaryButtonText, - primaryButtonLink: '/help/ci/quick_start/index.md', + primaryButtonLink: '/help/ci/quick_start/_index.md', svgPath: TEST_PIPELINES_EMPTY_STATE_SVG_PATH, }); }); diff --git a/spec/frontend/vue_merge_request_widget/components/states/mr_widget_nothing_to_merge_spec.js b/spec/frontend/vue_merge_request_widget/components/states/mr_widget_nothing_to_merge_spec.js index d8eec16539544..d226e04db84fa 100644 --- a/spec/frontend/vue_merge_request_widget/components/states/mr_widget_nothing_to_merge_spec.js +++ b/spec/frontend/vue_merge_request_widget/components/states/mr_widget_nothing_to_merge_spec.js @@ -30,7 +30,7 @@ describe('NothingToMerge', () => { }); it('renders text with link to CI Help Page', () => { - expect(findHelpLink().attributes('href')).toBe(helpPagePath('ci/quick_start/index.html')); + expect(findHelpLink().attributes('href')).toBe(helpPagePath('ci/quick_start/_index.html')); }); }); }); diff --git a/spec/helpers/ci/pipeline_editor_helper_spec.rb b/spec/helpers/ci/pipeline_editor_helper_spec.rb index 39b0f39dc7a0c..aa35b98814b16 100644 --- a/spec/helpers/ci/pipeline_editor_helper_spec.rb +++ b/spec/helpers/ci/pipeline_editor_helper_spec.rb @@ -28,8 +28,8 @@ { "ci-catalog-path" => explore_catalog_index_path, "ci-config-path": project.ci_config_path_or_default, - "ci-examples-help-page-path" => help_page_path('ci/examples/index.md'), - "ci-help-page-path" => help_page_path('ci/index.md'), + "ci-examples-help-page-path" => help_page_path('ci/examples/_index.md'), + "ci-help-page-path" => help_page_path('ci/_index.md'), "ci-lint-path" => project_ci_lint_path(project), "ci-troubleshooting-path" => help_page_path('ci/debugging.md', anchor: 'job-configuration-issues'), "default-branch" => project.default_branch_or_main, @@ -43,7 +43,7 @@ "project-path" => project.path, "project-full-path" => project.full_path, "project-namespace" => project.namespace.full_path, - "simulate-pipeline-help-page-path" => help_page_path('ci/pipeline_editor/index.md', anchor: 'simulate-a-cicd-pipeline'), + "simulate-pipeline-help-page-path" => help_page_path('ci/pipeline_editor/_index.md', anchor: 'simulate-a-cicd-pipeline'), "uses-external-config" => 'false', "validate-tab-illustration-path" => 'illustrations/validate.svg', "yml-help-page-path" => help_page_path('ci/yaml/_index.md') diff --git a/spec/presenters/projects/security/configuration_presenter_spec.rb b/spec/presenters/projects/security/configuration_presenter_spec.rb index 80402de567cd7..134864dbe7c5a 100644 --- a/spec/presenters/projects/security/configuration_presenter_spec.rb +++ b/spec/presenters/projects/security/configuration_presenter_spec.rb @@ -274,7 +274,7 @@ end it 'includes a link to CI pipeline docs' do - expect(html_data[:latest_pipeline_path]).to eq(help_page_path('ci/pipelines/index.md')) + expect(html_data[:latest_pipeline_path]).to eq(help_page_path('ci/pipelines/_index.md')) end context 'when gathering feature data' do -- GitLab