doc-locale/fr-fr/administration/cicd/maintenance.md
{{< details >}}
{{< /details >}}
Les commandes suivantes sont exécutées dans la console Rails.
[!warning] Toute commande qui modifie directement des données peut être dangereuse si elle n'est pas exécutée correctement ou dans les bonnes conditions. Nous recommandons vivement de les exécuter dans un environnement de test avec une sauvegarde de l'instance prête à être restaurée, au cas où.
admin = User.find(user_id) # replace user_id with the id of the admin you want to cancel the pipeline
# Iterate over each cancelable pipeline
Ci::Pipeline.cancelable.find_each do |pipeline|
Ci::CancelPipelineService.new(
pipeline: pipeline,
current_user: user,
cascade_to_children: false # the children are included in the outer loop
)
end
project = Project.find_by_full_path('<project_path>')
Ci::Pipeline.where(project_id: project.id).where(status: 'pending').count
Ci::Pipeline.where(project_id: project.id).where(status: 'pending').each {|p| p.cancel if p.stuck?}
Ci::Pipeline.where(project_id: project.id).where(status: 'pending').count
project = Project.find_by_full_path('<project_path>')
mr = project.merge_requests.find_by(iid: <merge_request_iid>)
mr.project.try(:ci_integration)
.gitlab-ci.yml {#validate-the-gitlab-ciyml-file}project = Project.find_by_full_path('<project_path>')
content = project.ci_config_for(project.repository.root_ref_sha)
Gitlab::Ci::Lint.new(project: project, current_user: User.first).validate(content)
Project.all.each do |p|
p.auto_devops_attributes={"enabled"=>"0"}
p.save
end
Vous pouvez exécuter manuellement des planifications de pipeline via la console Rails afin de révéler les erreurs qui ne sont généralement pas visibles.
# schedule_id can be obtained from Edit Pipeline Schedule page
schedule = Ci::PipelineSchedule.find_by(id: <schedule_id>)
# Select the user that you want to run the schedule for
user = User.find_by_username('<username>')
# Run the schedule
ps = Ci::CreatePipelineService.new(schedule.project, user, ref: schedule.ref).execute!(:schedule, ignore_skip_ci: true, save_on_errors: false, schedule: schedule)
[!warning] L'option permettant de transmettre des jetons d'enregistrement de runner et la prise en charge de certains arguments de configuration sont considérées comme héritées et ne sont pas recommandées. Utilisez le workflow de création de runner pour générer un jeton d'authentification permettant d'enregistrer des runners. Ce processus offre une traçabilité complète de la propriété des runners et améliore la sécurité de votre flotte de runners. Pour plus d'informations, consultez Migrer vers le nouveau workflow d'enregistrement des runners.
Prérequis :
Gitlab::CurrentSettings.current_application_settings.runners_registration_token
[!warning] L'option permettant de transmettre des jetons d'enregistrement de runner et la prise en charge de certains arguments de configuration sont considérées comme héritées et ne sont pas recommandées. Utilisez le workflow de création de runner pour générer un jeton d'authentification permettant d'enregistrer des runners. Ce processus offre une traçabilité complète de la propriété des runners et améliore la sécurité de votre flotte de runners. Pour plus d'informations, consultez Migrer vers le nouveau workflow d'enregistrement des runners.
appSetting = Gitlab::CurrentSettings.current_application_settings
appSetting.set_runners_registration_token('<new-runners-registration-token>')
appSetting.save!