-名古屋のIT系学生コミュニティOthloTechのブログです。自動化ツールおはこんばんちは!そしてはじめまして!OthloTechに最近参加しました@ジュジュです!去年までは低レイヤをやってたんですが最近Androidアプリを作り始めたりしています。以後お見知りおきくださいな。誰か強い人教えてくださいさて、今週OthloBlogは自分が担当ということでCI,CDについてお話するとともに、CIツールとして有名なJenkinsの使い方を少し紹介したいなって思っています。下記URLからダウンロードできますよーhttps://jenkins.io/というわけでさっそく書き始めたいと思います!CI,CDって何?まず、こんな疑問を持つ方もいるんじゃないでしょうか。単語の省略なので英語とその直訳を調べてみました。Delivery(継続的デリバリー)ますます何だこれって感じです。自動でデプロイしてくれる環境こんな認識でもいいんじゃないでしょうか。ともに開発サイクルの短いアジャイル開発なんかでよく使われるようですね。間違っていたらごめんなさい。そんなの、手元でビルドしてデプロイすれば良くないですか。こんな意見を持った方、もっともだと思います。CI,CD環境を作る意味を話していこうと思います。ソフトウェア開発していてこんな経験ありませんか?チームで利用しているソフトウェアのバージョンが異なりバグるビルドやテストの通らないプルリクを適当にレビューしてマージしdevelopブランチがバグる自分の開発してない部分のテストをしたくないデプロイ面倒臭がっていたら開発終盤でバグ祭り自慢じゃないですが自分はありますまぁ人間はミスをする生き物でこれを100%防ぐのは不可能です。そこでミスがミスにならない環境を作ろう!問題にいち早く気づくような環境を作ろう!と、こんなのがCI,CD環境を作る意義であります。そんなCI,CDを実現するためのツールとして今回紹介するのがJenkinsというわけです。Jenkinsの機能Jenkinsは何かをトリガー(きっかけ)としてバッチ処理をしてくれるツールです。WindowsでもLinuxでもMacでもシェルで動作するものであればだいたいなんでもできます。シェルが使えるならなんかいろんなことさせられそうです。プラグインも豊富に用意されており用意にいろんなことができるようになっています。本記事では具体的な設定とかではなくJenkinsをつかってどんな面倒臭さを解消できるのかを紹介していきたいと思います。GitHubのプルリクエストをトリガーにするJenkinsをつかうならまず、やってほしいのはこれです。プルリク手元に引っ張って動作確認するの面倒くさくないですか?そんな煩わしさ解消できます。Builderというプラグインを導入するとビルドとテストを自動的にするようにできるんです!これでコードレビューは動作確認をサボっても良くなるかもしれないですね!しかも、プルリクエストを実際にdevelopやmastarといったブランチとマージしてテストするなんてことも出来ちゃいます。これでマージしたらあかんかったみたいな事態ともおさらばできますね!ちなみにテストが成功するとこんな感じになります。失敗するとこんな感じ。これなら気づきそうですね。プルリクのブランチにコミットをプッシュしてもリビルドされるので細かい変更した時のテストも楽ちんです!特定のブランチへのpushをトリガーにする次に紹介する機能です。いちいちデプロイするの面倒くさくないですか?masterかdevelopかreleaseか、どれが対象になるかはわかりませんがプルリクがマージされたときに自動でデプロイしてくれれば楽ちんですよね。デプロイのためのプラグインがあるかどうかは言語とかによる部分がかなり大きいですがだいたいシェル使えば出来ると思うので問題ないでしょう。Pluginとか使えばかんたんです。与えられたコードを解析するこれに関しては行き過ぎではあるんですけどそもそもコードレビュー面倒くさくないですか?SonarQubeってソフトをJenkinsに登録して動作させればコードの静的解析なんてのもできたりします。Gateってやつを設定すれば評価基準なんかも設定できたりします!動作もプラグインがあるから簡単です。ちなみにWeb系作ってるとjQueryでバグがたくさんあるって怒られるからあんまり当てにならないかもしれません。テストと解析による評価基準通れば自動でマージするとかもできますが、頼り過ぎはまだよくなさそうです。時代の進化に期待しましょう!結果をslackに通知する個人的には結構大事な機能です。プルリク投げたときに他の人に伝えるの面倒くさくないですか?Jenkinsの処理が終わったあとに事前に設定したslackのチャンネルに通知できたりします。テストやビルドが失敗したときだけ通知って形にもできますよ!これを設定しておけばプルリク投げるたんびにslackでメンションつけてレビューしてーって言わなくてもすむわけですよ。設定しておくだけでいいのでコミュ障害の僕でも臆さなくてすむわけですね。終わりにいかがだったでしょうか?この記事を読んでこのJenkinsってやつなかなか有能な執事さんだなって思っていただけたらとても嬉しいです。初めましての方は初めまして、@yoshikawataikiです。今回のブログでは近頃勢い...2018-04-06「frontplate」を使ってフロント開発の効率をあげよう!こんにちは世界、どうもちーずです。Auroraがなぜ高速か解説するweb制作者が意識すべきSEO対策のキホン月別アーカイブはてなブログをはじめよう!othlotechさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。