継続的インテグレーションとは、開発サイクル全体を通じて、開発者が作成した新規コードをより頻繁に統合し、少なくとも1日に1回はコード・ベースに追加する、ソフトウェア開発プロセスです。 ビルドの各反復に対して自動化されたテストが行われます。
継続的インテグレーションとは、開発サイクル全体を通じて、開発者が作成した新規コードをより頻繁に統合し、少なくとも1日に1回はコード・ベースに追加する、ソフトウェア開発プロセスです。 ビルドの各反復に対して自動化されたテストが行われます。
Post author:sider Post category:Engineering / Other Reading time:3 mins read Post published:2016-01-13 エンジニア x ニッチ(特化)なサービスを調査、「これは流行りそう…!」と思ったサービスを10個ご紹介。 誰もが知っていそうなサービスは含んでません。「俺はエンジニア向けサービス詳しいぜ!」という方も安心して御覧ください。 CI(継続的インテグレーション) DEPLOYBOT デプロイのためだけのCIサービス。デプロイに特化。 リリースノートページやリリースの度にリリース内容をメモする事が出来る機能、デプロイのトリガーを手動で実行することが出来る「デプロイ」ボタン機能などがある。 1リポジトリの「Hobby」ユースであれば永年無料。 deploybot.com Codecov コードのテ
AWSとCircleCIの力を借りて、Nuxt.jsで作った静的サイトの運用をできるかぎり自動化した話です。 3ヶ月ほど前からCIのサービスを使うようになり、入門記事はたくさんあって助かったのですが、具体的にどんな感じで使っているかの情報が少なかったので記事にしました。 もしかしたら、CIの使い方が間違っているかもしれないので、そのときは優しくコメントをいただけたら嬉しいです。 できあがった流れ 毎朝10時にLambdaを起こしてデータの更新を行い、静的ファイルを再生成してからデプロイする流れになっています。 対象のサイト ざっくりAWSという、AWSの料金を日本円でざっくり計算できるサイトです。 Nuxt.jsで作成したものを、静的サイトとして生成して、AWSのS3にホスティングしています。 計算に必要なAWSの価格や為替は、毎朝10時に取得したものをS3にJSONで保存し、そのJSON
TL;DR (概要) Crystalのような破壊的変更がアクティブなプログラミング言語の本を作る場合、バージョンアップで本の内容が壊れることが よくある。 この問題に対処するため、技術書典5で頒布する予定の本では、サンプルコードが正しく動作することをCIで確認するようにした。 ソースコードのフォーマット忘れが無いかもチェックするようにした。 ↑のようなことができたのはAsciidoctorのソースコードをincludeする機能の力が大きい。 ついでにRedPenで文章の校正も行なうようにした。 長期間に渡ってメンテナンスする予定の本であればこのような工夫するのは当然だし、そうでなくても本の品質を高める意味でこの工夫には価値があると思う。 はじめに(ポエム) Crystal-JPというプログラミング言語Crystalの日本語ユーザーグループで、Crystalの普及に勤しんでいる、ということに
Bitrise, GitHub, DeployGateを連携させ、全自動でアプリをビルドして配信するCI/CDシステムを作るAndroidGitHubiOSDeployGateBitrise アプリのビルド&テストから配信までを超簡単に完全自動化! コードや設定を1行も書かなくても、ほぼ全自動でマウスでポチポチするだけでCI(Continuous Integration)環境を構築できることで人気のBitriseに、新しく「DeployGate Upload Integration」が追加されました。このステップを使うと、アプリのテスト&ビルドから配信までを完全に自動で行うことができるCI/CDシステムをブラウザから設定するだけで超簡単に構築することができます。 この記事では、BitriseとコードホスティングサービスのGitHub、テスト用アプリ配信サービスのDeployGateを連携さ
ふと思いついたので会社のJenkinsで使ってるプラグインをまとめてみます。 RailsでJenkins運用してる人の参考になれば幸いです。(入れてるけどあまり使ってないのは端折ってます) 他に便利なプラグインあったらコメントやブコメで教えてくださいw Ruby/Rails系プラグイン PMD Plugin - Jenkins - Jenkins Wiki CPD(Copy PasteDetector=コピペ検出)のためのプラグイン。 入門Jenkinsで紹介されていたので入れたはず。 入門Jenkins―実践「継続的インテグレーション」 作者: 末広尚義,竹内一成,太田健一郎,西川茂伸出版社/メーカー: 秀和システム発売日: 2012/09メディア: 単行本購入: 5人 クリック: 138回この商品を含むブログ (9件) を見る 参考:Javaだけじゃない入門jenkins アプリ作る度
CIって? CIはContinuous Integration(継続的インテグレーション)の略です。 継続的インテグレーションとは、ソフトウェア開発手法において、プロジェクトメンバーがそれぞれ開発した結果を頻繁に結合し、定期的にビルドやテストを行うことである。問題点を早期に摘出することができ、効率的な開発に役立つ。 不具合は早く見つける方が対策費用が抑えられるため、ソフトウェアのビルドを頻繁に行うのが好ましく、ビルド結果が正しいことを検証するためにすぐにテストを行う。このような手続きは出来る限り自動化するのが好ましい。そのため、継続的インテグレーションを実践するためには、結合のためのビルドとテストの自動化のために「CIサーバー」などと呼ばれる専用コンピュータを用意することが推奨されている。 ちなみに、ソフトウェア開発手法のひとつである「エクストリームプログラミング」では、継続的インテグレー
今日はGithubに公開したiOS用のライブラリを Travis CI と Coveralls に対応した手順を紹介したいと思います。 なお、実際にこれらを適用して運用しているリポジトリのサンプルは、 https://github.com/tokorom/BlockInjection になります。 前提条件 GitHubを使っていること GitHubでなんらかiOS/Mac用のライブラリを公開していること Travis CI https://travis-ci.org/ 目的 公開しているライブラリの最新コードがきちんとビルドが通るものか、テストが通る状態かを明示できます。 iOS用のCI環境を用意するのは通常すごく敷居が高い(物理的にMacが必要)のですが、Travis CIはiOS/Mac用のライブラリのCIを無料で請け負ってくれるかなり太っ腹なサービスです。 事前準備 Travis
Androidアプリのビルド/テストはCIでここまで変わる:グリーはいかにしてJenkinsを導入したのか(3)(1/2 ページ) グリーのサービス開発における継続的インテグレーションと、CIツールであるJenkinsの導入について、CI導入のモチベーション、進め方のポイントを中心に説明します。今回は、apkの作成までの自動化を手始めに、徐々に自動化の資産を積み上げていくことで開発ワークフローを改善していく過程を紹介します。 前回の「JenkinsでCIすればiOSアプリのビルドは、もう面倒くさくない」に続き、今回はAndroidアプリ開発とJenkinsについて紹介します。 Androidアプリのビルド Android開発の継続的インテグレーションの第一歩として、まずはAndroidアプリをJenkinsでビルドしてapkファイルを作成してみましょう。あらかじめJenkins、Andro
Jenkins おじさんと戯れること半日、うまくいったので備忘録を残しておく。 やりたかったのは Chef で構築したサーバーを Jenkins で CI する、というもの。このときサーバーはテストが終わる度に破棄して、テスト開始時に再度真っ新な状態から立ち上げたい。(こういうサーバーを壊して作ってというテストはなんという名前で呼ばれるのだろう?) 仮想サーバーを破棄/作成をプログラマブルにやるのはもちろん Vagrant プロビジョニングは Chef Chef の環境を整えるのに knife-solo 0.3.0.pre3 テストは serverspec コードは Github に上げる (https://github.com/naoya/jenkins-vagrant-test) CI は Jenkins という構成になっている。ひとまず Jenkins や Vagrant はローカル
続いて、開発するアプリの登録を行います。アプリの登録では【1】アプリ名や識別名などの登録、【2】プロビジョニングプロファイルを作成しダウンロード、インストールします。 これらの準備が終わったら、App Storeへ公開するためのアプリ開発、パッケージング、アップロードといった流れになります。 「Jenkins Xcode Integration Plugin」でビルドを自動化 このアプリ公開までの作業のうち、いくつかをJenkinsによって自動化することで継続的にアプリを公開できるようになります。通常、アプリのビルドやパッケージングはXcodeから行うことになりますが、Jenkinsから実行する場合にはXcodeのコマンドラインツールである「xcodebuild」などを使って処理を行います。 Jenkinsジョブからシェルを起動してxcodebuildなどのコマンドを直接実行するか、「Je
継続的インテグレーションを始めるための基礎知識:グリーはいかにしてJenkinsを導入したのか(1)(1/2 ページ) 本連載では、グリーのサービス開発において導入している継続的インテグレーション(Continuous Integration、以下、CI)と、CIツールであるJenkinsの導入について3回に分けて説明します。Jenkinsのインストールといった“手順”よりも、CI導入の“モチベーション”や“進め方のポイント”を中心に説明します。 グリーの開発と継続的インテグレーション SNSやソーシャルゲームなどを運営するグリーでは、数百名の技術者が日々さまざまな機能やサービスを開発し、リリースしています。このような規模、リリース頻度での開発を支えるには数多くの工夫や仕組みが必要です。この中でも最も大きな仕組みの1つにCIが挙げられます。 グリーでは、開発にCIを本格的に導入し始めたのは
Jenkinsのプラグインでビルド・パイプラインを作ることができるので紹介。 #12月20日のワンクリックデプロイ勉強会の発表のネタバレっぽいのですが。 ビルド・パイプラインとはビルド・パイプラインとは、継続インテグレーションのプラクティスの1つで、テスト等を複数の単位に分割し、順番に流していくものである。一般的には継続的インテグレーションを利用していれば、SCMにソースコードをコミットした段階ですぐにユニットテストを走らせ、以降に、静的解析や結合テスト、受け入れテスト、ステージング環境へのデプロイ、本番環境へのデプロイという形で進んでいくことになり、その単位でパイプライン要素を分ける。 当然パイプラインの途中で試験に不合格であれば、その後のプロセスには進めない。 これによって、例えばコミット時には即座にユニットテストレベルの結果を返して開発者のペースを阻害しないようにすることができる。(
みなさんこんにちは。@ryuzeeです。 なんとなく書きためておいた継続的インテグレーションのアンチパターンをいくつか紹介します(結構ラフなメモ書き)。 頻繁にSCMにコミットしないテストコードを書かないテストコードと製品コードを同時にコミットしない定時ビルドのみでコミットビルドがない・夜間ビルドしかない帰り際にコミットしてそのままCIの結果を見ずに帰るCIでテストを通すために手作業の準備が必要メインラインのみで大きなブランチをCI対象にしていない様々な種類のテストをまとめて行っているビルドの失敗に気付かないビルドに失敗しても放置しているビルドの失敗に気づいても、修正コード以外のコードをコミットする何も変更していないのにビルドが落ちたり落ちなかったりする頻繁にビルドが失敗しているので、失敗するのが普通だと思うCIからの通知メッセージが大量すぎるCIが落ちても何も通知しないCIサーバのリソー
最近、ソフトウエア開発において注目を集めているキーワードの一つに「継続的インテグレーション(Continuous Integration、以下CIと略)」があります。今回は、CIを実現するツールと前回までに紹介した各種テスト自動化ツールとの連携によるテスト自動実行について紹介します。 CIとは、ソフトウエア開発においてコンパイルやテストといったビルド処理を一日に何度も実行することにより、フィードバックサイクルを短くし、品質を向上させる仕組みのことです。 CIを実施することにより、ソフトウエアの修正や変更によってコンパイルが通らなくなる不具合やデグレードなどを早期に発見できる上、その不具合がどの変更によって引き起こされたかを特定しやすくなります。そのため、品質の向上だけでなく、手戻り工数の削減も期待できます。 CIの実現においては、コンパイルからテスト実行までの流れ(ビルド)をなるべく短い時
このところ頑張って作っていたBuildHiveがようやっとリリースに漕ぎ着けましたので、使ってやってください。 BuildHiveはCloudBeesのDEV@cloudの一環で、GitHubのリポジトリに対する継続的インテグレーションビルドをとても簡単にセットアップできるサービスです。どなたでも無料で使えます。 トップページには既にBuildHive上でビルドされている様々なプロジェクトが表示されます。新しくプロジェクトをセットアップする為に、BuildHiveにいって右上の赤い「Add your Git repositories」ボタンをクリックします。 GitHubとのOAuth認証を聞かれるので、「Allow」ボタンを押して許可してやってください。 すると、CIビルドをセットアップするGitHubのリポジトリを選ぶ画面が出てくるので、適当なプロジェクトを選んで「Enable」を押し
2011/06/06 5月24日、日本Javaユーザグループ(以下、JJUG)の主催による「JJUG Cross Community Conference(以下、JJUG CCC) 2011 Spring」が行われた。JJUG CCCはJJUGが年2回開催している定例イベントであり、Javaに関する最新の動向や活用事例などが紹介される。 本稿では、オープンソースのCIサーバ「Jenkins」の生みの親である川口耕介氏による基調講演の様子をお伝えする。 「Jenkins」はソフトウェアプロジェクトのビルドやテストを自動化する継続的インテグレーション(CI:Continuous Integration)サーバの一種である。もともとは「Hudson」という名称で開発・公開されていたが、商標上の問題によってJenkinsに改名された。 JJUG CCCの基調講演は、その生みの親であり現在もプロジェ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く