primecloud controller を docker でサクッと build

13
SCSK株式会社 PrimeCloud Controllerを DockerでサクッとBuild R&Dセンター OSS戦略企画室 OSS技術第一課 綾野 鉄朗 2015/6/5

Upload: phamkhanh

Post on 28-Jan-2017

249 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: PrimeCloud Controller を Docker でサクッと Build

SCSK株式会社

PrimeCloud ControllerをDockerでサクッとBuild

R&Dセンター

OSS戦略企画室

OSS技術第一課

綾野 鉄朗

2015/6/5

Page 2: PrimeCloud Controller を Docker でサクッと Build

Copyright(c) SCSK Corporation Page 1

About me

名前:綾野 鉄朗

所属:SCSK株式会社

R&Dセンター OSS戦略企画室

OSS技術第一課

業務内容:

OSSを中心とした技術検証やサポート

PrimeCloud Controller OSS化プロジェクト

自称:

うどんエンジニア

Page 3: PrimeCloud Controller を Docker でサクッと Build

Copyright(c) SCSK Corporation Page 2

続きはWebでhttp://www.primecloud-controller.org

Page 4: PrimeCloud Controller を Docker でサクッと Build

Copyright(c) SCSK Corporation Page 3

2014年3月31日PrimeCloud ControllerをSCSK初のOSSとしてGithubで公開!

Page 5: PrimeCloud Controller を Docker でサクッと Build

Copyright(c) SCSK Corporation Page 4

ISSUEが・・・

Page 6: PrimeCloud Controller を Docker でサクッと Build

Copyright(c) SCSK Corporation Page 5

ビルド方法

②ローカル環境にMavenやJDKをインストールしビルドして公開用のtarballを作成

①GitHubからクローンして作業③公式サイトにアップロード

シェルスクリプト内の改行コードにCRLFが含まれていた OS環境の違いが!

Page 7: PrimeCloud Controller を Docker でサクッと Build

Copyright(c) SCSK Corporation Page 6

課題

1. OSとか改行コードとか環境に依存するのは困る

2. ビルドに必要な環境をインストールするのは大変

3. ビルド環境を作るための手順をマニュアル化するのも大変

どんな環境でも簡単に手順通り正しくビルドできるようにしたい

Page 8: PrimeCloud Controller を Docker でサクッと Build

Copyright(c) SCSK Corporation Page 7

Page 9: PrimeCloud Controller を Docker でサクッと Build

Copyright(c) SCSK Corporation Page 8

Dockerを使えば

1. OSとか改行コードとか環境に依存するのは困る

→コンテナ内の閉じた環境でビルドできる

2. ビルドに必要な環境をインストールするのは大変

→DockerImageにすることで簡略化

3. ビルド環境を作るための手順をマニュアル化するのも大変

→Dockerfileの通り動くのでそれを見ればOK

Page 10: PrimeCloud Controller を Docker でサクッと Build

Copyright(c) SCSK Corporation Page 9

Dockerを使ったビルドの流れ

ベースイメージ取得Maven、Java等必要な環境をインストールGithubのmasterブランチをcloneMavenを実行してプレビルドgit pull & mvn installを実行するシェルスクリプトを実行

Dockerfileの概要

#docker run --rm -v /tmp/pccbuild:/opt/pccbuild/ primecloudcontroller/primecloud-controller-build:latest

docker run コマンド一発でビルドが可能に!

DockerHubとGithubを連携させDockerイメージを公開

Page 11: PrimeCloud Controller を Docker でサクッと Build

Copyright(c) SCSK Corporation Page 10

GitHubとDockerHubで公開中

Page 12: PrimeCloud Controller を Docker でサクッと Build

Copyright(c) SCSK Corporation Page 11

まとめ

• Dockerを使えばアプリケーションのビルド環境自体も楽に配布できる

– ビルド→バイナリパッケージ作成みたいなことが環境依存無くサクッとできる

– 最近のプロジェクトはそういう環境を用意していることもある

• Dockerを使ってみたいけどProductionで使うには・・・という方に

– 開発環境のようなところから使っていくだけでも恩恵が有る

– CIと組み合わせて自動ビルドして確認みたいなこともできる

– ゆくゆくはPrimeCloud Controller自体もコンテナ上で動作するようにして配布したい

Page 13: PrimeCloud Controller を Docker でサクッと Build

Copyright(c) SCSK Corporation Page 12

ありがとうございました