Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
組み込みシステムもクラウド+ハードウェア実機でCI/CDしよう
Search
Masahiko Funaki(舟木 将彦)
July 01, 2021
Technology
0
21
組み込みシステムもクラウド+ハードウェア実機でCI/CDしよう
Masahiko Funaki(舟木 将彦)
July 01, 2021
Tweet
Share
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
テスト自動化がさらに加速!生成AIが作成・修正・分析まで行う『エージェント型テスト』の全貌
mfunaki
1
140
Playwrightとmablのパワフルな統合: 効率的なテスト自動化を実現する新機能を学ぶ!
mfunaki
0
190
AIで進化するソフトウェアテスト:mablの最新生成AI機能でQAを加速!
mfunaki
0
240
Harness the Power of Advanced LLM and CI/CD Practices
mfunaki
0
390
CircleCI によるソフトウェア開発の品質向上と効率化の実現
mfunaki
0
280
CircleCI と Argo Rollouts で 実現する Kubernetes 上の プログレッシブデリバリー
mfunaki
0
180
はじめてのCircleCI
mfunaki
0
70
CircleCIでChatGPTにエラーの解説を頼んでみた
mfunaki
0
630
自動化→部品化すると社内開発は楽しくなる
mfunaki
0
70
Other Decks in Technology
See All in Technology
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
160
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
450
人工衛星のファームウェアをRustで書く理由
koba789
15
7.9k
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
180
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
260
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
200
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.1k
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
830
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
270
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.2k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
The Invisible Side of Design
smashingmag
301
51k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
How STYLIGHT went responsive
nonsquared
100
5.8k
Optimizing for Happiness
mojombo
379
70k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Transcript
1 組み込みシステムも クラウド+ハードウェア実機で CI/CDしよう CircleCI合同会社 Developer Advocate ⾈⽊ 将彦 (@mfunaki)
https://github.com/mayoct/CCI-RPI-TempHum
2 Agenda 今⽇の開発レシピ CircleCI Runnerの基本 デモ さいごに 1 2 3
4
3 1.今⽇の開発レシピ
4 今⽇の開発レシピ 温度‧湿度計測機器 (ラズパイ実機)を クラウド(CircleCI)で 管理する 状況 Raspberry Piと各種センサを組み合わせる ことで、環境情報を取得し、クラウド側で
取りまとめるようなソフトウェアを 容易に開発することができます。 さまざまな環境(=場所)でのテストを、 各地を⾏脚して実施するのではなく、 それぞれの場所に実機を設置しておき、 クラウドからネットワーク経由でテスト、 および結果を取得することで、 システムが想定している環境に近い形で テストの実施‧検証が可能となります。
5 ⽤意するもの: 温度‧湿度をラズパイ+センサで計測 デジタル温度‧湿度センサPro 温度 -40〜80℃ 湿度 5%〜99% を測定することが可能です。 その他、必要に応じて、
ディスプレイ等。 GrovePi+ Grove互換の電⼦部品であれば、 ブレッドボードを⽤意したり、 半⽥付けを⾏うことなく、 ラズパイにGroveケーブルで 結線が可能になります。 Raspberry Pi 4 よく使われているRaspberry Pi OS(旧称 Raspbian)ではなく、 Arm64 + Ubuntu 環境で 使⽤します。
6 2.CircleCI Runnerの基本
7 CircleCI ランナーを使うと ①⾃分の⼿元の環境(Your Systems)上で CircleCIのジョブを実⾏することができる ②ローンチエージェント(root権限) がCircleCIに常に御⽤聞き →実⾏すべきジョブがあれば、 作業指⽰を受け取り
③タスクエージェント(指定ユーザ) に下請けに出す ※なので、例えばAWS上で動作し ていれば、IAMの権限割当が可能 ④ジョブ実⾏内容はクラウド側(S3) で保持されるので ⑤CircleCIの画⾯上で普通に 実⾏結果を参照可能
8 こんな疑問、持ちませんでしたか? 1. どのローンチエージェントに対するジョブ実⾏指⽰なのか、 どうやって指定するのですか?
9 こんな疑問、持ちませんでしたか? 2. CircleCIランナー、どこで実⾏させることが可能ですか? 回答 • runner.circleci.com, circleci-binary-releases.s3.amazonaws.com への アウトバウンド
HTTPS 接続が可能な場所 3. CircleCIランナー、どの環境の上で実⾏させることが可能ですか? 回答
10 Arm64 + Ubuntuと聞くと、普通は https://aws.amazon.com/jp/ec2/graviton/
11 Arm64 + Ubuntuと聞くと、私は https://ubuntu.com/download/raspberry-pi/thank-you?version=20.04.2&architecture=server-arm64+raspi https://ubuntu.com/download/raspberry-pi
12 3.デモ
13 やってみた • https://circleci.com/ja/blog/physical-computing-with-circleci-1/ • https://circleci.com/ja/blog/physical-computing-with-circleci-2/ • https://circleci.com/ja/blog/physical-computing-with-circleci-3/
14 (grove_dht_pro.py)
15 1: CircleCI
16 2: CircleCI
18 4.さいごに
19 振り返り&今後公開予定 • ランナーすげー(エージェントの設定まですれば良い意味でランナーを意識不要) • ハードウェアアクセスには適切な権限が必要(sudoグループに⼊れない!)→次スライド • ラズパイ上でコンパイルは時間の浪費(なんといってもストレージがmicroSD) Arm Executor上でのビルド記事を早く出すようにします!
20 プロジェクト設定+エージェント権限にご注意を リポジトリがpublic(だれでもフォークできる)+ Build forked pull requests(フォーク先からの プルリクもビルド実⾏する)がONになっていると、 (さらにタスクエージェントにsudo権限を与えたり すると)
セキュリティリスクにつながるので、要注意!
21
Thank you. 22