Ruby Jessie から Stretch への問題の解決 "cannot open shared object file"、キャッシュの問題

 

Ruby チームは最近、公式の Docker イメージを Debian Jessie から Stretch に変更しました。 この変更によって、`circleci/ruby:2.3` など特定でないイメージタグを使用している場合、以前に生成されたキャッシュで問題が発生することがあります。

今後、この問題を解決し、防止するには、2 つの手順を実行します。

1. キャッシュを更新します。 キャッシュにはキーのプレフィックスがあります。CircleCI の場合、キャッシュのバージョンを管理するため `v1-` を使用しています。 キーを取得し、`v2` などの新しい値に更新します。 これで問題が解決するはずです。

2. この問題の再発を防止するため、イメージをピンどめします。 ほとんどの状況では、ベース OS バージョンを設定するため、任意の CircleCI イメージに `-jessie` または `-stretch` を追加できます。例:- image: circleci/ruby:2.3-jessie

ポイントバージョンによるピンどめも可能です。例:- image: circleci/ruby:2.3.7-jessie

さらに特別に、使用したいイメージの正確な SHA256 を使用することもできます。 値を見つけるには、使用したいイメージを使って古いビルドに移動し、`Spin up Environment` のドロップダウンを選択します。 この中に SHA256 があります。 例

circleci/ruby@sha256:df1808e61a9c32d0ec110960fed213ab2339451ca88941e9be01a03adc98396e

この記事は役に立ちましたか?
2人中2人がこの記事が役に立ったと言っています

コメント

0件のコメント

ログインしてコメントを残してください。