Dockerでプログラムのビルドを自動化した話

Dockerが面倒なプログラムのビルドに便利だったという話です。

普段は使わないけど、たまにビルドしたいプログラムとかは環境設定が面倒ですよね。

それをDockerを用いて環境構築を行うことでとても快適にできたので備忘録として書いておきます。

具体的にはDockerfileで環境構築を行い、イメージの実行時にビルドします。

Dockerfileではビルドに必要な環境をなるべく整えておきます。例えば、

  • 必要なシステムライブラリのインストール
  • ツールチェーンやコンパイラのダウンロード・導入
  • 環境変数のエクスポート
  • ビルドするプログラムのコピー
  • コンパイラに必要な外部ライブラリのインストール

などがありますね。一度ビルドしてしまえば再利用が効くので、重い処理は全てここでやってしまいましょう。

環境変数のエクスポートが地味に便利で、ビルドオプションをあらかじめターゲットに絞って設定できます。

私はたまにarm向けのバイナリをコンパイルする時があるので、コンテナ内だけで有効な環境変数が設定されるのは重宝しています。

ここまで行えれば、あとはビルドするスクリプトをイメージ実行時に走らせれば良いだけです。

また、イメージにはビルドに必要な環境が整っているので、サンドボックス的な使い方もできます。

Dockerはサーバー向けみたいな勝手なイメージがありましたが、こういう作業にも向いているんですね。

今回は仕事で行った作業の備忘録だったので具体的な事は書けませんでしたが、いずれ具体的な利用法を書こうと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です