CEDEC2020の講演資料です。 『「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム』 株式会社セガ 第1事業部 阪上直樹 / 株式会社セガ 開発技術部 粉川貴至Read less
実行したジョブはUTF-8で、Windowsの出力はMS932。 文字コードがずれてたので文字化けが発生したようす。 1.Windowsマシンに、文字コード出力設定を追加 2.Jenkinsのスレーブ設定に文字コード出力設定を追加 3.実行するジョブの先頭に、表示する文字コードを明記 で解決。 1.Windowsマシンに、文字コード出力設定を追加 システム環境変数に以下を追加 JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 2.Jenkinsのスレーブ設定に文字コード出力設定を追加 起動方法 > JVMオプション に以下を追加 Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 3.実行するジョブの先頭に、表示する文字コードを明記 Windowsバッチコマンドの実行 先
1. はじめに SWETグループの井口です(@hisa9chi)です。現在はスマホ向けゲーム開発案件にてゲーム開発者がゲーム開発に集中できるようにCI/CD関連を幅広くサポートしています。 本稿では、その中でも Jenkins Pipeline Job で利用可能な Shared Libraries に関して弊社でどのように活用しているか事例を紹介してみたいと思います。 Jenkinsと聞くとおそらく皆さんは、昔は利用していたが今は運用コストが高いなどの理由から、マネージドなクラウドのCI/CDサービスへ移行したという方が多いのではないでしょうか。しかし、ゲーム開発の現場ではJenkins master / agentのクラスタ構成を構築して、運用を続けているプロジェクトが弊社内にも多く存在します。なぜ、運用コストが高いにもかかわらず構築して運用しているかというと、ゲーム開発特有の理由から
はじめに Jenkinsでいろいろやっていると、Jenkinsで作成した成果物をSVNまたはGITにコミットしたい時が時々ある。 チェックアウトはJenkinsの標準機能で利用すればよいが、ファイルをコミットするときはシェルで個別に実装する必要がある。 毎回考えるのも面倒なので、忘備用に残しておく。 最近は、pipeline を利用することが多いため、両方のパターンを用意した。 Jenkins GUIを利用する場合 GUI上のビルドの「シェルの実行」を選択することで、シェルの実装ができる。 ここで記載するシェルの内容は、Jenkinsが立っているOS環境で動くため、 Linux環境なら、普通にshell を利用することが可能。 # svn info SVN_OPTION="--no-auth-cache --username ${build_user_account} --password
背景 プライベートプロジェクトにJenkins氏を導入しました。 一人でやっている遊びプロジェクトですが、所謂TDDやってみたいなとか、メトリクスとかプロジェクトの進捗を可視化したいなと思いました。また、可視化すればプライベートプロジェクトで最も重要な「モチベーション」の維持ができるかもしれないという淡い期待も込めて、Jenkins氏にメンターになって頂きたいという思いから、導入してみました。 環境 参考までに導入環境は以下です OS:windows7 64bit home jenkins:1.596 構成管理:svn(レポジトリはローカルに配置) 概要 ざっくり構想はこんな感じにしました。 ①ユーザーがソースコードをコミットする(Development/Commit) ②コミットをJenkinsに通知する(Hook) ③Jenkins働く(CheckOut/Build/Test/...)
Jenkinsの典型的な利用パターンの一つに「Subversionへのコミットを行うと自動でビルドジョブを実行する」というものがあります。これはGitを利用しているとすごく簡単にできるようです。 残念ながら我が社は相変わらずこういうものに厳しい、ということとSubversionすら使いこなせていない現状を考えると、まだその時ではない、ということでSubversionで進めています。 話が長くなりました。このSubversionからのコミット連携の記事はたくさんあります。例えば、romth様の記事が下記です。 romth.hatenablog.com が、この手を使うにはwgetというプログラムを入れる必要があります。冒頭でもお話をしましたが、我が社ではなかなか難しいですので、他の手を考えました。(上記の手段をとった場合、Jenkinsのユーザー名とパスワードはどうやって認識しているのでしょ
This plugin adds the Subversion support (via SVNKit) to Jenkins. Once this plugin is installed, you'll see Subversion as one of the options in the SCM section of job configurations. See inline help for more information about how to use it. An important note for those wanting to use client certificates to authenticate to your subversion server. Your PKCS12 cert file must not have a blank passphrase
Jenkins と GitHub を連携させる Webhook について GitHub と Jenkins を連携させる機能のひとつに「Webhook」と呼ばれるものがあります。この Webhook をつかうことで、 GitHub 上で管理しているリポジトリにブランチを push したときや、新たに Pull Request を作成した時などに Jenkins のジョブを走らせるといったことができます。 しかしながら、 Jenkins や Jenkins の複数のプラグインが Webhook の機能を提供しており、どの機能がどのサービスを提供しているのかがわかりづらくなっているのが現状です。そこでこのエントリーでは、それぞれの機能でどのような特徴があり、どういった設定が必要なのかを、実際に設定を行いながら整理したいと思います。 なお使用している Jenkins のバージョンはこの記事執筆時
GRIPHONE Advent Calendar 2018 24日目の記事を担当しますエンジニアの西村(大)です。 特定のディレクトリ以下で更新があった場合だけJenkinsのジョブを走らせるプラグインを紹介したいと思います。 ※この記事はGRIPHONE Advent Calendar 2018 24日目の記事です。 https://qiita.com/advent-calendar/2018/griphone https://adventar.org/calendars/3147 読むの面倒な人向けまとめ Pullしまくるジョブで疑似Webhookをして、File System SCMプラグインを使って特定のディレクトリ以下で更新があった場合だけジョブを走らせる やり方 Gitなどのバージョン管理のシステムを使う場合でWebhookを使える場合は良いのですが、 社内インフラからしか接続
背景 あるディレクトリ以下にあるファイルが変更されたときにjenkinsのジョブを実行して環境を反映したいということがありました。 リポジトリはgitを使っているのですが、ツール群が色々入っているリポジトリで、今回対象にしたいファイル郡も それ専用にリポジトリを切るにはかなり小さい量だったので、リポジトリは変えずに特定パスのみをトリガにする方法を考えました。 やったこと 通常のSCMポーリングなんかを使うと、リポジトリの変更全てを拾ってしまいます。 でもいい感じにしてくれそうなpluginが見当たらない。 そこで今回はshellでトリガーをチェックする方法をとりました。 プラグイン導入 shell をトリガーにするためにまず以下のプラグインを導入しました。 https://wiki.jenkins-ci.org/display/JENKINS/ScriptTrigger+Plugin あと
まずはじめに つい先日、はじめてjenkins pipelineのためのJenkinsfileを作成し、PHPアプリケーションのワンクリックデプロイを実現しました。今回は振り返りの意味も込めて、その際に事前に知っておくと良かった点をまとめていきます。これから、Pipelineを構築したい方は参考にしてみてください。 環境は以下の通りです。 CentOS: 7.3.1611 Jenkins Version: 2.73.2 私の場合は、Pipelineを作成する前にRubyで書かれたCapistranoというデプロイツールでリリース用のスクリプトをすでに構築・運用済みでした。慣れてしまえば十分な環境でしたが、毎回コマンドを叩く手間と増加するチームメンバーへの共有コストを考えるとよりシンプルな手順が必要だと感じてきたため、Jenkinsへの移行を決断しました。 移行プロセスとして、ゼロからCap
概要 レポジトリ内にドキュメントがあるなどのケースにおいて、ドキュメントの更新時にJenkinsのJobが実行されるとビルドマシンのコストを無駄に消費してしまう。 そのためJenkins Pipelineにて特定のディレクトリに変更があった場合にのみビルドする方法が求められるが、具体的にその方法がまとまっているページが見つけられなかったためここにまとめる。 PathRestrictionについて JenkinsPipelineのcheckoutにはPathRestrictionというクラスがあり、そこでincludedRegionsやexcludedRegionsを指定することで特定のファイルに差分があった(なかった)時のみビルドすることができる。 これはPipeline SyntaxのページでSample Step:checkout -> SCM: git -> 追加処理: Pollin
サーバに置かれたExcelファイルの更新を定期的に確認するという心躍る楽しい作業が有る。たまにファイルを見に行って、ファイルが更新されているか否か確認するだけの単純作業とは言え、せっかく確認しても更新されているとは限らないし、第一、桜が花開く春の季節にそんな退屈な仕事をするようでは心が寒くなってしまう。そこでJenkinsにファイル監視を代行させることにした。 前提条件 Windows上でJenkinsを稼働させている サーバに置かれたExcelファイルはJenkinsからアクセス可能である(アクセス可能な権限でJenkinsが動作している) ファイル更新の監視 Jenkinsのジョブのトリガーには、ファイル監視を行うFSTriggerプラグインを利用した。単純に更新のタイミングさえ分かれば良いのなら、これだけで良い。 FSTrigger provides polling mechanis
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。 継続的インテグレーションを使用したソフトウェアの開発と統合継続的インテグレーション (CI) とは、コード変更を共有リポジトリに頻繁に統合する手法です。コードのビルド、テスト、パッケージ化などのアクティビティを自動化および標準化することにより、チームのスループットとソフトウェアの品質を向上します。たとえば、開発者が新しくコミットされた変更をリモート リポジトリにプッシュするたびに、継続的インテグレーション プラットフォームはテスト スイートを自動的に実行し、リモート リポジトリのターゲット ブランチで変更による競合が発生しないことを確認することができます。 継続的インテグレーションには次のようなメリットがあります。 ソフトウェアの問題を発生後すぐに検出し、修正。 コードのデバッグに必要なリソースを削減
先日公開した記事「JenkinsでCI環境構築チュートリアル(Windows編)」では、Jenkinsのインストールとジョブの作成方法についてご説明しました。今回は特定のブランチにPUSHされたタイミングでGitHubと連携して最新ファイルを取得する方法をご説明します。 完成イメージ ~JenkinsとGitHubの連携~ 実際の開発シーンを想定して上記の図のようなフローを構築したいと思います。開発者が変更したソースコードをGitHubにPUSHしたことをトリガーにJenkinsにその旨を通知します。Jenkinsはその通知を受けて、最新ファイルをGitHubから取得してくる仕組みとなります。 処理の流れとは逆になりますが、まずはJenkins側で「GitHubから通知を受け取る設定」と「ジョブの作成」から行っていきます。 Jenkinsの設定 ~GitHubからの通知を受け取る設定~ 本
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く