ランサーズ等のサービスを開発・運用する中で得た知識やノウハウを紹介しています。

headshot

Labels:  AWS, DevOps 投稿者:kojima

ランサーズ リリースシステム 〜 Jenkins + Fabrics

こんにちわ。エンジニアの こじま です。

今回は,ランサーズのリリースシステムの紹介をします。

弊社プラットフォームは,1日に多い時は10回以上のコードのリリースを実施します。

ユーザ様によりよいプラットフォームを提供すべく日々,リリースをし改善を実施しています。

 

以前は,特定のエンジニアしかリリースができず,

都度サーバにログインしてオペレーションを実施していました。

現在では,非エンジニアでも,WEB UI からワンクリックで,安全にリリースを実施することができます。

以下のような WEB UI で実施しています。

リリース

 

リリースシステムは,Jenkins・Redmine・Fabrics と連携してリリースを実現しています。

以下のような構成で実現しています。

リリースシステム構成
上記の構成の詳細を説明をします。

Jenkins によって,Fabrics がキックされリリースを実施します。

また,リリースが完了すると,Redmine のチケットがクローズされる仕組みになっています。

Jenkins は Ruby で jenkins_api_client を利用して実現しています。

以下のように Job をビルドします。

[code language=”ruby”]
require ‘jenkins_api_client’

client = JenkinsApi::Client.new(conf)
client.job.build(job_name, params)
[/code]

 

また,Redmine も API 経由でリクエストすればチケットを簡単にクローズできます。

(API の解放が必要です)

[code language=”ruby”]
curl -s -H ‘Accept: application/json’ -H ‘Content-type: application/json’ -X PUT -d ‘{"issue":{"status_id":"<変えたいステータスの ID を指定>","done_ratio":"100"}}’ "http://<Redmine のアドレスを指定>/issues/<チケット ID を指定>.json?format=json&key=<トークンを設定>"
[/code]

 

このリリースシステムによって,開発が効率化され

より安全に早く,ユーザ様へよりよいものを提供できるようになりました。

このようにしてランサーズでは,

ユーザ様に快適なプラットフォームを提供すべく日々努力をしております。

ランサーズではサービスを成長させてくれるエンジニア、デザイナーを募集しています!
ご興味がある方は、以下URLよりご応募ください。

Webエンジニア(Wantedly)
Rubyエンジニア(Wantedly)
フロントエンドエンジニア(Wantedly)
インフラエンジニア(Wantedly)
2017新卒エンジニア(Wantedly)
エンジニアインターン(Wantedly)
その他採用情報

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

関連記事

thumbnail
リリースシステムを刷新したはなし

インフラエンジニアの平塚です。 今回は昨年紹介しましたランサーズのリリースシステムを刷新したのでご紹介します。 背景   理由としては増えてゆくサービスを個別にリリースしていくのは手間がかかり、 これを1つのWeb UIからリリースできるようにするこ …

thumbnail
Storing 80 million records in Redis on cheap

Hi, I am Martin and this article is about my journey optimizing Redis as key-value cache for millions of records. We have been usi …

gyazo_logo
[Gyazo] 今更聞けない?簡単画像共有アプリ Gyazo のプライベート環境構築方法

こんにちわ!ランサーズのsatoshiです。 今回は、ランサーズの開発メンバーがスクリーンショットの共有に利用している Gyazo という技術についてご紹介したいと思います。 Gyazo とは? Gyazo とはもともと、「スクリーンショットの瞬間共有」という …