LoginSignup
1
1

More than 5 years have passed since last update.

CodeBuildを使ってみたメモ

Posted at

本当に今更だけどCodeBuildを使って、GitHubリポジトリのDockerfileをビルド&イメージプッシュ & Kubernetesにデプロイする設定を入れたので知見をメモする。

GitHubと連携できる

てっきりリポジトリにコミットされたらCodeBuildを実行〜みたいな時、CodeCommitじゃないとできないのかなと思っていたのですが、GitHubでもできました。

CodeBuildでDockerイメージをビルド(dockerコマンドの実行)する際には、CodeBuildオリジナルのDockerイメージを使わなければならない

"特権付与"にチェックを入れても、CodeBuild用のaws/codebuild/dockerイメージでなければdockerコマンドは使えません。

CodeBuildコンテナでのRubyインストール方法

前述の理由によりRubyを使いたい時、Rubyイメージが使えずコンテナにRubyをインストールするしかないのですが、普通にapt-get install rubyだと1.9が入ってしまいます。
2.4等新しいものをインストールする場合は次のようにします。

apt-get install -y software-properties-common
apt-add-repository -y ppa:brightbox/ruby-ng
apt-get update -y
apt-get -y install ruby2.4 ruby2.4-dev

イメージのタグなどに使う用のGitコミットID取得方法

下記変数が自動的にセットされているので、これが使えます。
※CodeBuild上のファイルは.gitがないようです。

CODEBUILD_RESOLVED_SOURCE_VERSION

シークレットの取り扱い

CodeBuildで環境変数を設定できるが、パスワード等のシークレットはAWS Systems Managerのパラメータストアを使います。

下記例は、パラメータストアにvalという名前で登録した値を、CodeBuild内でkeyという環境変数名前で使用できます。

env:
  parameter-store:
    key: "val"
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1