探検
継続的インテグレーション (CI) を啓蒙するスレ
■ このスレッドは過去ログ倉庫に格納されています
2018/02/17(土) 23:31:46.57ID:EwTJGG8P
GitHubの普及で身近になってきた、Travis CIやAppVeyorなどのCIの便利さやテクニックなどについて、語りましょう。
2018/02/18(日) 23:13:32.08ID:F2O3xW/S
>>15
普通CIっていったらCIツールの導入じゃね?
俺が言いたいのは、テストコード無くて別に自動的にデプロイするわけでもないのに
CIツール入れても意味ないよね?って話
まずはテストコードは書くことが重要。
で書いてしまえば、ローカルでもできるじゃん?
ビルドとかデプロイとかコマンド一つでできるじゃん?
じゃあCIツール入れるメリットってなんだろう?って話
CIがテストやMakefile書きましょうレベルの話ならば
なんだ俺は普段からCIやっていたのかwってことになる
もちろんそんなわけないので、テストやMakefileを書いている俺からすると
CIツールの導入で得られるメリットというのは、
MacのAutomatorのフォルダアクション(指定したフォルダにファイルが
追加された時に指定したコマンドを実行)レベルのものなんだってこと
もちろんそれがみんなに共有されるってことはわかるんだけど、
フォルダアクション+情報共有がCIツールの本質なんだなぁって話
普通CIっていったらCIツールの導入じゃね?
俺が言いたいのは、テストコード無くて別に自動的にデプロイするわけでもないのに
CIツール入れても意味ないよね?って話
まずはテストコードは書くことが重要。
で書いてしまえば、ローカルでもできるじゃん?
ビルドとかデプロイとかコマンド一つでできるじゃん?
じゃあCIツール入れるメリットってなんだろう?って話
CIがテストやMakefile書きましょうレベルの話ならば
なんだ俺は普段からCIやっていたのかwってことになる
もちろんそんなわけないので、テストやMakefileを書いている俺からすると
CIツールの導入で得られるメリットというのは、
MacのAutomatorのフォルダアクション(指定したフォルダにファイルが
追加された時に指定したコマンドを実行)レベルのものなんだってこと
もちろんそれがみんなに共有されるってことはわかるんだけど、
フォルダアクション+情報共有がCIツールの本質なんだなぁって話
2018/02/18(日) 23:21:49.77ID:F2O3xW/S
まあ要するにローカルでテストできる体制も整ってないのに
Travis使います。Jenkins使いましょう。といっても効果ないよってことだよ
まず最初にテストやMakefile相当のものを作る。
そしたらCIツール使える状態になるけど、
次は、あれ?CIツール使わなくても全部ローカルでできるじゃん?
ってなると思うよw
そこから先、CIツールを導入する目的が何かを自動化できるだと
理由として弱い。全部ローカルで出来てることだから
Travis使います。Jenkins使いましょう。といっても効果ないよってことだよ
まず最初にテストやMakefile相当のものを作る。
そしたらCIツール使える状態になるけど、
次は、あれ?CIツール使わなくても全部ローカルでできるじゃん?
ってなると思うよw
そこから先、CIツールを導入する目的が何かを自動化できるだと
理由として弱い。全部ローカルで出来てることだから
2018/02/19(月) 07:18:39.86ID:YvDQTksi
絵に描いたような逆張り野郎だな
22デフォルトの名無しさん
2018/02/19(月) 08:23:59.56ID:YvDQTksi >>18
君の言っていることは「メモ帳があれば高機能なエディタもIDEも不要」というのと同じくらいの暴論だよ
君の言っていることは「メモ帳があれば高機能なエディタもIDEも不要」というのと同じくらいの暴論だよ
2018/02/19(月) 20:36:46.45ID:anRYL6nk
2018/02/19(月) 20:39:13.91ID:anRYL6nk
2018/02/19(月) 22:28:28.96ID:bxmPXsfI
ローカルでやるからツールはいらないってか
なんというか、頑張ってくれとしか言いようがないw
なんというか、頑張ってくれとしか言いようがないw
2018/02/19(月) 23:20:16.94ID:uhfYTKrf
>>23 >>25
違う違う。ローカルでやるから〜じゃなくて
逆にローカルでもリモートでも同じだって言いたい
みんなCIをリモートで専用のCIツール使ってやろうとするけど、
同じことをCIツール使わずにmakeとかnpmとかrakeとか
そういった言語用のツールでビルドやテスト実行してるでしょ?
もちろん必要と思われる任意のタイミングで手動で実行してるんだけど。
ローカルで手動でこれらの作業をやってるだけじゃ、
CIと言わないと思うんだけど、CIツールで行うとされてる
作業の全てはローカルで実行できるわけさ。
(自動的に実行もgitのフックを使えばできる)
そうするとこのローカルでやってる作業・・・がCIからみて足りないものは、
自動化されて忘れない。みんなと情報共有できる。という点で
もちろんこれはチーム開発では重要なことなんだけど、品質が上がるか?と
言われればケアレスミス防止程度だよなぁって思ってるんだよ。
だってローカルでしっかり手動でテスト(CIといって良いのか?)をやってるんだから
違う違う。ローカルでやるから〜じゃなくて
逆にローカルでもリモートでも同じだって言いたい
みんなCIをリモートで専用のCIツール使ってやろうとするけど、
同じことをCIツール使わずにmakeとかnpmとかrakeとか
そういった言語用のツールでビルドやテスト実行してるでしょ?
もちろん必要と思われる任意のタイミングで手動で実行してるんだけど。
ローカルで手動でこれらの作業をやってるだけじゃ、
CIと言わないと思うんだけど、CIツールで行うとされてる
作業の全てはローカルで実行できるわけさ。
(自動的に実行もgitのフックを使えばできる)
そうするとこのローカルでやってる作業・・・がCIからみて足りないものは、
自動化されて忘れない。みんなと情報共有できる。という点で
もちろんこれはチーム開発では重要なことなんだけど、品質が上がるか?と
言われればケアレスミス防止程度だよなぁって思ってるんだよ。
だってローカルでしっかり手動でテスト(CIといって良いのか?)をやってるんだから
2018/02/19(月) 23:57:13.37ID:anRYL6nk
>>26
手動でスクリプトを流してるうちはCIとは呼ばないよね
CIツール使わずにnpmやrakeだけでも自動で継続的にやってるなら
ローカル実行でもCIと言っていいと思うよ
現実的には個人開発かそれに近い場合以外は
サーバー実行にしないと著しく不便なだけで
手動でスクリプトを流してるうちはCIとは呼ばないよね
CIツール使わずにnpmやrakeだけでも自動で継続的にやってるなら
ローカル実行でもCIと言っていいと思うよ
現実的には個人開発かそれに近い場合以外は
サーバー実行にしないと著しく不便なだけで
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.
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.
2018/02/20(火) 00:37:16.03ID:wdwe47Ke
>>27
CIって結局テストのためだと思うんだよね。
なぜなら毎日デプロイしたりバイナリをリリースしたいか?って
言われるとそうなってないところが大半だと思うから。
毎日とまでは行かなくても短いスパンでリリースやビルドしたいなら
自動化する意味は感じられるけど、それが必要とされるところが少ない。
そしてテストに限った話をすると、上でも書いたけどCIツールを使った
テストって全体のテストを行うのがメインで修正した箇所を局所的に
テストすることはないと思う。局所的にテストしようと思ったらその設定を
作らないといけないから。そして全体のテストだから時間もかかる。
って考えるとローカルで開発しながらちょこちょこっとテストを実行すると思うんだよね。
この場合ローカルでの手動のテストのほうが効率が良い
そうなると個人のPCでは時間的に到底できないほど多くのテストが必要なんです。
プラットフォームやミドルウェアのバージョンが違っても全部テストやる必要があるんです。
みたいなマイナーなケースでしか「手動でのスクリプト実行」を超えるものは
必要にならないんじゃないかなと
なんだろ、ないよりはあったほうが良いけど、あっても多くの場合劇的な効果は
得られないよって言ったほうが良いのかな。俺がCIツール導入の話を聞くたびに
その前にテストコードちゃんと書いてローカルでいいからテストしろよって思うからかもしれない
CIって結局テストのためだと思うんだよね。
なぜなら毎日デプロイしたりバイナリをリリースしたいか?って
言われるとそうなってないところが大半だと思うから。
毎日とまでは行かなくても短いスパンでリリースやビルドしたいなら
自動化する意味は感じられるけど、それが必要とされるところが少ない。
そしてテストに限った話をすると、上でも書いたけどCIツールを使った
テストって全体のテストを行うのがメインで修正した箇所を局所的に
テストすることはないと思う。局所的にテストしようと思ったらその設定を
作らないといけないから。そして全体のテストだから時間もかかる。
って考えるとローカルで開発しながらちょこちょこっとテストを実行すると思うんだよね。
この場合ローカルでの手動のテストのほうが効率が良い
そうなると個人のPCでは時間的に到底できないほど多くのテストが必要なんです。
プラットフォームやミドルウェアのバージョンが違っても全部テストやる必要があるんです。
みたいなマイナーなケースでしか「手動でのスクリプト実行」を超えるものは
必要にならないんじゃないかなと
なんだろ、ないよりはあったほうが良いけど、あっても多くの場合劇的な効果は
得られないよって言ったほうが良いのかな。俺がCIツール導入の話を聞くたびに
その前にテストコードちゃんと書いてローカルでいいからテストしろよって思うからかもしれない
2018/02/20(火) 01:30:16.83ID:+H4kL9LD
>>29
一般的なCIの話をすると複数のコンポーネントをそれぞれのチームや個人が並行開発してて
それぞれの担当部分はローカルでテストしてからテストに通ったものだけCI用のリポジトリにpushする
んでCIサーバー側ですべてのコンポーネントを結合したものをビルドしてテストする
だからコンポーネント間で齟齬が生じたらすぐに検知できる
そういうインテグレーションが必要ない開発なら
CIをやることによるメリットも当然小さくなるよ
一般的なCIの話をすると複数のコンポーネントをそれぞれのチームや個人が並行開発してて
それぞれの担当部分はローカルでテストしてからテストに通ったものだけCI用のリポジトリにpushする
んでCIサーバー側ですべてのコンポーネントを結合したものをビルドしてテストする
だからコンポーネント間で齟齬が生じたらすぐに検知できる
そういうインテグレーションが必要ない開発なら
CIをやることによるメリットも当然小さくなるよ
2018/02/20(火) 01:44:39.31ID:wdwe47Ke
>>30
たしかに単体毎ではテストにとって
それぞれmasterにコンフリクト無しでマージできるけど
2つともマージしたらエラーになるってのは有るね。
これはローカルでそれぞれテストしていても見つけられないバグだ。
まあそういう事が発生した経験はないんだけど
モジュールが細かく別れていて、同じところを修正することが少ないからかな
たしかに単体毎ではテストにとって
それぞれmasterにコンフリクト無しでマージできるけど
2つともマージしたらエラーになるってのは有るね。
これはローカルでそれぞれテストしていても見つけられないバグだ。
まあそういう事が発生した経験はないんだけど
モジュールが細かく別れていて、同じところを修正することが少ないからかな
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
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
N20BU
35デフォルトの名無しさん
2018/07/05(木) 01:22:00.19ID:RfoszcD2 AQW
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★3 [蚤の市★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- 日本人の間で脱税がブーム 所得税の追徴課税額1400億円超、過去最高 [402859164]
- 女の子集合!
- 今年の漢字、きょう発表😉 [583597859]
- 中国人、超ド正論。「チベットやウイグルに住んでるのはチベット族やウイグル族だが、アイヌから奪った土地に住んでる日本人こそ侵略者」 [314039747]
- 百合営業してるアイドル「これは営業だから…んっクチュクチュ」←これ
- 【悲報】メモリだけでなくSSDも値上がりがはじまる♥
