スライド 1

Similar documents
デュアルウェア講習会課題 5 会津大学講習会 簡単な IoT を作成 2018 The University of Aizu

GitLab + Dokku で作る CI/ CD 環境 Kazuhiro NISHIYAMA 第 78 回 Ruby 関西勉強会 2017/07/29 Powered by Rabbit 2.2.0

™¼fi⁄CTPŠp

™¼fi⁄CTPŠp

™¼fi⁄10„”Šp


™¼fi⁄PDFŠp

Docker Haruka Iwao Storage Solution Architect, Red Hat K.K. February 12, 2015

Waylandを試してみた 横浜PF部 第31回勉強会

スピーカースライド作成前の確認シート例

SolarWinds Event Log Forwarder for Windows v

[1] install PY2 PY3 Fabric & Invoke Quick Guide Invoke : Python で記述するタスクランナー Fabric : SSH を使うデプロイタスクランナー Fabric, Invoke 2018 Jeff Forcier. BSD 2-Claus

ソフトウェアエンジニアリング - 機能 #54

TeX LiveのCIテスティング

technews2012autumn

Docker/Kubernetes実践コンテナ開発入門

SmartBrowser_document_build30_update.pptx

Red Hat OpenShift上でのInterstage Application Serverの動作手順(Java EE 7編)

Red Hat OpenShift上でのInterstage Application Serverの動作手順(Java EE 6編)

S2BaseとZend Framework

MSI Tip: システム検索による INSTALLDIRの設定

PGRelief C/C++ 強化ポイント説明書

AWS Deck Template

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

Microsoft PowerPoint - Tutorial_2_upd.ppt

Server Backup Manager 5.0 Debian および Ubuntu システムへの Server Backup Free のインストール 1. APT-GET をしてServer Backup Free をインストールする 2. Server Backup Free のインストール

XMP structure: 1

syspro-0405.ppt

Symantec AntiVirus の設定

自己紹介 伊藤広樹 ( 所属 : 日本電信電話株式会社 ) 2015 年 2016 年 社内 OpenStack 基盤の運用 2017 年 ( 現在 ) Blazarにコントリビュート開始 平井普 ( 所属 :NTTコムウェア) 2011 年 2016 年 NTT 通信網 NW 機器の運用設定 20

untitled

Microsoft Word - nvsi_080188jp_r1_netvault_oracle_rac_backup_complemental_guide_j_174x217.doc

(Microsoft Word - FireWall\202\314\227\341\212O\220\335\222\350\202\360\215s\202\244.doc)

Microsoft PowerPoint - TwitterInsight edit.pptx

<48554C46545F F A5490E08E9197BF2E786C73>

mnal_HDR4ex_5ex.pdf

COBOL EE開発環境 ご紹介資料

URoad-TEC101 Syslog Guide

Microsoft Word combine.doc

TestDesign for Web

(Microsoft Word - Windows Installer \203\215\203O\202\314\214\251\225\373.doc)

XMP structure: 1

利用者

appli_HPhi_install

タイトル

実践 Infrastructure as Code

SAS_user_2015_fukiya02

スライド 1

5-3- 基統合開発環境に関する知識 1 独立行政法人情報処理推進機構

Blue Asterisk template

Nexus アプリケーション開発 - SDK

明日はじめるOpenSCAP

ex04_2012.ppt

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版  

TOMOYO Linuxを体験しよう

Raspberry Pi で WEB カメラを使用 会津大学 RT ミドルウェア講習会 2017 The University of Aizu


Micro Focus Enterprise Developer チュートリアル メインフレーム COBOL 開発 : MQ メッセージ連携 1. 目的 本チュートリアルでは CICS から入力したメッセージを MQ へ連携する方法の習得を目的としています 2. 前提 使用した OS : Red H

Complex Lab – Operating Systems - Graphical Console

XEN 仮想マシンの移植 Islandcenter.jp 2009/04/14 既に作成済みの XEN 仮想マシンを移植する方法を説明します 仮想マシンイメージは 通常 /var/lib/xen/image/myvmachine に作成されていますが このファイルを tar 圧縮してリムーバブルメデ

本チュートリアルについて 14 部構成 比較的簡単なトピックから 各回 プログラミング言語 任意 チュートリアルで 新しい内容 宿題 プログラミング演習 次の週 結果について発表 もしくは話し合いをする スライドは Python で Python, C++, Java, Perl についての質問い答

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~ alse

EnSight 10.1の新機能

A. InstallScript プロジェクト InstallScript インストールは InstallScript エンジンによって制御され 決められた順序で一連のイベントが生成されます これらのイベントは インストールを実行するソフトウェアハンドラーをトリガーします たとえば インストールがロ

Linkexpress トラブル初期調査資料 採取コマンド使用手引書

OpenCV IS Report No Report Medical Information System Labratry

Intel MPI Library Linux

PowerPoint プレゼンテーション

Merについて 小江戸らぐ

WebOS aplat WebOS WebOS 3 XML Yahoo!Pipes Popfry UNIX grep awk XML GUI WebOS GUI GUI 4 CUI

F-03H

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators

プレポスト【解説】

2. Save をクリックします 3. System Options - Network - TCP/IP - Advanced を開き Primary DNS server と Secondary DNS Server に AXIS ネットワークカメラ / ビデオエンコーダが参照できる DNS サ

スライド 1

第5回お試しアカウント付き並列プログラミング講習会

この時お使いの端末の.ssh ディレクトリ配下にある known_hosts ファイルから fx.cc.nagoya-u.ac.jp に関する行を削除して再度ログインを行って下さい

push-exchanger利用手順ベンダー向け

19 ステップで 2 大人気スクリプト言語を学ぶ GUI のあるアプリを作る STEP11 から STEP12 までまとめ 1.Python での GUI アプリ作成 Python は標準ではグラフィックスの機能を持ちませんが ライブラリを使うことで GUI のアプリを作成することができる そこで

2

4. 環境変数の設定実行にあたり 次のように環境変数を設定する必要があります 1)SJIS ロケールの指定コマンド例 )export LANG=ja_JP.sjis 2)MQ 環境の指定コマンド例 ). /opt/mqm/bin/setmqenv s 3)COBOL 実行環境の指定コマンド例 ).

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

共通 障害調査依頼の際には ログの他に分かる範囲で以下の情報の提供をお願いします 障害の概要 ( 障害の具体的な内容どの様な現象が発生したか等の情報 ) 障害の発生日時 障害の発生手順 ( 障害発生時に どの様な操作 運用を行ったかの情報 ) 画面上に表示されているエラーメッセージ ネットワーク構成

TECSをサポートする構造設計ツール ZIPC Toy!

RouteMagic Controller RMC-MP200 / MP Version

スクールCOBOL2002

2 3


注意 : ネットワークカメラの画像を回転させて表示した場合 モーション検知ウインドウは回転しないまま表示されますが 検知ウインドウは被写体に対して 指定した場所通りに動作します モーション検知ウインドウの縦横のサイズは 8 ピクセルで割り切れるサイズに自動調整されます モーション検知ウインドウを作成

Raspberry Pi3 / arm64 - Debian/Ubuntu ミートアップ in 札幌

超勉強会2012 MeeGoの変遷

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

OWI(Oracle Wait Interface)の概要

20th Embarcadero Developer Camp

$ cmake --version $ make --version $ gcc --version 環境が無いあるいはバージョンが古い場合は yum などを用いて導入 最新化を行う 4. 圧縮ファイルを解凍する $ tar xzvf gromacs tar.gz 5. cmake を用

ftServerでのログの取得方法の概要

UNIX

スライド タイトルなし

HARTING Node.js Environment for HAIIC MICA 日本語 HARTING Node.js Environment for HAIIC MICA HARTING IT Software Development Marienwerder Str. 3, E

Transcription:

Integration between GitLab and Fuego Tomohito Esaki 江崎朋人 IGEL Co., Ltd.

自己紹介 主に組込向けのソフトウェア開発 Android の Camera HAL, Camera driver Android, Tizen IVI のポーティング wayland/weston の導入 Android, Tizen, wayland application の試作 2

GITLAB と FUEGO の連携 3

Fuego って? Test framework for Linux System Docker + Jenkins + shell script + python script + test Jenkins scripts Docker Container ssh ssh server root fs 4

Fuego の特徴 GUI CUI の両方が用意されている たくさんのテストがすでに用意されている テスト結果を json 形式で保存する Fuego の core は python + shell script テストの実行はボタンを 1 回押すだけ 5

Fuego Test に必要なもの テストコード [ProjectName].tar.gz Tarball で用意 next branch (developing branch?) では git に対応しているようだが テストが必ず失敗したため不採用とし た スペックファイル [ProjectName].spec 右のような json 形式 テスト用 shell script [ProjectName].sh { testname : sampletest, specs : [ { name : default } ] } ここに key: value でパラーメータを追加できる 6

テスト用 shell script #!/bin/bash tarball=sample-test.tar.gz テストコードをビルドする function test_build {. /opt/poky/2.1.2/environment-setup-aarch64-poky-linux libtoolize automake autoreconf ivf l ${OECORE_NATIVE_SYSROOT}/usr/share/aclocal./configure ${CONFIGURE_FLAGS} make j2 } ビルドでできたファ function test_deploy { put sample-test $BOARD_TESTDIR/fuego.$TESTDIR/ } function test_run { report cd $BOARD_TESTDIR/fuego.$TESTDIR;./sample-test }. $FUEGO_CORE/engine/scripts/functional.sh イルをボードに転送 テスト実行 Fuego Core script 呼び出し 7

テスト結果 ${FUEGO_RW}/logs/[ProjectName]/ 以下にテスト結果を残す consolelog.txt Jenkins の console log へのシンボリックリンク devlog.txt Fuego が実行したコマンドリスト run.json テスト結果レポート syslog.before/after.txt テスト前後の syslog testlog.txt テストプログラムが出力したログ 8

Fuego 改善案 テストコードを tarball で用意する必要がある Git で管理しているので git をそのまま使いたい スクリプトやスペックファイルはどう管理する?? テストコード + script + spec を一括で git で管理し git push をトリガーとしてテスト実行出来たら便利そう? - test codes - fuego/ - fuego-test.sh `- ProjectName.spec fuego-test.sh: テスト用スクリプト 試してみた 9

GitLab + Fuego GitLab と連携する Jenkins の plugin があるので それを利用する (*1) git push Push 通知 ssh local GitLab Jenkins Fuego *1 Jenkins のバージョンを上げる必要あり!! 10

GitLab + Fuego 問題 1 spec ファイルは /fuego-core/engine/tests/[projectname] / になければいけない 環境変数 FUEGO_SCRIPT_DIR が設定されている場合は $FUEGO_SCRIPT_DIR/spec.json を読むように Fue go core を改造 engine/script/oven.py def parsespec(testdir, testspec): # FIXTHIS: get fuego-core from env - specpath = /fuego-core/engine/tests/%s/%s.spec % (testdir, testdir) + if not os.environ[ FUEGO_SCRIPT_DIR ] + specpath = /fuego-core/engine/tests/%s/%s.spec % (testdir, testdir) + else: + specpath = %s/%s.spec % (os.environ[ FUEGO_SCRIPT_DIR ], 11 testdir)

GitLab + Fuego 問題 2 Spec ファイルに key:value を追加するとソースコード展開前にテストに失敗する Fuego bug? プロジェクト名に - が使われていると必ず起きる ProjectName_KEY=value が環境変数として設定されるため ProjectName に - が使われているとここで怒られる def generatespec(ts, fout): varname = %s_%s % (ts.name, var) - varname = string.replace(varname,., _ ).upper() + varname = re.sub( \. -, _, varname).upper() value = %s % (ts.variables[var]) engine/script/oven.py 12

GitLab + Fuego 問題 3 GitLab と Jenkins の連携設定をすると Jenkins がテストコードのソースを展開する Fuego もコードを展開しようとする Jenkins の展開先と Fuego の展開先が異なる問題が発生 srctype を追加 spec file に記述 種類は tarball, git, raw Fuego core を改造 Jenkins が展開した場合用 { } testname : sample-test, specs : [ { name : default, srctype : raw } ] 13

GitLab + Fuego 問題 3 +function src_type { + upname=`echo ${JOB_NAME^^} tr. - _ ` + spec_srctype= ${upname}_srctype + if [! z ${!spec_srctype} ]; then + srctype=${!spec_srctype} + fi + echo ${srctype} +} function pre_build { cd ${WORKSPACE} - upname=`echo ${JOB_NAME^^} tr. _ ` + scrtype=`src_type` + if [ $srctype = raw ]; then + return 0 + fi + upname=`echo ${JOB_NAME^^} tr. - _ ` function pre_deploy { cd $WORKSPACE + scrtype=`src_type` + if [ $srctype = raw ]; then + return + fi 14

GitLab + Fuego できた!! git push Push 通知 ssh local GitLab Jenkins Fuego GitLab にも CI ツールはあるので Jenkins はなくても動かせるのでは? 15

GitLab + Fuego without Jenkins git push local GitLab Doker Image Fuego scripts ssh 試してみた 色々変数設定がないため怒られる Jenkins が設定している環境変数が必要!! 16

GitLab + Fuego without Jenkins 以下の変数設定が必要 FUEGO_RO=/fuego-ro FUEGO_CORE=/fuego-core FUEGO_RW=/fuego-rw NODE_NAME=salvator-x TESTSPEC=default TESTDIR=simple-test BUILD_NUMBER=$CI_BUILD_ID export WORKSPACE=`pwd` export FUEGO_SCRIPT_DIR=$WORKSPACE/fuego Python script が参照するので export する必要あり テスト用スクリプト fuego-test.sh に記述 17

GitLab + Fuego without Jenkins git push local GitLab Doker Image Fuego scripts ssh Fuego Test が Jenkins 無しで GitLab と連携できた! 18

まとめ Fuego と GitLab の連携を試してみた Git push をトリガーにすることができた Jenkins を使わずに fuego テストができる環境が作れた Fuego: http://bird.org/fuego/frontpage 19