タグ: GitLab

  • Gitlab CEをインストールしたUbuntuのOSをアップグレード

    “sudo do-release-upgrade” を実行したところ、”Please install all available updates for your release before upgrading.” が表示された。先にパッケージを最新にしろというので、”sudo apt update” “sudo apt upgarade” でパッケージを最新化した。

    その後、”sudo do-release-upgrade” を実行したところ、rebootを求められたので、再起動を実施した。

    再起動後に、”sudo do-release-upgrade” して、OSはUbuntu 18.04 から Ubuntu 20.04 にアップグレードできた。アップグレードのときに、サードパーティのaptリポジトリが対象から外された。外れたリポジトリは、GitLab CEのリポジトリ。

    Ubuntu 20.04に無事にアップグレードされた後に、apt update を行ったが、gitlab用のリポジトリは対象には入っていなかった。そのため、下記のコマンドで、リポジトリを再登録した。

    curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash 

    その後に、apt update を行い、対象にGitLabのリポジトリが含まれていることを確認した。このとき、アップデート対象に、GitLab CEが含まれていたので、apt upgradeでインストールした。このときの動作は、16.2.0-ce.0から16.2.0-ce.0の同じバージョンでの上書きインストールだった。

    gitlab-ce/focal 16.2.0-ce.0 amd64 [16.2.0-ce.0 からアップグレード可]

    これで無事にアップグレード完了。

  • GitLab CE で小まめにアップデートし忘れて、apt updateでエラーになった。

    すでに何度目かのミス。GitLab CEはアップデートのタイミングが早いので、小まめにアップデートを行っておかないと、アップグレードパスから外れて、apt updateでアップデートできなくなる。下記は、おきまりのエラー表示。

    dpkg: アーカイブ /var/cache/apt/archives/gitlab-ce_16.1.2-ce.0_amd64.deb の処理 中にエラーが発生しました (--unpack):
     new gitlab-ce package pre-installation script subprocess returned error exit status 1
    処理中にエラーが発生しました:
     /var/cache/apt/archives/gitlab-ce_16.1.2-ce.0_amd64.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    今回は、GitLab-ce-15.6.0から、最新のGitLab-ce-16.1.2なので、下記のアップグレードパスを踏んでアップグレードした。

    GitLab-ce-15.6.0

    GitLab-ce-15.11.11 ・・・15系の最終バージョン

    GitLab-ce-16.1.2

    コマンドは、次の順番で実行。これで、無事に16系の最新(作業時最新の16.1.2)にアップデートできた。

    sudo apt update
    sudo apt upgrade gitlab-ce=15.11.11-ce.0
    sudo apt upgrade gitlab-ce=16.1.2-ce.0
    sudo gitlab-ctl restart

    GitLab CEのアップグレードパスについては、下記を参照。

    https://docs.gitlab.com/ee/update/index.html#upgrading-to-a-new-major-version

  • メモ:GitLab CE 15.3.1からGitLab CE 15.6.0にアップデートした。

    GitLab CE 15.3.1からGitLab CE 15.6.0にアップデートしたので、メモ。

    apt update 、 apt upgrade で問題なくバージョンアップできた。とくに躓くところもなく、aptコマンドだけで終わった。

  • GitLab 14.10 から 15.3.1 にアップデートした

    GitLabで、14.10から15.3.1にapt upgradeでアップデートしたときに、エラーになったので、対応メモを残す。

    発生したエラー

    zen@LABO:~$ sudo apt upgrade
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています
    状態情報を読み取っています... 完了
    アップグレードパッケージを検出しています... 完了
    以下のパッケージはアップグレードされます:
      gitlab-ce
    アップグレード: 1 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
    11 個のパッケージが完全にインストールまたは削除されていません。
    1,104 MB 中 0 B のアーカイブを取得する必要があります。
    この操作後に追加で 223 MB のディスク容量が消費されます。
    続行しますか? [Y/n] Y
    (データベースを読み込んでいます ... 現在 296393 個のファイルとディレクトリがインストールされています。)
    .../gitlab-ce_15.3.1-ce.0_amd64.deb を展開する準備をしています ...
    gitlab preinstall: It seems you are upgrading from major version 14 to major version 15.
    gitlab preinstall: It is required to upgrade to the latest 15.0.x version first before proceeding.
    gitlab preinstall: Please follow the upgrade documentation at https://docs.gitlab.com/ee/update/index.html#upgrade-paths
    dpkg: アーカイブ /var/cache/apt/archives/gitlab-ce_15.3.1-ce.0_amd64.deb の処理 中にエラーが発生しました (--unpack):
     new gitlab-ce package pre-installation script subprocess returned error exit status 1
    処理中にエラーが発生しました:
     /var/cache/apt/archives/gitlab-ce_15.3.1-ce.0_amd64.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    zen@LABO:~$

    最初に、14.10から、15.0.2-ce.0に、アップデート。リストにあるかどうかを確認してから、バージョン指定でインストール。これで上書きインストールされる。

    zen@LABO:~$ sudo apt-cache madison gitlab-ce
    zen@LABO:~$ sudo apt-get install gitlab-ce=15.0.2-ce.0

    この後に、15.3(最新)にアップデート。今度は成功した。

    zen@LABO:~$ sudo apt update
    zen@LABO:~$ sudo apt upgrade
  • apt updateで、Gitlabの更新で「署名が無効」のエラーが出た

    Ubuntu Server上のGitLabをアップデートしようとして、apt updateしたところ「署名が無効です」のエラーが出た。

    エラー:6 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic InRelease 
      以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com>

    2022年03月02日で、署名の有効期限がきれていたようだ。curlで新しいものを落として、aptキーに加えた(コマンドは下記)。キーを更新したので、あとは通常通りの更新でGitLabの更新ができた。

    curl -s "https://packages.gitlab.com/gpg.key" | sudo apt-key add -

    実際にやったときのログ。

    エラー:6 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic InRelease 
      以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com> 
    187 kB を 3秒 で取得しました (69.6 kB/s) 
    パッケージリストを読み込んでいます... 完了 
    依存関係ツリーを作成しています 
    状態情報を読み取っています... 完了 
    パッケージはすべて最新です。 
    W: 署名照合中にエラーが発生しました。リポジトリは更新されず、過去のインデックス ファイルが使われます。GPG エラー: https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic InRelease: 以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com> 
    W: https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/dists/bionic/InRelease の取得に失敗しました  以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com> 
    W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視され るか、古いものが代わりに使われます。 
    zen@SEVR:~$ 
    zen@SEVR:~$ apt-key list 3F01618A51312F3F 
    pub   rsa4096 2020-03-02 [SC] [期限切れ: 2022-03-02] 
          F640 3F65 44A3 8863 DAA0  B6E0 3F01 618A 5131 2F3F 
    uid           [期限切れ] GitLab B.V. (package repository signing key) <packages@gitlab.com> 
    zen@SEVR:~$ 
    zen@SEVR:~$ curl -s "https://packages.gitlab.com/gpg.key" | sudo apt-key add - 
    OK 
    zen@SEVR:~$ 
    zen@SEVR:~$ 
    zen@SEVR:~$ sudo apt update 
    ヒット:1 http://jp.archive.ubuntu.com/ubuntu bionic InRelease 
    カ荳シ倖2 http://jp.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] 
    ヒット:3 http://archive.ubuntulinux.jp/ubuntu bionic InRelease 
    ヒット:4 http://archive.ubuntulinux.jp/ubuntu-ja-non-free bionic InRelease 
    取得:5 http://jp.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] 
    ヒット:7 http://security.ubuntu.com/ubuntu bionic-security InRelease 
    取得:6 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic InRelease [23.3 kB] 
    取得:8 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic/main amd64 Packages [68.5 kB] 
    255 kB を 3秒 で取得しました (85.1 kB/s) 
    パッケージリストを読み込んでいます... 完了 
    依存関係ツリーを作成しています 
    状態情報を読み取っています... 完了 
    アップグレードできるパッケージが 1 個あります。表示するには 'apt list --upgradable' を実行してください。 
    zen@SEVR:~$ 
    zen@SEVR:~$ apt list --upgradable 
    一覧表示... 完了 
    gitlab-ce/bionic 14.9.2-ce.0 amd64 [14.8.2-ce.0 からアップグレード可] 
    N: 追加バージョンが 436 件あります。表示するには '-a' スイッチを付けてください。 
    zen@SEVR:~$ 
    zen@SEVR:~$ 
    zen@SEVR:~$ sudo apt upgrade
  • メモ:GitLab 14.3.3-CE から GitLab 14.4.2-CEへの更新

    GitLab 14.3.3-CE から GitLab 14.4.2-CEへのaptを使ったアップデートは、エラーなく、apt upgradeだけで更新できた。

    マイナーアップデートなので、問題なし。

  • GitLab14.3.2-ceへのアップデートでエラーになった

    apt upgrade を行ったところ、Gitlabの更新で下記のエラーになった。バージョンは「Gitlab14.2.3-ce」から「Gitlab14.3.2-ce」への更新だ。

    Malformed configuration JSON file found at /opt/gitlab/embedded/nodes/LABO.json.
    This usually happens when your last run of `gitlab-ctl reconfigure` didn't complete successfully.
    This file is used to check if any of the unsupported configurations are enabled,
    and hence require a working reconfigure before upgrading.
    Please run `sudo gitlab-ctl reconfigure` to fix it and try again.
    dpkg: アーカイブ /var/cache/apt/archives/gitlab-ce_14.3.2-ce.0_amd64.deb の処理中にエラーが発生しました (--unpack):
     new gitlab-ce package pre-installation script subprocess returned error exit status 1
    処理中にエラーが発生しました:
     /var/cache/apt/archives/gitlab-ce_14.3.2-ce.0_amd64.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    エラーに書いてあるように、gitlab-ctl reconfigure のコマンドを実行した。

    ~$ sudo gitlab-ctl reconfigure

    結構時間がかかった。5~10分くらい。終わった後に、もう一度、”apt update” して “apt upgrade”した。今度は成功した。

  • Gitlab CE 13.10.3でapt upgradeしたらエラーになったので、個別にバージョンアップした

    Gitlab CE 13.10.3 がインストールされたUbuntuで、apt upgradeしたときに、Gitlabだけバージョンアップできずにエラーになった。古いままにもできないので、ステップを踏んでバージョンアップされたときのメモ。

    エラー

    (データベースを読み込んでいます ... 現在 327380 個のファイルとディレクトリがインストールされています。)
    .../gitlab-ce_14.2.3-ce.0_amd64.deb を展開する準備をしています ...
    gitlab preinstall: It seems you are upgrading from major version 13 to major version 14.
    gitlab preinstall: It is required to upgrade to the latest 14.0.x version first before proceeding.
    gitlab preinstall: Please follow the upgrade documentation at https://docs.gitlab.com/ee/update/index.html#upgrade-paths
    dpkg: アーカイブ /var/cache/apt/archives/gitlab-ce_14.2.3-ce.0_amd64.deb の処理中にエラーが発生しました (--unpack):
     new gitlab-ce package pre-installation script subprocess returned error exit status 1
    処理中にエラーが発生しました:
     /var/cache/apt/archives/gitlab-ce_14.2.3-ce.0_amd64.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    下記のコマンドを順番に実行して、ステップを踏んでGitLabをバージョンさせた。 ”13.10.3”→”13.12.11”→”14.2.3”の順にバージョンアップさせた。”14.2.3”はバージョンアップをしたときの最新バージョン。

    sudo apt-get update
    sudo apt-cache madison gitlab-ce
    (各マイナーバージョンの最後のバージョンを調べて、次のインストールから指定した)
    sudo apt-get install gitlab-ce=13.12.11-ce.0
    sudo apt-get install gitlab-ce=14.0.10-ce.0
    sudo gitlab-ctl reconfigure
    sudo apt-get install gitlab-ce=14.2.3-ce.0

    Gitlab CE 14.2.3のインストールをしたときにエラーが表示されたが、実際には成功していたようだ。

    参考 https://docs.gitlab.com/ee/update/index.html#checking-for-background-migrations-before-upgrading

  • GitLab CEのデフォルトのブランチ名を変える

    GitLabo CEでデフォルト設定を変えないと、プロジェクトを作った時のGitリポジトリのイニシャルブランチ名が「master」のままになってしまう。SVNなどから移行するときに、ブランチ名が「Main」だと別ブランチになってしまうので、今後に備えて、デフォルトのブランチ名を変えておく。

    1. GitLaboの管理画面に入る
    2. 設定からリポジトリを選択する(Settings からRepositoriesを選択する)
    3. 「Default initial branch name」を展開する
    4. ブランチ名を入力して、変更を保存する
  • Gitでリポジトリのファイルを全部削除する

    Gitのリポジトリに登録されているファイルを、いったん全部消して、登録しなおす必要が発生した。リポジトリに含まれているファイルをコマンドでまとめて削除した。あとは、commitして、push。

    git rm *
    git commit 
    git push
    

    gitで、rmコマンドを使うと、ファイルの削除になる。rmでファイルを指定するのだが、* アスタリスクにすることで、まるっと削除できた。履歴は残るのでよいが、rm * で全消しできるのは、便利だけど、こわい。