◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

継続的インテグレーション (CI) を啓蒙するスレ ->画像>1枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1518877906/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん
2018/02/17(土) 23:31:46.57ID:EwTJGG8P
GitHubの普及で身近になってきた、Travis CIやAppVeyorなどのCIの便利さやテクニックなどについて、語りましょう。
2デフォルトの名無しさん
2018/02/18(日) 00:08:48.88ID:dp9S/ZRw
あるならあるで良いんだが、効果は限定的だと考えるようになってきた。

なぜならCIで実行するものは何かというと通常テストの実行だが、
テストの実行というのはどちらにしろローカルでも行うから

「テストを実行するの忘れない」とか「みんなが見れる場所でテストが実行されている」
というメリットは有るのだが品質にはあまりつながらない気がする。

もちろんローカルでやるのが大変なものを、CIだと簡単にやれる
という状況であれば効果は高いのだが、ローカルでやるのが大変なものってなんだ?
それがCIで簡単にやれるためには相当ハイスペックなマシンが必要じゃないか?
みたいになる。

重要なのはCIで実行する「内容」であって、CIという手段ではないので、
あまり手段にこだわってもなぁという気がしている。

もちろんあるのとないのではあったほうが良いんだよ。でもアレば少しマシぐらいの感覚
3片山博文MZ ◆T6xkBnTXz7B0
2018/02/18(日) 00:13:22.23ID:zL4UkFvD
LinuxとiOSとWin、x86とx64でビルド&テスト&デプロイやれって言われて、普通、人間にやらせるか? CIに任せるだろ。
4片山博文MZ ◆T6xkBnTXz7B0
2018/02/18(日) 00:17:59.59ID:zL4UkFvD
CIは仮想化の力で複数の環境におけるビルド&テスト&デプロイをバッチ処理として、自動化する。
5片山博文MZ ◆T6xkBnTXz7B0
2018/02/18(日) 00:29:11.34ID:zL4UkFvD
テスト要員を半分以下に。単純作業のテスターは要らない。
6デフォルトの名無しさん
2018/02/18(日) 02:17:46.61ID:ydkJE298
>>3
それスクリプト流せばいいだけだろ
CIの価値とは全く関係ない
7デフォルトの名無しさん
2018/02/18(日) 02:48:20.51ID:dp9S/ZRw
先に>>6に言われたなw

例えばgoはコマンド一つで複数のプラットフォーム用のバイナリを生成することができる
CIはビルド&テスト&デプロイをやってくれるものだと考えているかもしれないが、
別に自分のマシンからだってビルド&テスト&デプロイは行える

つまりCIの価値というのは、ビルド&テスト&デプロイそのものではなくて
ワークフローを統一化できるというところにある

それはそれで良いことなんだが、CIのメリットというのはワークフローの統一化だと思うと
思っているほど大したことしてないと思うだろ?

そしてもう一つは、テストマシンリソースのレンタル
テスト自体は自分のマシンでできる。だけど自分のマシンで追いつかないようなものは、
CIサーバーに頼んで借りられる。ただしCIサーバーのスペックが高いか、
クラスタでも組んでないと自分のマシンでやったほうが速いってことになりかねないw

ちなみに普段の開発中にはCIは利用しない。なぜならCIでは特定のメソッドだけテストの実行を行う
なんてことがやりづらく自分のマシンでテストを実行したほうが速いから。
CIによるテストは時間が掛かるテストをお行うもので、時間がかからないテストはローカルで済ませる

>>5
> テスト要員を半分以下に。単純作業のテスターは要らない。

それを実現するにはCIサーバーを導入しても実現できない。
単純作業(テスト)を行うためのテストコードが必要。
だがテストコードがあるなら、それは自分のマシンでも実行できる
8片山博文MZ ◆T6xkBnTXz7B0
2018/02/18(日) 06:10:30.39ID:1UUb2h0E
C言語におけるCIのサンプルです。ご参考に。

https://github.com/katahiromz/getoptwin
https://github.com/katahiromz/getoptwin/blob/master/.travis.yml
https://github.com/katahiromz/getoptwin/blob/master/appveyor.yml
9デフォルトの名無しさん
2018/02/18(日) 09:28:42.57ID:fvmxJoRp
それCIじゃねーよ
10デフォルトの名無しさん
2018/02/18(日) 18:08:34.16ID:zd+wqEcu
自分のマシンでできない事はないけど、複数のOS上かつ複数のランタイムバージョンでテストを実行してついでにオーケーならデプロイまでしてくれるからなあ。
それをローカルでやるとなると必要な分だけの仮想環境を用意してさらにそれら環境全部の実行待ちの時間もバカにならんし、ぎゃくにローカルでやるメリットがあまり思い浮かばない
11デフォルトの名無しさん
2018/02/18(日) 18:38:31.65ID:F2O3xW/S
>>10
でもさ、それって複数のランタイムバージョンでテストしなければいけない状態
にのみ成り立つでしょ? 意外と少ないと思うんだよね
12デフォルトの名無しさん
2018/02/18(日) 19:30:06.94ID:zd+wqEcu
>>11
まあ必要ない状況ならそれでいいんじゃないの。
俺が扱ってるプロダクトだとそれが必須だからCIツール様に足向けて寝られないくらい助かってるんだわ。
13デフォルトの名無しさん
2018/02/18(日) 19:38:21.45ID:zd+wqEcu
つかスレの流れを見てなかったけど、何でもかんでも猫も杓子もCI使えばいいってもんじゃねえって話なのね。
それなら完全に同意だわ。
14デフォルトの名無しさん
2018/02/18(日) 19:39:15.73ID:zd+wqEcu
といってもCIを使うデメリットも特に思い当たらないから何となく使うのもいいとは思うけどな
15デフォルトの名無しさん
2018/02/18(日) 20:13:05.44ID:ydkJE298
微妙に噛み合わない会話が続いているのはCIツールのことをCIって呼んでるやつと
プラクティスの名前としてCIって言葉を使ってるやつとに分かれてるからだね
16デフォルトの名無しさん
2018/02/18(日) 20:17:21.91ID:LfAicYVt
プラクティスとしてのCIなら自分のローカルマシンでやってても、上で書いてあるようなことをやってるならそれはCIだわな
17デフォルトの名無しさん
2018/02/18(日) 20:26:49.49ID:LfAicYVt
CIの肝はセントラルリポジトリに対してテストを行う時点で、自分のローカルとCI環境の最低二ヶ所の環境でパスすることを確認できる事なんだけどな。
ローカルだけでやってたら、環境依存の問題は絶対に見つけられんからあまりやる意味もない気がする。
18デフォルトの名無しさん
2018/02/18(日) 22:55:00.28ID:ydkJE298
>>16
それはもう一段階詳細な相違点
プラクティスとしてのCIをローカルとは別のCIサーバーを使う前提で捉えてる人もいるってこと

>>17
ローカルでもVM使って複数環境のテストできるし
CIじゃなくてもビルドスクリプトでリモート環境を複数利用したテストもできる

結局それらを”自動で継続的に”実行するかどうか
19デフォルトの名無しさん
2018/02/18(日) 23:13:32.08ID:F2O3xW/S
>>15
普通CIっていったらCIツールの導入じゃね?

俺が言いたいのは、テストコード無くて別に自動的にデプロイするわけでもないのに
CIツール入れても意味ないよね?って話

まずはテストコードは書くことが重要。
で書いてしまえば、ローカルでもできるじゃん?

ビルドとかデプロイとかコマンド一つでできるじゃん?
じゃあCIツール入れるメリットってなんだろう?って話

CIがテストやMakefile書きましょうレベルの話ならば
なんだ俺は普段からCIやっていたのかwってことになる
もちろんそんなわけないので、テストやMakefileを書いている俺からすると

CIツールの導入で得られるメリットというのは、
MacのAutomatorのフォルダアクション(指定したフォルダにファイルが
追加された時に指定したコマンドを実行)レベルのものなんだってこと

もちろんそれがみんなに共有されるってことはわかるんだけど、
フォルダアクション+情報共有がCIツールの本質なんだなぁって話
20デフォルトの名無しさん
2018/02/18(日) 23:21:49.77ID:F2O3xW/S
まあ要するにローカルでテストできる体制も整ってないのに
Travis使います。Jenkins使いましょう。といっても効果ないよってことだよ

まず最初にテストやMakefile相当のものを作る。
そしたらCIツール使える状態になるけど、
次は、あれ?CIツール使わなくても全部ローカルでできるじゃん?
ってなると思うよw

そこから先、CIツールを導入する目的が何かを自動化できるだと
理由として弱い。全部ローカルで出来てることだから
21デフォルトの名無しさん
2018/02/19(月) 07:18:39.86ID:YvDQTksi
絵に描いたような逆張り野郎だな
22デフォルトの名無しさん
2018/02/19(月) 08:23:59.56ID:YvDQTksi
>>18
君の言っていることは「メモ帳があれば高機能なエディタもIDEも不要」というのと同じくらいの暴論だよ
23デフォルトの名無しさん
2018/02/19(月) 20:36:46.45ID:anRYL6nk
>>20
CIの祖先はデイリービルドなんだよ
元々インテグレーションの苦痛を減らす目的で始まったプラクティスなわけ
ローカルかどうかとかは全然本質と関係ないから
24デフォルトの名無しさん
2018/02/19(月) 20:39:13.91ID:anRYL6nk
>>22
どこをどう読めばそういう解釈になるんだよww
俺はCIツールを否定してるんじゃなくCIってなんなのかって話をしてるだけだぞ
25デフォルトの名無しさん
2018/02/19(月) 22:28:28.96ID:bxmPXsfI
ローカルでやるからツールはいらないってか
なんというか、頑張ってくれとしか言いようがないw
26デフォルトの名無しさん
2018/02/19(月) 23:20:16.94ID:uhfYTKrf
>>23 >>25
違う違う。ローカルでやるから~じゃなくて
逆にローカルでもリモートでも同じだって言いたい

みんなCIをリモートで専用のCIツール使ってやろうとするけど、
同じことをCIツール使わずにmakeとかnpmとかrakeとか
そういった言語用のツールでビルドやテスト実行してるでしょ?
もちろん必要と思われる任意のタイミングで手動で実行してるんだけど。

ローカルで手動でこれらの作業をやってるだけじゃ、
CIと言わないと思うんだけど、CIツールで行うとされてる
作業の全てはローカルで実行できるわけさ。
(自動的に実行もgitのフックを使えばできる)

そうするとこのローカルでやってる作業・・・がCIからみて足りないものは、
自動化されて忘れない。みんなと情報共有できる。という点で
もちろんこれはチーム開発では重要なことなんだけど、品質が上がるか?と
言われればケアレスミス防止程度だよなぁって思ってるんだよ。

だってローカルでしっかり手動でテスト(CIといって良いのか?)をやってるんだから
27デフォルトの名無しさん
2018/02/19(月) 23:57:13.37ID:anRYL6nk
>>26
手動でスクリプトを流してるうちはCIとは呼ばないよね
CIツール使わずにnpmやrakeだけでも自動で継続的にやってるなら
ローカル実行でもCIと言っていいと思うよ

現実的には個人開発かそれに近い場合以外は
サーバー実行にしないと著しく不便なだけで
28デフォルトの名無しさん
2018/02/19(月) 23:59:47.39ID:anRYL6nk
https://www.agilealliance.org/glossary/continuous-integration/
the practice of continuous integration should not be confused with the tools that assist it. Continuous integration is first and foremost a matter of attitude rather than tools, and it relies on more than one kind of tool.

https://martinfowler.com/articles/continuousIntegration.html
Although Continuous Integration is a practice that requires no particular tooling to deploy, we've found that it is useful to use a Continuous Integration server.
29デフォルトの名無しさん
2018/02/20(火) 00:37:16.03ID:wdwe47Ke
>>27
CIって結局テストのためだと思うんだよね。
なぜなら毎日デプロイしたりバイナリをリリースしたいか?って
言われるとそうなってないところが大半だと思うから。
毎日とまでは行かなくても短いスパンでリリースやビルドしたいなら
自動化する意味は感じられるけど、それが必要とされるところが少ない。


そしてテストに限った話をすると、上でも書いたけどCIツールを使った
テストって全体のテストを行うのがメインで修正した箇所を局所的に
テストすることはないと思う。局所的にテストしようと思ったらその設定を
作らないといけないから。そして全体のテストだから時間もかかる。

って考えるとローカルで開発しながらちょこちょこっとテストを実行すると思うんだよね。
この場合ローカルでの手動のテストのほうが効率が良い

そうなると個人のPCでは時間的に到底できないほど多くのテストが必要なんです。
プラットフォームやミドルウェアのバージョンが違っても全部テストやる必要があるんです。
みたいなマイナーなケースでしか「手動でのスクリプト実行」を超えるものは
必要にならないんじゃないかなと

なんだろ、ないよりはあったほうが良いけど、あっても多くの場合劇的な効果は
得られないよって言ったほうが良いのかな。俺がCIツール導入の話を聞くたびに
その前にテストコードちゃんと書いてローカルでいいからテストしろよって思うからかもしれない
30デフォルトの名無しさん
2018/02/20(火) 01:30:16.83ID:+H4kL9LD
>>29
一般的なCIの話をすると複数のコンポーネントをそれぞれのチームや個人が並行開発してて
それぞれの担当部分はローカルでテストしてからテストに通ったものだけCI用のリポジトリにpushする
んでCIサーバー側ですべてのコンポーネントを結合したものをビルドしてテストする
だからコンポーネント間で齟齬が生じたらすぐに検知できる

そういうインテグレーションが必要ない開発なら
CIをやることによるメリットも当然小さくなるよ
31デフォルトの名無しさん
2018/02/20(火) 01:44:39.31ID:wdwe47Ke
>>30
たしかに単体毎ではテストにとって
それぞれmasterにコンフリクト無しでマージできるけど
2つともマージしたらエラーになるってのは有るね。

これはローカルでそれぞれテストしていても見つけられないバグだ。
まあそういう事が発生した経験はないんだけど
モジュールが細かく別れていて、同じところを修正することが少ないからかな
32デフォルトの名無しさん
2018/02/20(火) 06:43:14.06ID:qL04aTa6
言ってることはわからなくもないけど、ここCIを啓蒙するスレなんだよな
33片山博文MZ ◆T6xkBnTXz7B0
2018/03/01(木) 09:38:18.47ID:JoXX949F
.travis.ymlやappveyor.yml の書き方、わからない人が居るようだから、指導してやってよ。
34デフォルトの名無しさん
2018/05/23(水) 20:23:49.07ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

N20BU
35デフォルトの名無しさん
2018/07/05(木) 01:22:00.19ID:RfoszcD2
AQW

ニューススポーツなんでも実況



lud20250227205450
このスレへの固定リンク: http://5chb.net/r/tech/1518877906/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「継続的インテグレーション (CI) を啓蒙するスレ ->画像>1枚 」を見た人も見ています:
継続的インテグレーションができてない会社は悲惨
【物流】ロシア貨物鉄道輸送大手トランスコンテナ、日本発―欧州向け鉄道輸送を継続 中国経由もオプションに [上級国民★]
【テレビ】草ナギの「ブラタモリ」ナレーション継続明言「NHKに貢献していただいて、ありがたい」NHK会長
ガンダムオペレーション2 アンテナ3本以下晒しスレ
【11月 再開予定】ディスガイアRPG 第115話【メンテ継続中】
【永井浩二】ミルダム契約継続のためオリンピックを利用する悪徳企業永井コーポレーション Part.300
元アイドリングの外岡えりか所属中のボックスコーポレーションを退所、芸能活動は継続の模様、事務所移籍へ 3.1
【継続】大人バレエpart9【再開】
【0G0A】久保建英アンチスレ 15【00継続中】
【就活終了】内定出た人スレ中小企業編2【or継続】
チビを罵倒してモチベーションを上げるスレ (ID無し)
NHK総合を常に実況し続けるスレ 155467 北朝鮮制裁継続
◆◆◆政治ニュース+新規スレッド&継続依頼 ★16
【CB】継続スレがない? 変なスレ・困った★報告処 雑談ok ★199
【CB】継続スレがない? 変なスレ・困った★報告処 雑談ok ★194
【CB】継続スレがない? 変なスレ・困った★報告処 雑談ok ★196
朝鮮学校への「スパイ養成的なところも」発言のコメンテーター「出演継続は困難」とMBSラジオ[3/24] [すりみ★]
グランドインテンション攻略&雑談スレLink04
【野球】広島の連敗で懸念される、「カープ女子の球場離れ」と「交流戦の継続」
【米中貿易戦争】マレーシア首相、ファーウェイ製品の使用継続を宣言「我々に盗まれる秘密がない」Huaweiの研究技術を活用したい★2
継続スレ立ての重複について語る
【継続】大人バレエpart8【再開】 ©2ch.net
【ihou系】(薬物・取引・出会い)宣伝・マルチ継続行為対策スレ 4
◆◆◆政治ニュース+新規スレッド&継続依頼 ★11
◆◆◆政治ニュース+新規スレッド&継続依頼 ★14
★090506 就職板 「男は結婚するべきではない」板違い継続スレ報告
【6/9】 AKB48グループ 写メ会・画像のみを貼るスレ 【インテックス大阪】
東武東上線の減車・合理化・内装継続使用・9000/10000系列の長期運用を推進するスレ
【支部辞典捏造&タグ工作閲覧泥棒継続中】おそ松さん松野一松アンチスレ46【脱糞放屁DV加害者】
Qアノンや令和のスレが立つ度、パヨク退治のために「共産!反日!」とコピペを貼り続けてる。継続は力!
◆スレッド作成&継続依頼スレッド★240◆ 立て子キャップを取得したいコテ(トリップ付)募集中! [LingLing★]
【世界が日本に驚愕】「歴史上最高の…」「天才的イノベーション」 日本代表の“秘技”に世界が驚愕へ
◆スレッド作成&継続依頼スレッド★216◆ 立て子キャップを取得したいコテ(トリップ付)募集中!
【皇室】愛子さまの“推し”は韓流アイドルEXO『ベクヒョン』 大学でもダンスは継続か[03/05] ©bbspink.com
内閣府「破壊的イノベーションを起こせる基礎研究に1100億円出します!! 確実に起こせる人だけ連絡ください!!」
◆スレッド作成&継続依頼スレッド★275◆ 立て子キャップを取得したいコテ(トリップ付)募集中! [仮面ウニダー★]
◆スレッド作成&継続依頼スレッド★252◆ 立て子キャップを取得したいコテ(トリップ付)募集中! [仮面ウニダー★]
◆スレッド作成&継続依頼スレッド★256◆ 立て子キャップを取得したいコテ(トリップ付)募集中! [仮面ウニダー★]
◆スレッド作成&継続依頼スレッド★259◆ 立て子キャップを取得したいコテ(トリップ付)募集中! [仮面ウニダー★]
ようやくまたこの日が来たな…『嫌儲』を大本営にした『反アフィカス連合』が!俺はずっとこの日の為に反アフィ啓蒙スレを立ていたんだ!
【速報】ベラルーシ、ロシア軍の駐留継続を発表
フリースタイルダンジョン ネタバレスレ
田舎関西ポンコツ新幹線シナチョンウンコルートスレ★552
亀梨和也がKAT-TUNを脱退へ。中丸と上田でグループ継続するか話し合い中
【コロナ】緊急事態宣言解除後もテレワーク継続へ 大和証券グループ本社 [ムヒタ★]
【朗報】スマホゲーム「アイドリープライド」、神田沙也加さんが演じていたキャラクターのボイス継続を発表
PS5のスレに「チョンテンドーなんたらかんたらで光正しき正論どうたら」って40レスくらいするおじさんいるでしょ
【ヴィジランテ すまっしゅ!!】ヒロアカスピンオフ総合スレ Part16【チームアップミッション】
バレンティンに貰ったチョコの数だけ文字数だけ書けるスレwwwwwwwwwwwwwwwwwwww
【海外事業】ソニーグループ、ロシアでの音楽事業から撤退…侵略の長期化で事業継続は困難と判断 [エリオット★]
継続性で堅い収入源
神鋼 発覚後も不正継続
もう選挙も新聞啓蒙も嫌だよぉ~
日韓の民間交流は継続していこう
【朗報】ドット絵、1ヶ月継続
就労継続支援A型・B型 Part2
未来に【鉄道友の会】を継続しよう3.4
【専門書】数学の本第73巻【啓蒙書】
最近2400発アリの65%継続の台ばかり打ってる
東建コーポレーション社員のスレ Part19
【朗報】早稲田商 私文型入試継続決定
京都アニメーションを語るスレ Part 231
京都アニメーションを語るスレ Part 236
断酒ネット@アルコール依存症『断酒継続・87』
断酒ネット@アルコール依存症『断酒継続・93』
01:11:21 up 65 days, 2:10, 0 users, load average: 8.35, 9.69, 9.61

in 1.7600269317627 sec @1.7600269317627@0b7 on 062114