質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

CI(継続的インテグレーション)

CI(継続的インテグレーション)は、アプリ開発においてビルドとテストを繰り返すことで品質改善と納期短縮を図る手法です。JenkinsやTravis CIなどの専用ツールを利用してプロセスを自動化・半自動化して効率的に実施します。

Q&A

1回答

1739閲覧

Circle CIのコンテナ作成時の処理はどのようにしている?

退会済みユーザー

退会済みユーザー

総合スコア0

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

CI(継続的インテグレーション)

CI(継続的インテグレーション)は、アプリ開発においてビルドとテストを繰り返すことで品質改善と納期短縮を図る手法です。JenkinsやTravis CIなどの専用ツールを利用してプロセスを自動化・半自動化して効率的に実施します。

0グッド

0クリップ

投稿2017/02/25 13:28

CIツールについて学んでいます。
Circle CIでは1コンテナまで無料で使えるようですが、そのコンテナの作られ方に少し疑問があります。

Circle CIとGitHubを連系させておいて、プロジェクトをpushすると、GitHubを通してCircle CI側でプロジェクト用のコンテナが作られ、GitHubにpushした内容がコンテナに送られる。その後テストがあれば実行されると言った具合かと思います。

プロジェクト用のコンテナというものは何をみて作られているのでしょうか?例えば、Railsアプリであれば、Gemfile、database.ymlなどでしょうか?
OS種類やバージョン、言語のバージョンなど様々なプロジェクトを、きれいにコンテナとして構築することができるのですか?

そこまでCircle CIというのは賢いものなのでしょうか?幾つかサイト等をみたのですが、コンテナ作成時の設定等見当たらなかったので、pushしたファイル等をみて勝手に作られているのかと思っています...。

何か勘違いしているような気がしていますが、ご回答宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

こんにちは。
他の方からも回答があると思いますが、わかるところだけコメントさせていただきますね。

基本はRailsなどプロジェクトのディレクトリに、CircleCI用の設定ファイルを置きます。
circle.yml というファイル名です。

CircleCIで「アプリケーション込みでDockerのコンテナをビルドしてどこかにpush」するのではなくて、とりあえずRailsのアプリケーションのテストをするだけなら、circle.yml に

machine: ruby: version: 2.4.0

と指定してあげると、利用したいバージョンのrubyが入ったデフォルトのビルド用のイメージが割り当てられます。
実際は、CircleCIが用意しているビルド用のDockerイメージを利用します。また、Dockerイメージは、Ubuntuがベースになっています。
rubyやphp, pythonなどバージョンを指定すれば、それを組み込んでいるUbuntuのイメージが割り当てられます。

参考: https://circleci.com/docs/1.0/build-image-trusty/

さて、割り当たったubuntuのベースのイメージはrubyが入っているだけなので、そのあとにrailsのテストを通すためのいろんな下準備をしてあげないといけません。

追加のパッケージが必要であれば、apt-getする処理を書きますし、bundle install とか migrationとか、rake spec とかもcircle.ymlの中で定義が必要です。

※CircleCIのビルドで「Railsアプリケーション込みのDokcerイメージを作ってどこかにpush / deployする」ケースはやったことがないのでわかりません....

投稿2017/02/26 09:18

suama

総合スコア1997

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/02/26 13:25

ご回答ありがとうございます。 なるほど、自分で環境はある程度構築しなければならないということですね。すっきりしました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問