Help us understand the problem. What is going on with this article?

CircleCIでx509という証明書エラーに遭遇したときの対処

More than 1 year has passed since last update.

エラー状況

CircleCIでのビルド・デプロイの設定をしているところ、
x509: failed to load system roots and no roots provided
という内容のエラーがrestore_cachesave_cacheで発生していました。

エラー内容詳細

適当に文字列は改変しています。

Skipping cache - error checking storage: RequestError: send request failed
caused by: Get https://circle-production-customer-artifacts.s3.amazonaws.com/?list-type=2&prefix=picard%2F59d0000000000global%2Fcaches%2FXXXXXXXX%22222-yhTkxxxxxxxxxxxxxxxxxqrvrm8IW_Hrsxxxxxx%3D: x509: failed to load system roots and no roots provided

どうやら、AWS S3にオレオレ自己証明書を使って暗号化してキャッシュを保存する動作のようです。

原因

CircleCIのビルドプロセスでcacheの暗号化に使うroot証明書を自分で生成しているのですが、そのためのコマンドが入っていない環境を使っていることが原因でした。

今回ビルドに指定していたDockerイメージがalpineをベースにしたもので、最低限のライブラリしか入れていなかったのです。

対処

ca-certificatesパッケージをインストールする。

alpine linuxならば以下のコマンドをDockerfileに追加します。

RUN apk add --no-cache ca-certificates
yoskeoka
Gopherです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした