GitLab

PM2が最新のコミットの代わりに古いコミットをデプロイしてしまう

  • node.jsのアプリをGitLabコミット時にPM2で自動デプロイしようとしてハマったのでメモ。
  • 基本的には下記ページの記事を参考にさせていただいた。
  • それで問題なく進む・・・はずだった。
  • GitLabからクローンする際、あさってなコミットを見てしまう。
    • 具体的には1個か2個くらい前のコミットをデプロイしてしまう。
  • 以下のページで同じことに悩んでいる人とその解決策を見つけた。
  • Gitのバージョンをアップすればよいとある。
  • でも、ここで紹介されている方法で git2u を入れようとしたけどうまくいかなかった。
    • sudo yum replace git --replace-with git2u とすると「そんなパッケージはない」といわれる。
      • 2017年の記事なので、内容が現状に合っていないのかもしれない。
  • 「gitを新しくすればうまくいくはずだ」と仮定して、[centos7 git update]で検索。
  • 以下のページ発見。
  • ここを見てgitを2.9.5にアップデート(もとは1.8.xだった)。
    • ↓こんな感じで。
      $ sudo yum -y install gcc curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker autoconf
      ※結構時間かかる。
      $ sudo yum remove git -y
      $ wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
      $ tar xvfz git-2.9.5.tar.gz
      $ cd git-2.9.5
      $ sudo make prefix=/usr/local all
      $ sudo make prefix=/usr/local install
      $ exit
      ※いったん抜けてつなぎなおす
      $ git version
      
  • 見事、最新のコミットを見るようになった。
    • からくりはわからない。
      • PM2のソースまで見たが、怪しい点はなかった。
最終更新:2020年10月17日 20:10