Node.js 12~16一回更新後期-配置編


導入する


Node.js 12から16一括更新後期-環境設定編に続く2編目です.
導入プロセス(中断なしの導入など)を詳細に説明するのは難しいが、環境に適応して導入を継続する方法を簡単に説明するだけです.
無停止の導入については、クラウドブログまたはチームを通じて深く理解できます.

進捗状況の共有


以前、私たちの環境はこうでした.
タイトル開発サーバ導入サーバ本番サーバUbuntu 18.0416.0418.04python3.7.23.53.5gcc7.4.04.84.8node.js12.xx12.0x12.xxnpm6.xx6.xx6.xx

1.Pythonとgccバージョンのアップグレード


アップロードの原因は、依存するnode-gypのpython 3です.要求6版gcc 5.2.0以上.
  • Python 3更新
  • python3 --version
    # Python 3.5.2
    sudo add-apt-repository ppa:deadsnakes/ppa # 해당 PPA가 python 공식인듯? 최근 3.9까지 릴리즈함.
    sudo apt-get update
    sudo apt-get install python3.6 -y
    
    # python3 버전 수동 변경
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 2
    
    # 해당 버전 선택
    sudo update-alternatives --config python3
    There are 2 choices for the alternative python3 (providing /usr/bin/python3).
    
      Selection    Path                Priority   Status
    ------------------------------------------------------------
    * 0            /usr/bin/python3.5   2         auto mode
      1            /usr/bin/python3.5   2         manual mode
      2            /usr/bin/python3.6   1         manual mode
    Press <enter> to keep the current choice[*], or type selection number: 2
    
    python3 --version
    # Python 3.6.2
  • gcc更新
  • #ppa 추가
    add-apt-repository ppa:ubuntu-toolchain-r/test
    apt-get update
    apt-get install gcc-5 g++-5
    
    # 버전확인
    gcc --version
    g++ --versionn
    # 패키지 관리 목록
    sudo update-alternatives --display gcc
    
    # sudo update-alternatives --install <link> <name> <path> <priority>
    ## priority가 낮으면 높은 우선순위
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
    sudo update-alternatives --config gcc
    There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
    
      Selection    Path              Priority   Status
    ------------------------------------------------------------
    * 0            /usr/bin/gcc-4.8   20        auto mode
      1            /usr/bin/gcc-4.8   20        manual mode
      2            /usr/bin/gcc-5     10        manual mode
    Press enter to keep the current choice[*], or type selection number: 2

    2.gitバージョンのアップロード



    sheckyが要求する最低バージョンは2.13.0以上です.
    2.7.4を使用しているので、アップロードする必要があります.
    sudo add-apt-repository ppa:git-core/ppa -y
    sudo apt-get update
    sudo apt-get install git -y

    3. npm cache clean -f

    npm cache clean -f 
    実行しました.前にnpm 6に置いたcacheを再インストールするため.

    4. npm isntall


    git pullを受信し、前のアプリケーションのnode 16上でpackage-lockを使用する.jsonが存在する場合.
    npm installは、本番サーバまたは導入サーバに自由にインストールできます.

    5. forever app restartall


    foreverで再起動すると、新しいアプリケーションのNode 16が完了します.

    6.hotfixを故意に開いて、自動的に導入できるかどうかを確認する


    テストは、特定のサーバに自動的に配備されます.問題が見えないので、先に完成します.
    念のため、2~3日の間に手動のトッピングを同時にチェックします.

    7.開発チームとNode 16インストール方法のドキュメントを共有する


    Node 16で環境開発を変更できるように、チームメンバーにドキュメントを共有し、事前に設定しました.
    また、先にアップロードしたPRについては、node 16に適用し、再テストしてから適用することが求められる.

    8. node16


    以降このサービスはnode 16として実行され、FEでしか使用できないJavaScriptの新しい構文もBEで使用される.
    選手たちのコード面での不便を解消できてよかった.

    TODO


    1.次に、lagacyへの対等依存を調査し、バージョン化作業を逐一行う.
    2.code内で単独で梱包します.jsonで明確に説明されていないインポートで使用されているライブラリがあるかどうかをチェックする追加

    コメントサイト


    GCC、G+およびその他のバージョンを追加し、パッケージを管理