You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
■ Ruby CI のプロビジョニングを mitamae で出来るようにした 様々な OS で Ruby のテストを回している Ruby CI のインフラ面をがっつり改善した。 まず、インスタンスは全て AWS で回すようにしたうえで rubyci.org の DNS の管理権限を成瀬さんからもらって、インスタンス全てのドメインを *.rubyci.org になるようにした。 また、プロビジョニングは @k0kubun が作っているワンバイナリプロビジョニングツールの mitamae に集約しつつ、ランナーとして @sorah の hocho を使うことにした。できたのがこれ。 https://github.com/ruby/ruby-infra-recipe 主に k0kubun が mitamae をいろんな OS やアーキテクチャに対応させまくりつつ、@mame がマニアックな OS
1ヶ月くらい使って勘所が見えてきたのでメモ メリット 1リポジトリ辺り20並列までジョブを並列実行できる ジョブ実行時はアクセストークンが勝手に設定されている マトリクステストがやりやすい 実際にGitHub Actionsに移行したプロダクト zatsu_monitor activerecord-compatible_legacy_migration index_shotgun デメリット yamlのanchorが使えない マトリクステストだとSlack通知がつらい 合わせて読みたい メリット 1リポジトリ辺り20並列までジョブを並列実行できる これに尽きる。 CircleCIにしろTravis CIにしろorganization(user) *1単位で並列数が縛られているため、例えば同じuserの他のリポジトリでジョブが詰まっていると別リポジトリではqueueが詰まってジョブが実行され
Feb 8, 2018 移行前はBitriseの$50のプランでiOSのCIをしていました。最近はサーバーやAndroidの開発もやっているのですが、そちらのCIには元々CircleCIを使っていて、workflowの使いやすさやページの軽快さが気に入っていました。 CircleCIのmacOSマシンは$39から始められるのですが、一定時間以上使うとそこから従量課金制になります。CircleCI上でのビルドにどのくらい時間が掛かるか完全には読めなかったので、実際に移行してみて費用が安くなるのか高くなるのか不確定だったというわけです。そういう状況だと、わざわざ確認のために新しい環境でCIをセットアップするのも億劫に感じてしまい、なかなか手をつけられずにいました。 ところがある日、サーバーのリソースを見直した結果、月に$250ほど節約できることがわかりました。なぜかその時に背中を押されて、iO
今回はUnityを使用したiOS/Androidビルド方法についての簡単な解説と、社内で動いているビルドシステムついて紹介したいと思います。 こんにちは、ソーシャルゲーム事業部所属エンジニアのぴーちんです!!宜しくお願いしますヾ(@⌒ー⌒@)ノ この記事はカヤックUnityアドベントカレンダー2016の24日目の記事になります。 カヤックのゲームを支えるビルドシステムについて カヤックのゲームを支えるビルドシステムについて platform毎の基本的なビルド方法について iOS ビルドの準備 Xcodeでのビルド アプリ配布に使う配布用証明書 コード署名に使う開発用証明書 Android ビルドの準備 AndroidSDK アプリへ署名する為の証明書 社内で使われてるビルドシステムについて githubのpull−requestにコメントしてビルドする機能 githubのpull−requ
はじめまして!技術部モバイル基盤グループの加藤(@k0matatsu)です。 業務の一部でCIお兄さんとしてJenkins氏のメンテナンスなどを行っています。 今日はをにする話をしたいと思います。 CI待ち時間1/2で PR/レビューのサイクルの速さ2倍(当社比)です。 ※ ビルド所要時間のボトルネックは環境やジョブ内容によって異なるため効果には個人差があります。 当社のAndroid CI環境 さて、開発効率を2倍にする前に、まずは当社のCI環境がどうなっているか説明が必要ですね。 当社のAndroid向けCI環境は幾つかの試行錯誤を経て、現在はAmazon Web Service(AWS)を使って構成されています。 下図のように、Amazon EC2(EC2)インスタンス上に構成管理ツール:itamaeを使って作成されたJenkinsのmaster/slave構成を擁し、その中でAnd
🗃 {Dev/CI/ConcourseCI} 🏷 Concourse CI 🏷 Docker 🗓 Updated at 2017-06-04T05:45:29Z 🗓 Created at 2016-04-10T13:29:35Z 🌎 English Page 目次 Concourse CIとは 他のCI/CDツールとの違い アーキテクチャ コンセプト インストール方法 はじめてのConcourse CI Concourse CIとは Concourse CIは Simple Scalable Reproducable が売りのパイプラインベースCIです。Pivotalが開発しており、Go言語で書かれています。 元々はCloud FoundryのCI/CD用に作られましたが、単独のCI/CDツールとして汎用的に使用できます。 Thought WorksのTechnology
自分の誕生日である4/7に表参道.rb #10が開催ということでバースデーLTをしてきました omotesandorb.connpass.com 例のやつ 近況 最近送ったPullRequest vagrant-awsプラグイン(のスポットインスタンス対応版のフォーク) vagrant-cloudstackプラグイン(1つ目) vagrant-cloudstackプラグイン(2つ目) スライド版 完全版 三行まとめ itamaeについて itamaeプラグインについて Gemfile recipe.rb sue445製itamaeプラグイン itamaeプラグインのテスト事情 CIされてることのメリット itamaeプラグインをテストする手順 ローカルでVagrant + VirtualBox環境構築 自分自身を適用するレシピと、それに対するテストを書く VirtualBox内でitama
少し前までアプリケーションのデプロイと言えば capistrano などをコマンドラインから叩いてデプロイ、みたいなことをやっていたが、最近は少し様子が違うのでそのやり方、KAIZEN platform Inc. での事例を紹介する。 GitHub のイベントを契機に CI as a Service にデプロイを担当させる GitHub で Pull Request を送って開発するのが前提になっているのは以前にも紹介した。 最近は Travis CI や CircleCI などに代表される CI (Continuous Integration) as a Service があって、CI も自分たちで環境を構築しなくてもクラウドに任せることができる。KAIZEN では CircleCI を積極的に使っている。 これらの CI as a Service は基本的に GitHub と連携するこ
■ appveyor で rake のテストを実行するようにした Rake 11 に向けて 11 で消す予定とコメントされている箇所や Ruby 1.8 向けのコードに手を入れ始めているものの、結構 Windows 向けの Hack も多くて雑にやると事故りそうなので Windows で CI できるという appveyor の設定を入れて CI 実行するようにした https://github.com/ruby/rake/blob/master/appveyor.yml https://ci.appveyor.com/project/ruby/rake appveyor はいわゆる travis ぽく設定ファイルを用意して実行するのだけど、ビルドとテストのフェーズが分かれていたり、Windows 向けのバイナリが結構豊富で大変良かった。 この機会に ruby の bundle gem 群
この記事はフィードフォースエンジニア Advent Calendar 2015 - Adventar4日目です! みなさんrubyのRPMビルドってどうしてますか! CentOSをメインで使っていると最新のrubyはyumで入らないのでどこかのリポジトリからインストールするか自前でビルドする必要があるかと思います。 プロビジョニングのタイミングでrbenvやmakeで入れてもいいのですがciや新規ホストを立てた時など毎回rubyのビルドをするので時間がかかってしまうんですよね。 それが嫌でrubyはリリースされるたびにrpm化してインストールするようにしています。 ところがrpmのビルド環境って用意するのが面倒だったりビルドしたい環境ごとにvagrantを立ち上げて〜とか意外と手間がかかる。 自動化したいなーと思っていて、Dockerは特定の環境を再現するのに最適だし、CircleCIはG
Circle CI でも travis-ci でもなんでもいいんですが、とにかくデプロイ用に用意する assets:precompile を早くしたいというあなたむけの記事です。 bin/rake assets:precompile は public/assets 以下に配信用の assets を吐き出し、 manifest.json なども配置されますが、この public/assets ディレクトリをキャッシュするだけでは、次回の bin/rake assets:precompile は早くなりません。 継続的な bin/rake assets:precompile の実行を高速化するには public/assets だけでなく、 tmp/cache/assets も保存しておき、 assets:precompile 実行前に再配置しておく必要があります。 これにドはまりすると『CI
CSSの保守に便利なcsscombとscss-lintについて説明します。 scss-lint scss-lintは、SCSSのコードから与えた設定に違反している箇所を報告してくれるツールです。jslintやrubocopのSCSS版のようなものです。これをCI等で定期的に実行しておくことで、ルールに違反したコードの蔓延を防ぎます。 csscomb csscombはNode製のツールで、CSSのコードを与えた設定に従って自動で変換してくれるものです。scss-lintを初めて導入するときに利用すれば、大半の警告を自動で修正してくれるでしょう。但しCSSの文法しか解釈できないため、SCSSに適用すると失敗する場合があります。SCSSで書かれたファイルに対して適用してみたところ、@includeなどの文法は受理されるものの、@ifなどの文法を受理できないようです。しかしながら問題となるケースが
2015-07-02 Jenkinsと完全にサヨナラして、CircleCIに移行した話 CI Jenkins CircleCI 長らくCIはJenkinsを利用して開発をしてきて、Hudson時代からご愛顧してきたのですが、この春から新しくスタートしたプロジェクトではJenkinsを利用しないという決断をしました。 Jenkinsとサヨナラした理由 複数プロジェクトで共有して利用するのがツライ うちの会社では共通で用意されたJenkinsがあって(それなりにスペック高くて、slaveもぶら下がってる)、色々なプロジェクトがそれを利用しています。 このケースの問題点は何よりもランタイムやSDKを共有してしまうことにあります。全てのビルドに副作用を与えることなく、ランタイムやSDKを追加・更新するのが簡単ではありません。それを滞りなくやるには事前にどのビルドが何を使っているかを把握したり、利用
(English version here) 技術部モバイル基盤グループのヴァンサン(@vincentisambart)です。今日は最近作ったツール「Dokumi」の話をしようと思います。 紹介 他部署のエンジニアの仕事をもっと楽にすることが、技術部の重要な目的の1つです。その中で、Dokumiはモバイル開発者のコードレビューの負荷を減らすためのツールです。 なぜ「毒味」という名前にしたかと言うと、人間がレビューする前に、コードに毒(バグ、不自然なコードなど)が入っているかどうか毒味するツールだからです。別の言葉で言うと、少し進化したCI用のlintツールですね。pull requestが出る度に、Jenkinsがそのpull requestにDokumiをかけます。現在はDokumiはiOSアプリだけに対応してしていますが、今後はAndroidアプリへの対応も考えています。 現時点でDo
処理の流れとしては次のような感じ。 GitHubにpushされるとCircleCI上でterraform planが走る そのPRがmasterにマージされるとterraform applyが走る Terraformのテンプレート まずはdnsimpleプロバイダについて記述する。 variable "dnsimple_email" {} # 環境変数TF_VAR_dnsimple_email variable "dnsimple_token" {} # 環境変数TF_VAR_dnsimple_token provider "dnsimple" { token = "${var.dnsimple_token}" email = "${var.dnsimple_email}" } DNSimpleに接続する際のtokenとemailをTerraformに渡す必要があるのだけれど、それらはリポ
2015-03-31 CircleCIアンチパターン 2015春 CI CircleCI Docker 今日はCircleCIで気持ちよくCIを回すために、抑えておいた方が良いアンチパターンについて書きます。わりと基本的な話なので、心当たりがあれば見直してみると良いと思います。 Fat Repository Anti Pattern(巨大なリポジトリ) CircleCIのコンテナは使い捨てですが、対象のリポジトリを毎回cloneするのではなくて、2回目移行は前回のCI時にキャッシュしておいたリポジトリを利用することで差分取得を実現しています。 checkoutフェーズのRestore source cacheのことですね。 この手法によって最新取得のコストを大幅に低減することができますが、コンテナ初期化時にS3からリポジトリのアーカイブを取得するという特性上、あまりにも巨大な数GB超えのリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く