🛠️

ビルド環境について

LSC Managerでは、以下のDockerコンテナでビルドタスクを実行します。

リソース

CPU
2vCPU
MEM
12GB
SSD
20GiB

インストール済み言語・ツール

  • Node.js: 16.x
    • npm: 8.x
    • yarn: 1.x
  • Python: 3.8.x
    • pip: 22.x
  • AWS CLI: 2.x
  • SAM CLI: 1.x
  • lscbuild: 0.2.3

FAQ

ImageMagickなどの追加のパッケージをインストールしたい

ビルド環境はDebianベースで構築されており、root権限で動作しています。

そのため、aptコマンドを利用して、任意のパッケージを追加インストールできます。

例: ImageMagickをインストールする

#!/bin/bash
apt install -y imagemagick

🚧
セキュリティについて Dockerコンテナ内部でroot権限を付与していますが、ビルドごとに適切にcapabilityを設定したDockerコンテナを起動しているため、それぞれのビルド環境は安全に隔離されています。

特定のバージョンのNode.jsを使いたい / PHPなどの他の言語を使いたい

ビルド環境には、あらかじめnodenv, pyenv, phpenv, rbenv, goenvがインストールされています。

それぞれのenvコマンドを使うことによって、任意のバージョンの言語をインストールできます。

例1: Node.js 16.16.0をインストールする

#!/bin/bash
nodenv install -s 16.16.0
nodenv global 16.16.0

例2: go 1.18.4をインストールする

#!/bin/bash
goenv install -s 1.18.4
goenv global 1.18.4

ビルドにDockerを使いたい

残念ながら、現時点ではDinD, DooDには対応しておりません。

LSC向けでテナント契約しているが、lscbuildは使える?

ビルド種別に関わらずlscbuildはお使いいただけますが、フルマネージドではなくなるため、.lscbuild.yamlにLSCのビルドに必要なコマンドを全て記述する必要があります。

LSCをビルドする場合はリポジトリ直下に.lscbuild.yamlを置かずに、フルマネージドでお使いいただくことを推奨します。

.lscbuild.yamlの書き方が知りたい

日本語版のドキュメントはこちらです。