เคสนี้เป็น Project ที่อยู่ใน gitlab 13.12.12
สิ่งที่ควรทำคืออัพเกรดเป็นเวอร์ชั่นล่าสุด ของ
# 0) สำรองก่อน
โค้ด: เลือกทั้งหมด
sudo gitlab-backup create
sudo cp /etc/gitlab/gitlab.rb /root/gitlab_backup_conf/gitlab.rb.bak
sudo cp /etc/gitlab/gitlab-secrets.json /root/gitlab_backup_conf/gitlab-secrets.json.bak
โค้ด: เลือกทั้งหมด
# 1) 13.12.12 -> 13.12.15
sudo apt-get update
sudo apt-get install gitlab-ce=13.12.15-ce.0
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-rake gitlab:check SANITIZE=true
เช็ค Error
โค้ด: เลือกทั้งหมด
sudo tail -f /var/log/gitlab/gitlab-rails/production.log
โค้ด: เลือกทั้งหมด
sudo tail -f /var/log/gitlab/gitlab-rails/sidekiq.log
แก้โดย ใช้ gitlab-rails consoleStarted DELETE "/admin/projects/root/phpBB-***" for 171.96.87.*** at 2025-01-05 06:43:40 +0000
Processing by Admin::ProjectsController#destroy as HTML
Parameters: {"authenticity_token"=>"[FILTERED]", "projectName"=>"phpBB-***", "namespace_id"=>"root", "id"=>"phpBB-mtb"}
Completed 500 Internal Server Error in 27ms (ActiveRecord: 4.3ms | Elasticsearch: 0.0ms | Allocations: 6982)
OpenSSL::Cipher::CipherError ():
lib/gitlab/crypto_helper.rb:28:in aes256_gcm_decrypt'
app/models/concerns/token_authenticatable_strategies/
โค้ด: เลือกทั้งหมด
sudo gitlab-rails console
โค้ด: เลือกทั้งหมด
p = Project.find_by_full_path("root/phpBB-abc")
# หรือถ้า namespace อื่นอาจเป็น "group-name/project-name"
ตัวอย่างผลที่ได้ที่มี Project อยู่
นอกจากนี้ยังสามารถค้นหาชื่อโปรเช็คด้วยคำสั่ง ได้ด้วย แล้วสั่ง destroy ได้เหมือนกันirb(main):002:0> p = Project.find_by_full_path("root/phpBB-acb")
=> #<Project id:3 root/phpBB-abc>>
โค้ด: เลือกทั้งหมด
p = Project.find_by(name: "phpBB-acb")
โค้ด: เลือกทั้งหมด
p.deploy_tokens
p.runners
p.personal_access_tokens # (ปกติจะเป็นของ User, ไม่ใช่ Project)
โค้ด: เลือกทั้งหมด
p.deploy_tokens.destroy_all
โค้ด: เลือกทั้งหมด
p.destroy
โค้ด: เลือกทั้งหมด
p.delete
เสร็จแล้วออกจาก ออกจาก Rails Console
โค้ด: เลือกทั้งหมด
exit