I have a large repository in Git. How do I create a job in Jenkins that checks out just one sub-folder from the project?
悪戦苦闘しつつようやく動くようになったので、とりあえずはまったポイントをメモしておきます。 jenkinsユーザのSSH key生成 sudo -u jenkins -H ssh-keygen -t rsa -C jenkins@hoge.com cat ~jenkins/.ssh/id_rsa.pub GitHubのSSH Key設定 複数のリポジトリを利用したい場合、GitHubリポジトリ設定のdeploy keysだと重複エラーが出てうまくいかない。なので、自分のGitHubユーザアカウント設定のSSH Keysにjenkinsのkeyを追加する。 ジョブのリポジトリ設定 設定/ソースコード管理システム/Git RepoのURLに注意 こっちじゃなくて
Integration Testing for Chef-Driven Infrastructure with Test Kitchen Introduction A big obstacle to the mission to treat infrastructure as code is the way we test it. In the past, the practice of writing automated tests for infrastructure did not exist. Instead, the process was manual, repetitive and error-prone: we would log into a remote machine and run various commands to verify the system. A b
My last post provided a walk through of some of the new Windows functionality available in the latest Test-Kitchen RC and demonstrated those features by creating and testing a Windows Active Directory domain controller pair. This post will also be looking at testing multiple nodes but instead of windows, I'll be spinning up multiple docker containers. I'm going to be using a Couchbase cluster as m
1ヶ月ほど前になりますが、多段Norikraを簡単に試せるようにするNorikra Listenerプラグインを作りました。 norikra-listener-norikra | RubyGems.org | your community gem host github.com なぜ作ったか? ログ量が増えてくると1台のNorikraではさばくことができなくなります。 そうした場合には数台のサーバーごとにNorikraを1つ立てて、その後段に各Norikraの実行結果をまとめるNorikraを立てることで、スケールさせることができます。 例: Norikra in Gunosy Network Ads@Norikra meetup #2 // Speaker Deck その際に前段と後段のNorikraをつなげるために、従来は下図のbeforeように間にfluentdを挟む必要がありました
背景 CryptoWallは最も有名なランサムウェアの1つです。FBIによると、これまでに報告されているCryptoWallの被害件数は992件で、被害総額は1,800万ドル(日本円にして約22億円)にも上ります。また、シマンテックは、2013年に発生したランサムウェア攻撃は410万件で、その数は2014年には880万件に倍増したと発表しています。CryptoWallはNuclearやNeutrino、Anglerといった巧妙なエクスプロイトキットを使用するランサムウェアで、あらゆる手を使ってターゲットを感染させます。この有害なマルウェアの最終目標は、対象となるコンピュータやネットワークドライブ上に存在する特定の拡張子を持つファイルを全て検出して、暗号化することです。そして復号するための身代金として、通常500ドル(約6万円。この額は、ある期間が過ぎると倍になります)を要求するのです。 C
CSIRT(シーサート: Computer Security Incident Response Team) とは、組織内の情報セキュリティ問題を専門に扱う、インシデント対応チームです。 近年の組織 (企業) の IT 利用の拡大に伴い、情報セキュリティ対策は組織にとって重要な問題となってきています。高度に複雑化し、かつインターネットを介して大容量のデータを瞬時に、しかも容易に世界中とやり取りできる IT システムの利用が一般的になったことで、単に「現場 = システム管理者」の頑張りだけで済む問題ではなくなってきています。例えば、情報システムがコンピューターウイルスに感染してしまったために、顧客の個人情報が世界中にばら撒かれてしまったといった事態を考えてみれば、情報セキュリティの問題が、もはやシステム管理者だけの問題ではなく、経営層が積極的に関与しなければならない問題であることは容易に想像
Site Reliability Engineering(SRE) Teamの@cubicdaiyaです。 今回は数あるnginxのサードパーティモジュールの中でも一際強力で、メルカリでも活用しているngx_luaの便利な活用方法や最適化集について紹介します。 ngx_luaは軽量スクリプト言語のLuaでnginxを拡張できるモジュールです。 nginxの設定ファイル内にLuaのコードを埋め込んだり、nginxの拡張モジュールをCではなくLuaで開発することができます。以下はngx_luaにおける「Hello, World!」です。 location / { content_by_lua 'ngx.say("Hello, World!")'; } 上記のロケーションにHTTPでアクセスするとnginxはボディが「Hello, World!」のレスポンスを返します。 なお、先月末にリリースさ
Veriloggen 0.5.0をリリースしました。Python 3.5をサポートしたり、遅延評価・合成の仕組みを入れたり、かなり意欲的な更新です。 github.com 最近、GoogleのTensorFlowが流行っていますね。データフローですね。そこで、今回の目玉は、パイプライン回路をお手軽に設計できる、データフローライブラリ(lib.dataflow)です。 データフローライブラリを使えば、、制御信号(ready, valid)を持つ、RTLでの設計が面倒なパイプライン回路をPythonだけで設計することができます。しかも、データフローの可視化にも対応しています。 更に、シミュレーションライブラリ(lib.simulation)を使えば、Pythonだけでそのまま回路シミュレーションもできます。 では早速試してみましょう! 準備(ダウンロード&インストール) 以前の記事を参考にイン
以下も参照してください。 ANNOUNCING DOCKER 1.9 | Docker Blog CHANGELOG 1.9.0 (2015-11-03) Set build-time variables (--build-arg) | Command line reference (追記おわり) 概要 HTTPプロキシを経由しなければインターネットにアクセスできない環境において、インターネットアクセスが必要なdocker build(アプリケーションパッケージのインストールなど)を行うには環境変数の設定が必要になります。しかし、環境変数の情報をDockerfileに書いてしまうとプロキシ環境以外で使いにくくなってしまいます。 そこで、Dockerfileは環境によらず使えるように、プロキシ設定をDockerイメージに埋め込む方法について説明します。 例題 例として以下のようなDocker
少し前にStarletにGraceful Restartが時たま上手く動かない問題を修正するpullreqを投げました。 原因は割り込みハンドラ内でexitを呼んでいたからでした。 「割り込みハンドラ内ではフラグを建てるだけ」 「メインのプログラム内でそのフラグを見て分岐する」という原則があるのですが、それを守るのは難しいということですね。 (しかし新たな問題を産んでしまいrevertされてしまいましたが・・・ まあ修正後のコードも考え方は一緒です。割り込みホント難しい・・・) このpullreqを取り込んでもらうときに再現実験をやってみたのですが、 Goでもちゃんと動くのかな?と気になったので Go言語でGraceful Restartをするで紹介した プログラムに同じテストをやってみました。 2017-01-22追記: Go1.8以降でGraceful Shutdownがbuild-i
Last week at WWDC was a massive whirlwind of learning, trying, and meeting. I had some time today to decompress and think more about some of the things that were released last week, starting with the Swift 3.0 beta. There are a lot of amazing changes in Swift 3.0, but I wanted to highlight the ones that made me especially happy (i.e. I probably excitedly tweeted about it but want to say more than
Blue Green Deployment Tweet はじめに デジカでは、2015年4月から Blue Green Deployment を実践しています。それについて、良かった点と課題を含めて紹介したいと思います。 Blue Green Deployment とは Blue Green Deployment という言葉は、マーチン・ファウラー氏の同名の記事 (日本語訳) から広まったものだと思います。簡単に言うと、本番用のサーバを2セット用意して、別のサーバで新しいバージョンを動かしてから切り替える形でリリースする手法です。 以下のような利点があります。 graceful restart などの複雑な機能を使わずに、ダウンタイム無しで瞬時に切り替えができる ユーザに公開する前に、本番環境そのもので最終的な動作確認テストができる 万が一、新バージョンに問題があった時、すぐに前のバージョ
渡辺です。 DevelopersIOでの100本目のエントリーがJUnitネタとなりました。 自分がJUnit実践入門を執筆したのは2011年から2012年にかけてです(出版が2012年11月)。 それからJava8がリリースされていますが、JUnit4自体は大きな進化はしていませんでした。 昨日、JUnit Lambda Prototypeが公開されました。 まだプロトタイプということで、今後の変更は大きいかと思いますが、いよいよ次世代のJUnitの足音が聞こえてきた感じがします。 今回は、このドキュメントからJUnit Lambdaの概要と方針について速報をお送りしたいと思います。 なお、現在JUnitチームでは、このプロトタイプに対するフィードバックを募集しています。 ここはこうじゃないとかはてブコメントする前にTwitterやGitHubでフィードバックを! JUnit Lambd
この表から解るように、一部の機能を除けばJUnit4の機能は継承されています。 したがって、JUnit4を理解していれば継承された機能をJUnit5に移行することは難しくないでしょう。 最初は多少の混乱はあるかと思いますが、すぐに慣れるレベルかと思います。 逆に、新しくJUnit5からJavaのユニットテストに入るのであれば、JUnit4の制約がないことは良い材料です。 特に、構造化テスト(ネストクラス)の時、JUnit4ではネストクラスをstaticクラスにすることを強いられていました。 これは、テストクラスをテスト毎に作成するという制約があったためです。 この制約がある以上、テストクラスからアウタークラスのインスタンス変数にアクセスできませんでした。 ユニットテストではテスト毎にテストインスタンスを作成することが原則なので、この制約は仕方ないと考えても良いでしょう。 しかし、テストがネ
Nomad 0.2 – HashiCorp https://hashicorp.com/blog/nomad-0-2.html こちらの Blog 投稿の、日本語参考訳です。 —-ここから 私たちは Nomad 0.2 リリースの発表を嬉しく思います。Nomad は分散し、スケール可能であり、高い可用性を持つクラスタ管理とスケジューラです。マイクロサービスとバッチ処理の両方に向けて設計しました。 Nomad の初公開リリースから2ヶ月間、このほとんどを、私たちはシステムの拡張、ユーザ経験、バグ修正に集中してきました。 Nomad 0.2 は多くの新機能が追加されました。その中には、サービス・ディスカバリ、システム・スケジューラ、再起動ポリシー、新しい強制(constraint)タイプ、クライアントの多くの改良、等を含みます。より詳細な情報は Nomad 0.2 CHANGELOG をご覧く
概要 環境毎に作成された7体のJenkinsを1体に集約した 母体となるJenkinsが置かれたサーバに7体分のnodeを作成した 初めに 僕の所属するプロジェクトでは検証環境が複数あります。 それらの検証環境のメンテナンス・デプロイ等は各環境に置かれたJenkinsでやっており、 検証環境は全部で7つあるので、Jenkinsも7体います。 タグ切り後のリリース時には、すべての環境にリリースするために、 それぞれの環境毎にあるJenkinsのウェブページをすべて開いてリリースしなければならなく面倒でした。 また、あるバッチ機能を開発した際にはすべての環境で同じジョブを作成する必要があり、これまた面倒でした。 そこで、環境毎に別れてしまったJenkinsを1体に集約することで上記問題を解決する事にしました。 複数のJenkinsを1体にまとめる方法 JenkinsにはSlave機能というもの
前回(part1)rkx1209.hatenablog.com の続きです。 part2では仮想IRQ,チップセット,仮想IO,TCGを見ていきます。 多分part2で終わりです。(時間があればまたいつかpart3とか書いてみたいですね...) ではまず仮想IRQから見ていきます。 6.仮想IRQ QEMUにおいてIRQはIRQState構造体で表されます。 (hw/core/irq.c) struct IRQState { Object parent_obj; qemu_irq_handler handler; void *opaque; int n; }; nがIRQ番号でhandlerがIRQ#nに対応するハンドラです。またIRQStateは(include/hw/irq.h)でqemu_irqにtypedefされているため以降はqemu_irqと呼びます。 では前回見ていたマシン初
Flexbox today is very, very real. After many years of development, the specification has become much more stable, making it easier to achieve those CSS layout dreams. In this article, Dennis Gaebel Jr will discuss layout patterns well suited to flexbox, using the interface from the Tracks application, which also takes advantage of atomic design principles. He’ll share how flexbox proved useful and
This document summarizes a microservices meetup hosted by @mosa_siru. Key points include: 1. @mosa_siru is an engineer at DeNA and CTO of Gunosy. 2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS services like Kinesis, Lambda, SQS and API Gateway. 3. Challenges discussed were managing 30 microservices, ensur
こんにちは。インフラストラクチャー部 セキュリティグループの星 (@kani_b) です。 主に "セキュリティ" や "AWS" といったタグのつきそうなこと全般を担当しています。 Fluentd などのデータコレクタ、Kibana やその他 SaaS による可視化、Kafka, Kinesis, Spark などのストリーム処理といった様々な分野で「ログの処理」がホットですが、アプリケーションのログ (行動ログなど) に関する話題が多くを占めています。 そうしたログの他に重要なのが OS や各種ミドルウェアのシステムログです。これらはトラブルシューティングであったり、セキュリティ上の問題を見つけたり、といったことに使われますが、最低限 syslog でどこかに集約しているだけ、といった例をよく見かけます。 これらのログをきちんと検索可能にし、分析することで、今まで気づかなかったような問
一週間前に僕のチームで実践している分報について『Slackで簡単に「日報」ならぬ「分報」をチームで実現する3ステップ』という記事で公開したところ、分報を始めてみたという反響が多くあったので、その一部を紹介する。 質問もいくつか頂いたので、それにこたえる形で僕のチームではどのように分報を行っているかについても紹介する。 > 分報を導入したチームからの反響分報を導入したチームからの反響 人に話しかけるときも DM 送るんじゃなくて、相手の Twitter ごっこチャンネルに乗り込んでいって話すほうが割り込んでる感じもしないし、別の人が助け船だしてくれたりする。これは発見 — Naoya Ito (@naoya_ito) November 12, 2015 早速チームに導入している!社内Twitter感覚でやれてる。一人ひとりのステータスの確認がしやすいのでGOOD!:Slackで簡単に「日報」
Slackで簡単に「日報」ならぬ「分報」をチームで実現する3ステップ 〜Problemが10分で解決するチャットを作ろう〜 開発プロジェクトを進めていくと、チームは様々な課題に直面する。こうした課題は、週次のミーティングや日報で共有して解決していくことが多い。 課題は大小様々だが、特に数時間で解決できるような小さな課題をいかにリアルタイムで解決していくかで、チームのスピード感が大きく変わってくる。 僕のチームでは、リアルタイムの課題解決の為に、社内チャットSlackを社内Twitterのようにする邪道な使い方「分報」という取り組みを実践している。 > 日報の弱点日報の弱点 日報は一日の業務の報告書で、一般的に「進捗状況」「体験」「学習」「課題」が記載される。これらをチームで共有することで暗黙知を減らし、個人とチームを成長されることが目的だ。報告方法はチームによって様々だが、メールをはじめ、
最難関の数学に立ち向かおう 東大・京大をはじめとする旧帝大や東工大、一橋大、または難関医学部を受験する方、数学で高得点を狙いたい方にオススメです。数学の基礎が固まり、2次対策を始める夏休み明けからセンター対策前、そして、センターを終えて、2次試験までの間に取り組むのが良いでしょう。 数学を武器にしよう 本書の謳い文句は「東大、京大、一橋大、東工大レベルの良問を精選したもの」。その言葉通り、難問かつ、応用性の高い良問だけが掲載されています。 難しいので初見で解けなくても気落ちする必要は全くありません。しかし、確実に復習を繰り返して、その手法を徹底的に学びましょう。これらの問題がすべて解くことのできるようになったときには、例え最難関大学でも数学を武器に受験を迎えられます。 数学の本質を理解しよう 最大の長所は解説が細かいこと。解答とは別に「精講」「参考」「研究」という項目が用意されています。「
Boostは、JavaScriptなどのWeb標準技術を使ってデスクトップアプリを作成できるフレームワーク「Electron」で開発。Electronは米GitHubが公開しているもので、「Visual Studio Code」などでも採用されている。 まずはMac OS X版から提供。追って他OSやデバイス連携機能の開発も進めるという。 関連記事 Visual Studio Codeの使い方、基本の「キ」 Microsoft発のクロスプラットフォームなテキストエディタ、「Visual Studio Code」の使い方の基本をまとめる(バージョン1.25対応)。 GitHub(ギットハブ)の使い方:issue(イシュー)編 ソフトウェア開発プロジェクトの共有Webサービス「GitHub(ギットハブ)」を「日本語で」分かりやすく説明するシリーズ、今回はコミュニケーションを図るための「issu
Using Sun Grid Engine 6 If you share a cluster with other users, a batch schedule allows for optimal sharing among users. Grid Engine is a robust batch scheduler that can handle large workloads across entire organizations. You can find more detailed information in the Administrators Guide (pdf), the Users Guide, and Release Notes. Basic Commands At a basic level, Sun Grid Engine (SGE) is very easy
知っている人は知っていましたが、その昔、まつもとさんにEmacs実践入門の本書に寄せてを書いてもらった時、実は僕はまだRubyを1行も書いたことがありませんでした。しかし、あれから3年、いまでは普通にRubyを書くようになりました。 そこで、本日はRubyを書く際に、僕が便利に利用しているAtomパッケージのひとつを紹介したいと思います。 RuboCop。 さて、初心者がRubyを書く際に、とても頼りになるGemがあります。それがRuboCopです。新しい言語を学ぶ際、シンタックスチェッカーは必須ツールですが、RuboCopは、スタイルガイドに従って自分の書いたコードが、RubyとしてGoodかBadか判断して警告してくれるため、他の言語は書いたことあるけどRubyは初めて、という人にとって、とてもありがたいツールです。 そんなRuboCopには「-a / --auto-correct」オ
OBSOLETE CONTENTThis wiki has been archived and the content is no longer updated. BTRFS has some key capabilities which enable efficient backup solutions: Instant, Atomic COW Snapshots Since the snapshots are atomic, when a snapshot is restored it appears to applications as if a power loss had occurred (and the filesystem has gone back to an earlier state). Thus it is possible to backup databases
こんにちは。斎藤です。 最近、Dockerなどのコンテナ型仮想化技術、Chef, Ansible, Itamae などによるITインフラ構築・運用自動化技術の利用が進んでいます。一方で、何年も動いて「歴史」を積み重ねているシステムも数多くあります。そして、私を含めてそれらの運用に関わる事もあるでしょう。そんな「歴史」のあるシステムも、何とか運用を効率化したいと思う事があるかもしれません。 今日は、バッチジョブや複数サーバに対する運用を効率化するRundeckを取り上げます。「何ができるの?」「はじめかた」そして「利用時の留意点」の3点についてお話しします。 ※OSはCentOS 6系、Rundeck はバージョン 2.4.0、Java VM は Oracle JDK 1.7.0_72 を利用しています。 cron。Linux系OSに標準搭載されているジョブスケジューラです。標準で使えるため
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く