AAROC.CODE-RADE-build-containers
CODE-RADE ビルドコンテナ
使用する役割
このリポジトリには、CODE-RADE ビルドスレーブコンテナを構築するための Ansible-Container コードが含まれています。これは、Ansible Galaxy からの AAROC.CODE-RADE-container
ロールを使用します。
コンテナ
コンテナは Ansible Container を使って構築され、quay.io に保存されています。以下のベースイメージを構築しています:
イメージ | ステータス |
---|---|
CentOS 6 | |
Ubuntu 14.04 | |
CentOS 7 | |
Ubuntu 16.10 |
コンテナは次のように quay.io からプルして使用できます:
docker pull quay.io/aaroc/code-rade-ubuntu1610
このコンテナには、ユーザー、jdk、および jenkins 用の ssh デーモンが追加され、いくつかの CODE-RADE の特別な設定も含まれています:
- 一部の変数を設定する
ci
モジュールファイル:$SOFT_DIR
: CI 環境のソフトウェアインストールパスsetenv SOFT_DIR /data/ci-build/$::env(SITE)/$::env(OS)/$::env(ARCH)/$::env(NAME)/$::env(VERSION)
$REPO_DIR
: CI 環境のビルドアーティファクト(tarball の中)setenv REPO_DIR /data/artefacts/$::env(SITE)/$::env(OS)/$::env(ARCH)/$::env(NAME)/$::env(VERSION)
$SRC_DIR
: ソース tarball のローカルキャッシュsetenv SRC_DIR /data/src/$::env(NAME)/$::env(VERSION)
$MODULES
: CI 環境のモジュールファイルのパスset MODULES /data/modules
- 同じ変数を設定しますが、
$SOFT_DIR
のルートが/cvmfs
のdeploy
モジュールファイル。 - データをビルド間で持続させ、ビルドを移植可能にするために、データコンテナ(
CODE-RADE-data
)が使用されます。
データコンテナ
データコンテナ パターンを使用して、ジョブ間でビルドアーティファクトを持続させます。これらは Docker のために container.yml
で表現されています。
ビルド方法
コンテナをビルドするには、次のコマンドを実行します:
ansible-container --project-name code-rade build --roles-path /home/becker/Ops/AAROC/DevOps/Ansible/roles/ --use-local-python
イメージレジストリへのプッシュ
container.yml
には使用するレジストリの仕様が含まれています。デフォルトでは quay を使用しています。ビルドしたイメージを別のビルドサイトで使用できるようにレジストリにプッシュするには、次のようにします:
ansible-container --project-name code-rade push --roles-path /home/becker/Ops/AAROC/DevOps/Ansible/roles/ --push-to quay --tag latest
実行方法
これらのコンテナは CI システムによって自動的にプロビジョニングされるように設計されています。デフォルトのエントリーポイントはポート 5200 の ssh です。
これらを使用してローカルでビルドをチェックできます。実行するには、次のコマンドを使用します:
ansible-container --project-name code-rade run --roles-path /home/becker/Ops/AAROC/DevOps/Ansible/roles/
次に、実行中のコンテナに ssh で接続します:
ssh jenkins@172.17.0.2 -p 5200
デプロイ
これらのコンテナは CI 環境からのプロビジョニング用です。静的なビルドクラスターを本当に実行したい場合は、Ansible Container の --deploy
コマンドを使用できます。デプロイオプションについては、こちらを参照してください。
引用
研究やその他の成果物を生み出し、これらのコンテナがそのワークフローの一部である場合は、次のように引用してください。
Bruce Becker. (2017). AAROC/CODE-RADE-build-containers: CODE-RADE Foundation Release 3 - Build Containers [データセット]. Zenodo. http://doi.org/10.5281/zenodo.572275
ansible-galaxy install AAROC.CODE-RADE-build-containers