gitlab遷移后遇到的問題


1、gitlab遷移后發現從之前的數據庫導過來的用戶數據編輯不了,報錯404,經測試發現新建的用戶可以編輯,故沒辦法只好把除管理員之外的用戶數據都清了,重新創建一遍用戶,但問題出現了,當我清理完除管理員之外的用戶后管理員登錄報500,具體報錯信息是:

{
    "method":"POST",
    "path":"/users/sign_in",
    "format":"html",
    "controller":"SessionsController",
    "action":"create",
    "status":500,
    "error":"OpenSSL::Cipher::CipherError: ",
    "duration":196.04,
    "view":0,
    "db":53.45,
    "time":"2019-12-18T12:56:40.889Z",
    "params":[
        {
            "key":"utf8",
            "value":"✓"
        },
        {
            "key":"authenticity_token",
            "value":"[FILTERED]"
        },
        {
            "key":"user",
            "value":{
                "login":"admin@example.com",
                "password":"[FILTERED]",
                "remember_me":"0"
            }
        }
    ],
    "remote_ip":"192.168.1.130",
    "user_id":1,
    "username":"root",
    "ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36",
    "queue_duration":2.69,
    "correlation_id":"p1jrfwOfAF9"
}

是的,沒錯報OpenSSL::Cipher::CipherError:這個錯,網上找了下說是gitlab數據遷移 時的一個缺陷,解決辦法如下:

1、覆蓋原來gitlab的 db_key_base 到新的gitlab db_key_base 位置在 /etc/gitlab/gitlab-secrets.json

2、EE版本執行

sudo gitlab-rails runner "Project.where(mirror: false).where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"

CE版本執行

sudo gitlab-rails runner "Project.where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"

但是我在執行完第二步的時候依舊沒有生效,后面發現有人提到secrets.yml【】文件也要更新,故我查找了下這個文件,發現里面確實也有db_key_base參數的值沒有改成和備份前一樣的,所以死馬當活馬醫,把新版的gitlab的這個值覆蓋成原來的gitlab db_key_base,然后重啟gitlab后就可以正常登錄了。

 

 注:當時發現有三個同名的文件,但是只要改第一個文件就可以了(第一個應該和第三個是軟鏈接的關系,改完第一個第三個自動改了,第二個文件里沒有這個參數)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM