SlideShare a Scribd company logo
はじめての
2015-08-04 . Demand Side Science 社内勉強会 . Yosuke Mizutani
Circle CI とは
はじめてのビルド
ビルドのカスタマイズ
DEMO
Agenda
https://circleci.com
https://circleci.com
GitHub の OAuth認証をするだけ
組織の単位は

GitHub 上の Organization に従う
サインアップ
https://ja.wikipedia.org/wiki/継続的インテグレーション
CI とは
継続的インテグレーション、CI(英: continuous integration)とは、主にプ
ログラマーのアプリケーション作成時の品質改善や納期の短縮のための習慣
のことである。エクストリーム・プログラミング (XP) のプラクティスの一
つで、狭義にはビルドやテスト、インスペクションなどを継続的に実行して
いくことを意味する。特に、1990年代後半以降の開発においては、継続的
インテグレーションをサポートするソフトウェアを使用する傾向が強まって
きた。
近年、低価格 & 高品質の

SaaS (Software as a Service) 型 CIサービス
が続々登場
OSS 開発者・GitHub ユーザを中心に

Jenkins から乗り換えの流れ
今回は、主に Scala プロジェクトに対する

ビルド + テストの継続的実行にフォーカス
SaaS型 CIサービス
http://stackshare.io/continuous-integration
1. Jenkins
2. Travis CI
3. Codeship
4. CircleCI
5. TeamCity
6. wercker
7. Drone.io
8. Semaphore
9. Shippable
10. Solano CI
11. Appveyer
12. Buildkite
13. Go.CD
14. Test Kitchen
15. Strider
16. Magnum CI
17. Snap CI
18. Buildbot
19. Testling
20. DotCI
2015-08-01現在
今後、ブレイクの予感?
投資家

評価高い
http://qiita.com/search
2015-08-01現在
No. ツール・サービス ヒット数
1 Jenkins 1049
2 Travis CI 414
3 CircleCI 172
4 wercker 83
5 Drone.io 52
6 Codeship 7
以下のサービスを比較
Travis CI
Codeship
CircleCI

いずれも基本的な機能は兼ね備えている
GitHub 連携
Scala (sbt) のサポート (wercker はやや不十分)
LXC (コンテナ型) 実行環境
ビルド前後に任意のコマンドを実行可能 (sudo可)
各種主要データベースがセットアップ済み
ビルド時間制限なし (一部、個別要件あり)
CI サービスの比較
https://travis-ci.org/
ユーザ数最大の最古参CIサービス

(12万∼ユーザ、20万∼OSSリポジトリ)
複数のマシン環境・言語バージョンでの

ビルドを標準でサポート
設定ファイル「.travis.yml」の記述が必要
Travis CI の特徴
OSS は無料
プライベートリポジトリは同時実行数課金
Travis CI の料金
https://codeship.com/
Bitbucket サポート
ビルド環境がハイスペック
並列テスト可能
SSH ログイン可能
Docker 対応可
OSS でもビルドログが非公開
設定は全て WebUI で行う
Codeship の特徴
OSS は無料
プライベートリポジトリは

5 プロジェクト、100 ビルド/月 まで無料
個人アカウント: $49/月
プライベートリポジトリ無制限
同時実行数: 1
並列テスト: 2
Organization は異なる料金体系 (次頁)
Codeship の料金
Codeship の料金
https://circleci.com
並列テスト可能
SSH ログイン可能
Docker 対応可
外部サービスとの連携が充実
成果物の保存やデプロイ向け機能も充実
ユーザーサポートが手厚い (英語)
日本語の情報も多い
CircleCI の特徴
コンテナ数課金
コンテナ数 = 並列度 × 同時実行数
OSS は 4 コンテナまで無料
プライベートリポジトリは 1 コンテナ無料
1コンテナ追加するごとに $50/月
Enterprise 契約も可能
CircleCI の料金
Organization アカウントのプライベートリポジトリを使う前提
料金は全て月額
料金比較
サービス名
本社

所在地
同時実行数 並列

テスト1 2 4 8
Travis CI ドイツ $129 $129 $249 $489 -
Codeship アメリカ $99 $99 $299 $999 ○
CircleCI アメリカ Free $50 $150 $350 ○
wercker (β版) オランダ Free Free - - -
Drone.io アメリカ $99 $99 $199 $399 -
Semaphore セルビア $99 $99 $199 問い合わせ -
Shippable アメリカ Free $10 $30 $70 -
Solano CI アメリカ $50∼ (稼働時間課金) ○
Snap CI アメリカ $80 $80 $180 問い合わせ ○
2015-08-04現在
Scala プロジェクトのビルド時間を比較
使用したリポジトリはこちら
https://github.com/mogproject/example-scalacheck
測定結果
単位は「分:秒」
括弧内の時間はコンパイルおよびテストに費した時間
性能比較
sbt キャッシュ Travis CI Codeship CircleCI (*)
なし
1:36
(1:09)
0:37

(0:29)
1:44
(1:27)
あり
1:00
(0:28)
0:32

(0:19)
1:10
(0:42)
* テストコード自体が少ないせいか、並列度が 1 でも 4 でも結果変わらず
Codeship を使いましょう
おわり
まとめ
無料でプライベートリポジトリを

使い倒すなら CircleCI

OSS なら Travis CI が安定

コンパイルが遅い Scala のような言語は

Codeship vs CircleCI を検討
"CircleCI vs CodeshipCI - Qiita"

- http://qiita.com/blueplanet/items/a9e5b93797d4c171619a
コンパイル処理がボトルネックなら、並列度を上げても解決しないかも
雑感
Circle CI とは
はじめてのビルド
ビルドのカスタマイズ
DEMO
Agenda
CircleCI の話題に戻ります
https://circleci.com からログイン
ログイン
プロジェクトの作成
最初のビルド
デフォルトのビルド環境
リポジトリ直下に「circle.yml」が存在しない場合、
デフォルトの環境設定でビルドが実行される

使用言語は CircleCI によって自動的に判定
sbt プロジェクトの場合は

project/build.properties に記述したバージョンの
sbt が使われる

"Test environment - CircleCI"

- https://circleci.com/docs/environment
デフォルトのビルド環境
アーキテクチャー: x86_64
OS: Ubuntu 12.04 (precise)
Java: Oracle JDK 7

データベース・サービス
デフォルトで起動
couchdb (1.3.0)
memcached (1.4.13)
mongodb (2.4.13)
mysql (5.5.41)
postgresql (9.4 with postgis 2.0 extensions)
rabbitmq (3.4.4)
redis (3.0.2)
zookeeper (3.3.5)
利用可能
beanstalkd (1.4.6)
cassandra (2.1.3)
couchbase-server (2.0.0)
elasticsearch (0.90.2)
neo4j (2.2.2)
riak (1.4.8-1)
solr (4.3.1)
sphinx (2.0.4-release)
デフォルトのビルド環境
MySQL, PostgreSQL では以下のデータベースを使用可能
データベース名: circle_test
ユーザ: ubuntu
パスワード: なし
主な環境変数は以下
HOME=/home/ubuntu
LANG=en_US.UTF-8
PATH: /home/ubuntu/bin を含む
最初のビルドの後は、GitHub にコミットが push される

たびに CircleCI でもビルドが実行される
sbt プロジェクトのビルドの流れ
コンテナ起動
デバッグ用SSHポートの有効化
キャッシュの復元 (S3 からダウンロード)
GitHub からコードをチェックアウト
sbt test:compile
キャッシュの保存 (S3 へアップロード)
sbt test:test
JUnit などのメタデータの収集
成果物(アーティファクト)の収集
コンテナ停止
通知設定 (メール)
WebUI から個人で設定
通知設定 (Slack / HipChat)
WebUI からプロジェクト単位で設定
通知設定 (Slack / HipChat)
SSH を利用したデバッグ
SSH を利用したデバッグ
表示されるアドレス・ポートに SSH でログイン可能
GitHub に接続可能な SSH が必要
ssh git@github.com でチェック
ビルド完了後、30分経過するとコンテナは停止
SSH を利用したデバッグ
SSH 接続例
コンテナが複数起動している場合は

ssh node0, ssh node1, …

で他のコンテナに直接アクセス可能
$ ssh -p 64758 ubuntu@54.146.12.94
The authenticity of host '[54.146.12.94]:64758 ([54.146.12.94]:64758)' can't be established.
RSA key fingerprint is 5a:43:6d:7d:cb:a0:e6:26:cf:a3:fd:e6:8d:16:5f:3c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[54.146.12.94]:64758' (RSA) to the list of known hosts.
Last login: Sat Aug 1 13:46:33 2015 from 10.155.246.48
ubuntu@box1234:~$ ssh node2
Warning: Permanently added '[54.159.70.222]:64646' (ECDSA) to the list of known hosts.
Last login: Sat Aug 1 13:46:46 2015 from 10.155.246.48
ubuntu@box952:~$
ステータスバッジの追加
Project Settings -> Notifications -> Status Badges
Circle CI とは
はじめてのビルド
ビルドのカスタマイズ
DEMO
Agenda
ビルドのカスタマイズ
WebUI
circle.yml
リポジトリ直下に置く YAML形式のファイル

"Configuring CircleCI - CircleCI"

- https://circleci.com/docs/configuration
"Sample circle.yml file - CircleCI"

- https://circleci.com/docs/config-sample
キャッシュディレクトリの追加
「~/.ivy2」など一般的なビルドツールのディレクトリは

デフォルトでキャッシュ対象になっている。

Scala プロジェクトの場合

「~/.sbt/boot/scala-${SCALA_VERSION}」

だけをキャッシュ対象にするのが望ましいが

Travis CI とは異なり、Scala のバージョンが環境変数に

入っていない。どうしたら良いものか。
dependencies:
cache_directories:
- "~/.sbt"
環境変数のカスタマイズ
machine:
environment:
foo: bar
baz: 123
環境変数のカスタマイズ
リポジトリに置きたくない環境変数は WebUI で設定
Project Settings -> Tweaks -> Environment variables
同じ変数が circle.yml にもあれば、circle.yml 優先
タイムゾーンのカスタマイズ
machine:
timezone: Asia/Tokyo
JDK のカスタマイズ
以下から選択可能
oraclejdk8
oraclejdk7 (デフォルト)
oraclejdk6
openjdk7
openjdk6
machine:
java:
version: openjdk7
データベースのスキーマ設定
database:
override:
- mysql -u ubuntu circle_test < path/to/setup.sql
スキーマのロード・テスト用データの投入は

database.override にコマンドを記述して実現
接続ユーザ、データベース名は固定
アプリに対しては環境変数で指定するとよい
machine:
environment:
MY_APP_DB_URL: 'jdbc:mysql://localhost:3306/circle_test'
MY_APP_USER: 'ubuntu'
MY_APP_DB_PASS: ''
データベースのスキーマ設定
MySQL Workbench から DDL を出力する場合は

スキーマ修飾子を含めないように注意
ソフトウェアのインストール
dependencies:
pre:
# Install td-agent
- curl -L http://toolbelt.treasure-data.com/sh/install-ubuntu-precise.sh | sh
- sudo cp -f circle/td-agent.conf /etc/td-agent/td-agent.conf
- sudo /etc/init.d/td-agent stop
- sudo /etc/init.d/td-agent start
dependencies.pre にコマンドを順に記述
もしくはインストール用シェルを準備して、そのパスを記述
td-agent をインストールする例
<source>
type forward
port 24224
bind 0.0.0.0
</source>
<match **>
type stdout
</match>
circle.yml
circle/td-agent.conf
ソフトウェアのインストール
dependencies:
pre:
- sudo apt-add-repository -y 'deb
http://ppa.launchpad.net/ondrej/mysql-experimental/ubuntu precise
main'
- sudo apt-get update; sudo DEBIAN_FRONTEND=noninteractive apt-get
install -y mysql-server-5.6
MySQL 5.6 をインストールする例
デフォルトでインストールされているのは 5.5
circle.yml
前述の「キャッシュディレクトリ」を適切に追加して

不必要なダウンロードやコンパイルを避ける工夫も大切
ブランチを CI 対象外にする
デフォルトでは、全てのブランチがビルド対象
general.branches.ignore でブラックリストを指定

(正規表現もOK)
ホワイトリスト指定もできるが、非推奨
general:
branches:
ignore:
- gh-pages # list of branches to ignore
- /release/.*/ # or ignore regexes
general:
branches:
only:
- master # list of branches to build
- /feature-.*/ # or regexes
コミットを CI 対象外にする
直近のコミットメッセージ (head commit) に文字列
[ci skip] が含まれていれば、ビルドは実行されない

"Skip a build - CircleCI"

- https://circleci.com/docs/skip-a-build
$ git log origin/master..HEAD
commit 63ce74221ff899955dd6258020d6cb9accede893
Author: Daniel Woelfel <daniel@circleci.com>
Date: Wed Jan 23 16:48:25 2013 -0800
fix misspelling [ci skip]
commit 463147193b2fe561cfb12a9787434dd726390fcd
Author: Daniel Woelfel <daniel@circleci.com>
Date: Wed Jan 23 16:30:24 2013 -0800
add "Skip a build" doc
その他のトピック
成果物の保存
"Build artifacts - CircleCI" - https://circleci.com/docs/build-artifacts

コードカバレッジの取得
"Generating code coverage metrics - CircleCI"

- https://circleci.com/docs/code-coverage

Docker 連携
"Continuous Integration and Delivery with Docker - CircleCI"

- https://circleci.com/docs/docker

REST API
"CircleCI REST API - CircleCI" - https://circleci.com/docs/api

継続的デプロイ
"Continuous Deployment with Heroku - CircleCI"

- https://circleci.com/docs/continuous-deployment-with-heroku

"Continuous Deployment with AWS CodeDeploy - CircleCI"

- https://circleci.com/docs/continuous-deployment-with-aws-codedeploy
Circle CI とは
はじめてのビルド
ビルドのカスタマイズ
DEMO
Agenda
DEMO
プライベートリポジトリのビルドを追加
HipChat 連携
コンテナに SSH で接続
「circle.yml」を準備したブランチを push
カスタムインストールの実行確認
DSS版 CircleCI 利用心得
Don't ignore errors
失敗するテストは絶対に放置しない
テストコードは常に見直せ
Keep it Small
サイズの大きいファイルは置かない
使わないブランチは問答無用で削除
Keep it Short
そのライブラリ、本当に必要?
Specs2 よりも ScalaTest
[ci skip] を活用
"Continuous Integration and Deployment -
CircleCI"

- https://circleci.com/

"Getting Started - CircleCI"

- https://circleci.com/docs/gettingstarted

"継続的インテグレーション - Wikipedia"

- https://ja.wikipedia.org/wiki/継続的インテグ
レーション

"Discover and discuss the best dev tools and
cloud infrastructure services | StackShare"

- http://stackshare.io/

"Continuous Integration | StackShare"

- http://stackshare.io/continuous-integration

"Home - Qiita"

- http://qiita.com/

"Travis CI - Test and Deploy Your Code with
Confidence"

- https://travis-ci.org/

"Travis CI: Continuous Integration and
Deployment That Just Works"

- https://travis-ci.com/plans

"Continuous Delivery with Codeship: Fast, secure
and fully customizable."

- https://codeship.com/

"Codeship Organization Pricing: Starting at $99"

- https://codeship.com/pricing-organizations

"Wercker - automation driven development"

- http://wercker.com/

"Continuous Integration · drone.io"

- https://drone.io/

"Semaphore - Continuous Integration &
Deployment"

- https://semaphoreci.com/

"Continuous Integration with Docker | Shippable"

- https://app.shippable.com/

"Solano Labs | Continuous Integration and
Deployment"

- https://www.solanolabs.com/home

"Continuous Integration that Lives and Works in
the Cloud | Snap CI by ThoughtWorks"

- https://snap-ci.com/

"CIツールのまとめとSide CI - CIツール勉強会@福
岡"

- http://www.slideshare.net/SumiKoichiro/ci-
continuous-integration-servicematome

"CircleCI vs CodeshipCI - Qiita"

- http://qiita.com/blueplanet/items/
a9e5b93797d4c171619a

"CircleCI導入したのでwerckerとの比較も含めてま
とめ - 月曜日までに考えておきます"

- http://ryonext.hatenablog.com/entry/2014/05/
20/093828

"CircleCI で Playframework のプロジェクトを回そ
うとしたら OOM Killer に殺される件 - Qiita"

- http://qiita.com/kawachi/items/
4d4c56fa0f14c57cb220

"Circle Ciでlocalhostへ設定してあるfluentdを使用
する方法とcircle.yml - DRY"

- http://k16.hatenablog.jp/entry/2014/08/27/
163243

"CircleCIの便利な機能 - Qiita"

- http://qiita.com/mzp/items/
bba3f378e555e1ed586d
"ScalaプロジェクトをCircleCIでビルド+テストし
て、scoverageで計測したカバレッジを
COVERALLSに送るための諸設定をした -
TODESKING"

- http://www.todesking.com/blog/2014-11-18-
scala-with-circleci-and-coveralls/

"CircleCIアンチパターン 2015春 - tehepero
note(・ω<)"

- http://stormcat.hatenablog.com/entry/2015/
03/31/154300

"# 継続的インテグレーションでやってはいけない
こと - @numa08 猫耳帽子の女の子"

- http://numa08.hateblo.jp/entry/2014/11/07/
214314
"大体いい感じになるKeynoteテンプレート
「Azusa」作った - MEMOGRAPHIX"

- http://memo.sanographix.net/post/
82160791768
参考文献

More Related Content

What's hot

Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
 
Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介
Hiroki Endo
 

What's hot (20)

2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
 
Dockerの基本的な話
Dockerの基本的な話Dockerの基本的な話
Dockerの基本的な話
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker
 
これからのOpenShiftの話をしよう
これからのOpenShiftの話をしようこれからのOpenShiftの話をしよう
これからのOpenShiftの話をしよう
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
 
インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
 
貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽docker貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽docker
 
今日から始めるDigitalOcean
今日から始めるDigitalOcean今日から始めるDigitalOcean
今日から始めるDigitalOcean
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
 
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
 
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介
 
とある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみた
とある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみたとある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみた
とある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみた
 
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 

Similar to はじめての CircleCI

成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
guestc4549
 
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
Suguru Ito
 
Sql server 構築 運用 tips
Sql server 構築 運用 tipsSql server 構築 運用 tips
Sql server 構築 運用 tips
Masayuki Ozawa
 

Similar to はじめての CircleCI (20)

Gradle handson
Gradle handsonGradle handson
Gradle handson
 
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure PipelinesAzure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure Pipelines
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
Jenkins study jenkins build-cicdi
Jenkins study jenkins build-cicdiJenkins study jenkins build-cicdi
Jenkins study jenkins build-cicdi
 
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
 
ASP.NET vNextの全貌
ASP.NET vNextの全貌ASP.NET vNextの全貌
ASP.NET vNextの全貌
 
Microsoft AI Solution Update / DLL community Update
Microsoft AI Solution Update / DLL community UpdateMicrosoft AI Solution Update / DLL community Update
Microsoft AI Solution Update / DLL community Update
 
RoR周辺知識15項目
RoR周辺知識15項目RoR周辺知識15項目
RoR周辺知識15項目
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境
 
Wsfc basic 130720
Wsfc basic 130720Wsfc basic 130720
Wsfc basic 130720
 
JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
 
20180216 sapporo techbar_db_migration
20180216 sapporo techbar_db_migration20180216 sapporo techbar_db_migration
20180216 sapporo techbar_db_migration
 
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
 
【Microsoft Build Recap!】 Azure Hybrid周りの注目Update + α
【Microsoft Build Recap!】 Azure Hybrid周りの注目Update + α【Microsoft Build Recap!】 Azure Hybrid周りの注目Update + α
【Microsoft Build Recap!】 Azure Hybrid周りの注目Update + α
 
Sql server 構築 運用 tips
Sql server 構築 運用 tipsSql server 構築 運用 tips
Sql server 構築 運用 tips
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門
 

More from Yosuke Mizutani (6)

Introduction to Graph Theory
Introduction to Graph TheoryIntroduction to Graph Theory
Introduction to Graph Theory
 
フロントエンド初心者の大学生が Scala.js で Web アプリを作ってみた話
フロントエンド初心者の大学生が Scala.js で Web アプリを作ってみた話フロントエンド初心者の大学生が Scala.js で Web アプリを作ってみた話
フロントエンド初心者の大学生が Scala.js で Web アプリを作ってみた話
 
Spark GraphX で始めるグラフ解析
Spark GraphX で始めるグラフ解析Spark GraphX で始めるグラフ解析
Spark GraphX で始めるグラフ解析
 
Adtech x Scala x Performance tuning
Adtech x Scala x Performance tuningAdtech x Scala x Performance tuning
Adtech x Scala x Performance tuning
 
ScalaにまつわるNewsな話
ScalaにまつわるNewsな話ScalaにまつわるNewsな話
ScalaにまつわるNewsな話
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 

Recently uploaded

Recently uploaded (6)

本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
 
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
 
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
 
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
 

はじめての CircleCI