🙆
EC2 Image Builder の components をテストする
2021/06/21 追記
イメージを Docker Hub に登録しました。
oppara/awstoe
はじめに
Docker イメージを作成し、Make で components のバリデーションを実行できるようしたい。
実行時のフェーズ指定は一旦無視。
元ネタは以下
[アップデート] EC2 Image Builder の components をローカルでテストするツールがリリースされました | DevelopersIO
Docker イメージをビルドする
FROM amazonlinux:2
RUN curl -O https://awstoe-ap-northeast-1.s3.ap-northeast-1.amazonaws.com/latest/linux/386/awstoe \
&& chmod +x awstoe \
&& mv awstoe /usr/bin/.
ENV WORKDIR /data
WORKDIR /data
ビルド
% docker build -t oppara/awstoe:latest .
Makefile 作成
DOCKER = docker run --rm \
-v $(CURDIR):/data \
-w /data oppara/awstoe awstoe
TARGET=
.PHONY: validate
validate: ## make validate TARGET=/path/to/target.yml
@$(DOCKER) validate --documents $(TARGET)
.PHONY: run
run: ## make run TARGET=/path/to/target.yml
@$(DOCKER) run --documents $(TARGET)
.PHONY: build
build: ## build docker image
docker build -t oppara/awstoe:latest .
components のバリデーション
% make validate TARGET=/path/to/components.yaml
components の実行
% make run TARGET=/path/to/components.yaml
環境
% sw_vers
ProductName: macOS
ProductVersion: 11.3.1
BuildVersion: 20E241
% docker --version
Docker version 20.10.6, build 370c289
% docker run --rm oppara/awstoe awstoe --version
AWSTaskOrchestratorAndExecutor-1.0.1345.0
Discussion