Skip to content

Latest commit

 

History

History
121 lines (106 loc) · 6.47 KB

14.04-to-20.04-migration.md

File metadata and controls

121 lines (106 loc) · 6.47 KB
layout title short-title description order version
classic-docs
Ubuntu 14.04 から Ubuntu 20.04 への移行
14.04 から 20.04 への移行
CircleCI Ubuntu 14.04 イメージから CircleCI Ubuntu 20.04 イメージへの移行に役立つ情報を紹介します。 このガイドでは、一つ一つの手順を説明するのではなく、変更点やつまづきやすいポイントについて説明します。
20
クラウド
  • TOC {:toc}

サポートされているイメージへの移行

{: #switching-to-a-supported-image }

提供が終了するイメージから現在サポートされているイメージへの移行は簡単に行えます。 新しいイメージを使ってパイプラインを実行するために必要な作業は、プロジェクトに下記の変更が適用されるかどうかによって異なります。 Ubuntu 14.04 イメージと 20.04 イメージを使った場合のそれぞれの例を紹介します。

{:.tab.linuxVM.Explicit-Deprecated-Image}

version: 2.1
jobs:
  my-job:
    machine:
      image: circleci/classic:201707-01
    steps:
      run: echo "do something"

{:.tab.linuxVM.Default-Deprecated-Image}

version: 2.1
jobs:
  my-job:
    machine: true
    steps:
      run: echo "do something"

{:.tab.linuxVM.Supported-Image}

version: 2.1
jobs:
  my-job:
    machine:
      image: ubuntu-2004:202201-02
    steps:
      run: echo "do something"

上記の真ん中の例は、デフォルトイメージを使った例です。設定ファイルで machine: true を使用した場合に指定されます。 これは Ubuntu 14.04 イメージであり、提供が終了します。 サポートされているイメージ (およびタグ) は、Developer Hubでお探しください。

注: このガイドは、弊社やお客様の移行エクスペリエンスの共有によって得られた追加情報とヒントが随時記載され更新されます。

変更点

{: #changes }

Ubuntu 14.04 と 20.04 では変更点が多く、移行する前に把握しておく必要があります。 変更の多くは Canonical 社 (Ubuntu を提供) によるものですが、 CircleCI でもプリインストールしたソフトウェアへの変更を行なっています。 それぞれの変更点を見ていきましょう。

Ubuntu の変更点

{: #change-to-ubuntu }

  • カーネル: Linux カーネルは v4.4 から v5.11 にバージョンアップしました。
  • Python : Python v2 は Ubuntu からデフォルトでインストールされなくなりました。 CircleCI では現在もインストールし、バージョン管理は Pyenv 経由で行なっています。
  • OpenSSH : OpenSSH は v8.2 にアップデートされています。 この新しいバージョンは、GitHub のサポート終了による影響は受けません。
    • Ubuntu では 1024 ビット未満の RSA キーは使用できなくなりました。
  • GNU Toolchain
    • glibc は v2.31 にアップデートされています。
    • binutils は v2.26 にアップデートされています。
    • GCC は v9.3 にアップデートされています。
  • Apt は v1.2 にアップデートされています。
  • Nginx は v1.18 にアップデートされています。
  • nginx-core はデフォルトでレガシー geoip モジュールが有効になっている状態でリリースされなくなりました。
  • Apache は TLSv1.3 をサポートするようにビルドされています。
  • Apache はバージョン 2.4.29 にアップデートされています。 また、HTTP/2 のサポートも有効化されました。
  • LXD は v3.0 にアップデートされています。
  • PHP は v7.4 にアップデートされています。
  • Perl 5.30
  • MySQL は v5.7 にアップデートされています。
  • Snap & Snapcraft : Snap パッケージの実行とビルドに対応しています。
  • Java : 現在のデフォルトは OpenJDK v11 ですが、CircleCI にはより多くのバージョンがプリインストールされています。
  • OpenSSL は v1.1.0 から v1.1.1 にアップデートされ、TLS v1.3 が有効化されました。
  • netplan は IPv6 のプライバシー拡張機能をサポートしています。
  • netplan によりブリッジ用の IP を持たないデバイスを起動できます。
  • デフォルトの DNS リゾルバは、systemd-resolved です。
  • Bind 9.16
  • SysV. から SystemD に移行します。
  • gnupg2 より gpg バイナリが提供されます。
  • nipd から Chrony v3.5 に移行します。
  • Wireguard VPN をサポート
  • rustc 1.41
  • HAProxy 2.0
  • PostgreSQL 12

CircleCI ソフトウェアの変更点

{: #circleci-software-changes }

ソフトウェア Ubuntu 14.04 (デフォルト) Ubuntu 20.04 ( 2022年 1月 Q1)
AWS CLI 1.19.112 2.4.6
Google Chrome 54.0.2840.100 96.0.4664.110
Docker 17.09.0 20.10.11
Docker Compose 1.14.0 1.29.2
Firefox 47.0.1 95.0.1
GCP CLI 174.0.0 365.0.0
Go 1.10.2 1.17.3
Gradle 7.3.2
Heroku 6.99.0 7.59.2
jq 1.5 1.6
Leiningen 2.7.1 2.9.8
Maven 3.2.5 3.8.4
Node.js 16.13.0
npm 8.3.0
OpenJDK 1.8.0_131 11.0.13
Python2 移行 移行
Python3 3.4.3 3.9.7
Ruby 2.3.1 3.0.2
SBT 1.5.8
yq 4.13.5