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
19
組み込みシステムもクラウド+ハードウェア実機でCI/CDしよう
Masahiko Funaki(舟木 将彦)
July 01, 2021
Tweet
Share
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
Playwrightとmablのパワフルな統合: 効率的なテスト自動化を実現する新機能を学ぶ!
mfunaki
0
140
AIで進化するソフトウェアテスト:mablの最新生成AI機能でQAを加速!
mfunaki
0
210
Harness the Power of Advanced LLM and CI/CD Practices
mfunaki
0
370
CircleCI によるソフトウェア開発の品質向上と効率化の実現
mfunaki
0
260
CircleCI と Argo Rollouts で 実現する Kubernetes 上の プログレッシブデリバリー
mfunaki
0
160
はじめてのCircleCI
mfunaki
0
63
CircleCIでChatGPTにエラーの解説を頼んでみた
mfunaki
0
620
自動化→部品化すると社内開発は楽しくなる
mfunaki
0
63
テストの自動化~簡単に始める、みんなで使う、現況を捉える
mfunaki
0
67
Other Decks in Technology
See All in Technology
フィンテック養成勉強会#54
finengine
0
180
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
140
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
450
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.2k
Snowflake Summit 2025 データエンジニアリング関連新機能紹介 / Snowflake Summit 2025 What's New about Data Engineering
tiltmax3
0
310
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
2
270
250627 関西Ruby会議08 前夜祭 RejectKaigi「DJ on Ruby Ver.0.1」
msykd
PRO
2
290
本が全く読めなかった過去の自分へ
genshun9
0
420
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
1.1k
Witchcraft for Memory
pocke
1
350
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
0
190
急成長を支える基盤作り〜地道な改善からコツコツと〜 #cre_meetup
stefafafan
0
120
Featured
See All Featured
Faster Mobile Websites
deanohume
307
31k
Embracing the Ebb and Flow
colly
86
4.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Statistics for Hackers
jakevdp
799
220k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
GraphQLとの向き合い方2022年版
quramy
48
14k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
How to Ace a Technical Interview
jacobian
277
23k
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