In your IDEFree IDE extension that provides on-the-fly analysis and coding guidance Self-managedSelf-managed static analysis tool for continuous codebase inspection
Gitでバージョン管理をしていると、本番サーバにデプロイする際に、クライアントでpush、そして本番サーバにログインしてgit pull、ってやるのは面倒臭いですよね。そんな不毛な操作は自動化するのがプログラマとしては当然です。 GitHub上のリポジトリで、デプロイの自動化をやるにはWebhookやTravis CI、JenkinsなどのCIツールとの連携を考えます。選択肢は多々あり、それぞれにメリット、デメリットはありますが、今回は後々、FuelPHPのユニットテスト自動化までを見据えて、Jenkinsによるデプロイ自動化を試してみようと思います。 サーバ構成イメージ 今回、Jenkinsを導入するにあたって、専用のEC2インスタンスを立ち上げます。このインスタンスをCIサーバとして利用していきます。 GitHubリポジトリへプッシュされたとき、GitHubはJenkinsサーバへ通知
前回、Jenkinsのインストールについて書きました。今回は、Jenkinsでビルド・パイプラインを構築する話です。 ビルド・パイプラインとは? ビルド・パイプラインとは、ビルドのプロセスを分割して順番に実行していくことです。例えばビルドの流れとして、コミット→静的解析→コンパイル→ロジック層のユニットテスト→UI層のユニットテスト等があったとします。これを1つのジョブとして登録するのではなく、1つ1つのジョブとして実行し、成功した場合のみ次のステップに進めるようにします。これがビルドパイプラインです。 メリットとしては、どの工程で失敗しているのか解りやすいことが第一にあります。またJenkinsの特性を活かして、特定のジョブを並列で動かしたり出来るので効率化も出来ます。また、更に検証済みマージなど、高度な活用にもつながります。 Jenkinsでビルド・パイプラインの構築 元々Jenkin
これまで主に金融業のお客様に対し、Web・モバイルアプリ開発における 品質保証やセキュリティの分野で様々なプロジェクトを支援してきました。 これまで培ったノウハウを基に、お客様のニーズに寄り添った最適な ソフトウェアテストソリューションで貴社の抱える「品質課題」を解決します。 これまで主に金融業のお客様に対し、 Web・モバイルアプリ開発における 品質保証やセキュリティの分野で 様々なプロジェクトを支援してきました。 これまで培ったノウハウを基に、 お客様のニーズに寄り添った最適な ソフトウェアテストソリューションで 貴社の抱える「品質課題」を解決します。 これまで主に金融業のお客様に 対し、Web・モバイルアプリ開発に おける品質保証やセキュリティの 分野で様々なプロジェクトを 支援してきました。 これまで培ったノウハウを基に、 お客様のニーズに寄り添った 最適なソフトウェアテスト ソリ
こちらの記事について、最新のTravis CIの環境(2014/4/15)ではコード署名に失敗する問題があります。 その問題の修正については下記の記事にまとめました。 Travis CIでipaを作るときのCode Signが失敗するのを修正したメモ - 24/7 twenty-four seven 実際は完全に移行したわけではなくて、Travis CIの有料プラン(プライベートリポジトリが使える)のフリートライアルを試しているところなのですが、しばらくはTravis CIでCIを動かすことにしたので、そのときの設定などをまとめます。 もともとは社内のサーバでJenkinsをホストしていて、それがダメということは全然ないのですが、社内でサーバをメンテナンスするのも面倒だし、ビルドスクリプトとかをポータブルな状態にしておくのは手元でサクッと実行できたりいろいろ都合が良さそうだと思い、試しにや
本書は、Vagrantの使い方からプラグインの開発方法までを解説する書籍です。Vagrantの概要やマシン設定から、プロビジョニング、ネットワーク、ボックス、さらにはプラグインによる拡張まで、Vagrantを使う際に必要な事柄を網羅しています。さらに日本語版では、吉羽龍太郎氏による「Vagrantプラグイン」と「Packer」、伊藤直也氏による「VagrantとAmazon EC2」についての記事を加筆。Vagrantの作者であるMitchell Hashimoto氏によって書かれた本書は、開発者必読の一冊です。 序文 訳者まえがき はじめに 1章 Vagrantの紹介 1.1 Vagrantを使う理由 1.2 Vagrant道 1.3 Vagrant以外の選択肢 1.3.1 単純なデスクトップ仮想化 1.3.2 コンテナ 1.3.3 クラウド 1.4 Vagrantのセットアップ 1.5
本シリーズは、WebブラウザをUIとして利用した業務システムやアプリケーション(以下、Webシステム、Webアプリケーション)のテストをテーマとして、Webブラウザを使ったテストを自動化するOSSのツール「Selenium2」を紹介します。業務システム開発の現場で適用してきたノウハウを元に、これまでSelenium2について知らなかった人から以前使った経験がある人まで、より実践的な「使える」内容を盛り込んでいきたいと思います。 1. はじめに 今回は、Selenium2を利用して作成した自動テストをフル活用すべく、JenkinsというCI(継続的インテグレーション)ツールを利用して、Selenium2のテストを自動実行する方法について説明します。また、IE、Firefox、Chrome、Safariなど多様化するブラウジング環境でのテスト方法やテストの並列化についても説明します。 2. J
sonots先生の話を聞きに行ってきたので、そのメモを残しておきます。 瀬尾 直利 氏 DeNA Co., Ltd. AIシステム部 リードエンジニア DeNAの機械学習基盤 ディープラーニングの基盤 => GPU基盤 という認識 GPUすごくて、CPU使って30日のところ、GPUを使うと4日くらいのオーダー GPUの特徴 並列処理が得意 CPUだと24coreとかのオーダー GPUでは3000〜4000core 分岐処理は苦手 行列演算に向いている GPU製品 NVIDIA Tesla HPC向けにGPUシリーズ NVIDIA GeForce GRID クラウドゲーミング向け AMD FirePro NVIDIA Tesla API CUDA OpenCL DirectCompute CUDAのアーキテクチャ CPU(ホスト)からGPU(デバイス)にデータを転送 GPUで処理 GPUから
前回の記事でGitHubとJenkinsを用いた自動デプロイ環境の概要をご説明しました。 GitHubやJenkinsと連携した開発環境作成でのrsyncとの出会い 今回は、その環境を実現するための設定手順を書いて行きたいと思います。 大きく4つの手順があります。 Jenkinsのインストール Apacheの設定 JenkinsとGitHubの連携 自動デプロイ設定 開発環境 ・CentOS 6.2 ・Apache がインストール済み Jenkinsのインストール まずは、Jenkinsのインストール 通常ならば、運用するサーバとJenkinsが動いているサーバを分けるべきですが、サーバコストの都合などで今回は同一サーバ上で動かすことにします。 ApacheサーバとJenkinsサーバが同じport80で待つことはできないので、jenkinsをport:8080で動かすことにします。 また
Over the past 10 years, Jenkins has really grown to a de-facto standard tool that millions of people use to handle automation in software development and beyond. It is quite remarkable for a project that originally started as a hobby project under a different name. I’m very proud. Around this time last year, we’ve celebrated 10 years, 1000 plugins, and 100K installations. That was a good time to r
最近、CI/CDという単語を見ることが増えてきました。Google、Microsoft、Oracleなどの大きなIT企業が自社のCI/CDツールを発表したり、CI/CDのスタートアップの買収などの話が過去一年にいくつもありました。読者のみなさまも導入はしていなくても、CI/CDについてなんとなく知っている方も多いのではないでしょうか? 実際CI/CDに対する需要は急速に高まっています。その裏には自動化の重要性の高まりやアジャイル開発の浸透・進化があります。2回の連載でこの流れについて見ていきましょう。 はじめに 本連載では、CI/CDを始めて学ぶ方にも、すでに知っている方にも、できるだけ新しいことを発見してもらえるように心かげました。 連載の1回目は主にCI/CDの概要と導入のメリットから始めて、CI/CDで加速する最新のアジャイル開発手法を解説します。前半は入門者向けの内容ですが、後半は
日本人(http://twitter.com/kohsukekawa)がリードする継続的インテグレーションツール(http://ja.wikipedia.org/wiki/Hudson)の開発コミュニティーとオラクルの間に摩擦が生じている。 http://www.hudson-labs.org/content/whos-driving-thing バックグラウンド: Hudsonはフリーソフトウエア(MIT License)だが、Kohsuke KawaguchiさんがSunにいたころ開発されたため、同社がプロジェクトのトレードマークを持っていたらしい。 買収によりSunのHudsonにたいする権利もオラクルのものになった。 元記事に詳しいタイムラインがあるが、肝心なところを拾うと: 開発はjava.netでホスティングされていたが信頼性の問題などからメーリングリストはgoogle gro
JenkinsやSpinnakerなどの開発をホストする「Continuous Delivery Foundation」発足。CI/CDの普及とエコシステムの発展を促進 Linux Foundationは「Continuous Delivery Foundation」の設立を発表しました。 Continuous Delivery Foundationは、次の4つの価値を基本原則とするとされています。 Continuous Deliveryは開発者やチームに力(パワー)を与え、高品質のソフトウェアの迅速な開発を実現できると信じます オープンソースソリューションはソフトウェアデリバリのライフサイクル全体を包括的に解決できると信じます コラボレーションと相互運用性を通じてオープンソースのエコシステムやベンダニュートラルなプロジェクトを維持し、育成していきます。 これらの考えを支持し、実践している
Automate, manage, and optimize software development and delivery across hybrid and multi-cloud environments. Streamline Workflows, Speed Up Software Delivery, and Enable Continuous Improvement. CloudBees empowers developers by reducing time spent on non-coding tasks with self-service automation pipelines, speeding up software delivery with advanced CI/CD capabilities, and fostering innovation thro
現代のソフトウェア/サービス開発で構成管理が重要になった5つの理由:DevOps時代の開発者のための構成管理入門(1)(1/2 ページ) 「DevOps」という言葉にもあるように、ソフトウェア構成管理は、インフラ運用に取り入れられるなど、変わりつつある時代だ。本連載では、そのトレンドにフォーカスして、現在のソフトウェア開発に有効な構成管理のノウハウをお伝えする もはや以前の「構成管理」ではない ソフトウェア構成管理はソフトウェア開発の現場で一般的になってきましたが、それを取り巻く状況は2000年代中盤と比較して、ソフトウェアビジネスのトレンドや使用するツールなど、ずいぶんと変わってきています。 読者の方の中にも「Gitそろそろ覚えないといけないのかな?」「Jenkinsって何がうれしいのだろう?」「開発のサイクルが以前より短くなって大変だな」などと感じていらっしゃる方もいらっしゃるのではな
TestFlightへのアップロード部分の内容はAppleに買収されiTunes Connectに統合される前のTestFlightについての情報です、testflightapp.comは2015/2/26に終了です コードを書き終わったがもう会社に行かなければならない、テストのために手持ちのデバイスにインストールしておきたい・・・。趣味でつくっているアプリこそ自動化して開発の時間を捻出すべきなのでは?そんなことを思っていたらMarvericksが無料でリリースされたので押入れで眠っていたMacBook AirにMarvericksとJenkinsを入れてリリース作業を自動化してみました。 前提として Jenkinsのセットアップは割愛しています。かわりに別の記事をあげているので参考にしてください。 OS XにJenkinsをHomebrewでセットアップする Xcode5, Jenkin
昨日 http://d.hatena.ne.jp/naoya/20130620/1371729625 で書いたように Docker を使えば、欲しい VM を "任意の状態" で簡単にかつ" "瞬時に" コピーして作り出すことができる。 「任意の状態」というのは、例えば「OS は CentOS で、Ruby と Chef が入っている」みたいな VM のこと 「瞬時に」というのは本当に瞬時。VM の起動時間を待ったり、Ruby や Chef を入れる時間を待つ必要はない serverspec でテストをする場合、真っ新な VM を用意してそれにプロビジョニングを行って、その後に破棄するみたいなことを良くする。このとき「真っ新なVM」を立ち上げるのに、Vagrant などが使えるが、Vagrant だとテストの度に VM を一から作り直す・・・つまり vagrant up しなければいけない
APソリューショングループの相野谷(@ainoya)です.このたびATLと共同で,CIやCDにおけるビルドパイプラインの実行を手助けする小さなツールwalterを開発しました. 開発の動機: Jenkinsプラグインに強く依存するビルドパイプライン設定 Jenkinsを使ってCIを実現する場合,複数のジョブを繋げて一連の処理フロー(ビルドパイプライン)を作るのが一般的かと思います.Jenkinsには,ビルドパイプラインを構成するための便利なプラグインがあり,これを使って失敗時の実行制御や,ジョブの並列実行制御を簡単に設定できます. ところが,こうしたプラグインで実際にCIを運用してみると,ちょっと惜しい点がいくつか出てきました. パイプラインの全体実行フローをJenkins上でしか確認できない Jenkinsジョブを実際にキックするまで動作が確認できない 設定の移行がしづらい.GUI中心で
クックパッドにおけるアプリのデプロイの資料が非常に興味深いので紹介します.これは @sora_hさんがRubyKaigi 2014で発表 された資料で,100台以上のサーバに短時間でアプリをデプロイする仕組みをどうやって作り上げたのかが説明されています. 以前,スライドの内容を箇条書きにまとめていたのでシェアします.最近では,Jenkins User Coferenceの発表(How We Use Jenkins? // Speaker Deck)でほんの少し引用されていたりします. 内容のまとめ スライドは90枚あります.ざっくりまとめた内容を以下に示します. 概況 140サーバに1日10回のデプロイを実施している(ピーク時) コードベースが大きい モデルだけで約 69K LOC プロダクトコードとテストコードを合わせると約 319K LOC デプロイのルール CIのビルドが成功したリビ
最近、[twitter:@suer]、[twitter:@mallowlabs]、[twitter:@shimomura1004]と夜な夜なSkypeでチャットしながらソフトウェア開発をしてるんですが、だんだんとSkypeチャットの機能に対する不満が溜ってきました。 というわけで、SkypeチャットをリプレースすべくWebチャットシステムを作ってみました。 開発者にとってハッピーな機能満載なので、是非使ってみてください。 →公開サイト Skypeの不満点 全文検索ができないので、過去の発言を探すのが面倒 コードがハイライトされない #42と書いてもRedmineのチケットにリンクしてくれない← AsakusaSatelliteの特徴1: 普通につかえる 最近のChromeはけっこう凄くて リアルタイムな発言更新 デスクトップ通知 D&Dによるファイルアップロード が平気でできてしまいます。
Webアプリケーションを開発において、最新ファイルをこまめにテスト環境に反映しなければいけない場面があると思います。しかし、これらの作業を手動で行っていると、ビルド(SassのビルドやFlashコンパイルなど)に時間がかかったり、ファイルアップ時に反映漏れや誤ったファイルをアップしてしまうなどの人的ミスが発生し、ムダな時間を費やしてしまった経験のある方もいらっしゃるかと思います。 Jenkinsの入門チュートリアル そういった開発チームには、作業の効率化および人的ミスの軽減に役立つCI(継続的インテグレーション)ツールの導入がオススメです。この連載記事ではJenkinsとAWS、GitHubを使って、コンテンツのビルドからテスト環境へのデプロイまでを行ってくれるCI環境を構築の手順を解説します。 Jenkins環境を構築しよう (Windows編) Jenkins環境を構築しよう (Lin
11/10に突如素晴らしいアップデートが来たので、興奮冷めやらぬうちに公式よりちょっとだけ詳しい解説を書きます。 GitHub Actionsは素晴らしいCI/CDサービスであり、特にpush, pull-request, その他あらゆるGitHub上の行動をトリガーにしてワークフローを起動させる設定を簡単に書くことができます。しかし、手動でワークフローを起動させる機能の追加は他のトリガーに比べて後発でしたし、パラメータを入力するための機能やUIが少々貧弱と言わざるを得ないものでした。 一方、古より存在するJenkinsはpush, pull-requestなどの自動トリガーを設定するのは難易度が高かった[1]反面、手動でジョブを起動する機能やUIは充実していました。基本の自由テキスト以外に、プルダウンによる選択、booleanのチェックボックス、Jenkinsに登録したシークレットからの
依存するgitリポジトリが数十あり、Mac上でしか動作しないビルドを動かしている、Jenkinsの移行をすることになった。 Jenkinsについては詳しくない。もちろん勉強すりゃいいという話なのだが、アラフォーで覚えが悪いので、今回は自前で簡単なCIサーバを書いてみました。今回のプロジェクトはRubyメインなので、Rubyで。 JenkinsはMovable Typeであり、Wordpressである 僕は、JenkinsをMovable Type/Wordpressのようなソフトウェアだと捉えています。 Movable Typeは「ブログ」というコンテンツ形式を広めたソフトウェアです。Wordpressは、Webの管理画面経由で簡単にプラグインを導入することができ、CMSとしてエコシステムが確立しています。 JenkinsのおかげでContinuous Integrationの概念は広まっ
既報のように、こないだから、ここ十年来のプロジェクトであるJenkinsを離れて、新しい事業Launchableを起こしています。ソフトウェア開発者の生産性を上げたい、もっとデータと機械学習を使って、開発者の外骨格である自動化されたプロセス達が効率よく、頭良く実行されるようにしたい、そういう思いを持って取り組んでいます。おかげで、お金もちゃんと集まったし、全米各地の優秀な人達を集めたチームを作ることが出来たし、お客さんも開拓されつつあるし、t_wadaさんにも「強いシンパシーを感じる」とまで言ってもらって、心を強くしています。 デブサミ登壇後は控室で @kohsukekawa さんとずっと議論していた。川口さんの新しいプロダクトに役立つかもしれないアイデアをいろいろと話せてとても充実した時間だった。技術カンファレンスは廊下や控室での対話にも大きな価値がある。 #devsumi — Taku
こんにちは、メルカリの自動化&品質保証グループ(Automation & QA Group:通称AQA)の 根本 征 です。 私は普段、テスト自動化・CI / CD改善・その他社内の生産性を上げるための自動化を行っています。 今回はiOSのUIテスト自動化について、最近の改善をまとめてご紹介したいと思います。 ざっくり言うと HTMLレポートに出力し、失敗原因を見やすくするようにしました リトライ実行するためのfastlaneプラグインを作りました テスト実行環境をJenkinsからCircleCIに移行しました Slack Commandを使って、簡単に実行できるようにしました これまでのiOSのUIテスト自動化 AQA(旧QA-SET)では去年から、JP版アプリ(iOS / Android)のUIテスト自動化に取り組んでいます。 去年のMercari Tech Conf 2017では、
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く