$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
組み込みシステムもクラウド+ハードウェア実機でCI/CDしよう
Search
Masahiko Funaki(舟木 将彦)
July 01, 2021
Technology
0
23
組み込みシステムもクラウド+ハードウェア実機でCI/CDしよう
Masahiko Funaki(舟木 将彦)
July 01, 2021
Tweet
Share
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
mabl MCP x 生成AIによる開発・テスト自動化の未来 - コンテクスト駆動型のAI体験 -
mfunaki
1
65
テスト自動化がさらに加速!生成AIが作成・修正・分析まで行う『エージェント型テスト』の全貌
mfunaki
1
170
Playwrightとmablのパワフルな統合: 効率的なテスト自動化を実現する新機能を学ぶ!
mfunaki
1
240
AIで進化するソフトウェアテスト:mablの最新生成AI機能でQAを加速!
mfunaki
1
290
Harness the Power of Advanced LLM and CI/CD Practices
mfunaki
0
400
CircleCI によるソフトウェア開発の品質向上と効率化の実現
mfunaki
0
300
CircleCI と Argo Rollouts で 実現する Kubernetes 上の プログレッシブデリバリー
mfunaki
0
200
はじめてのCircleCI
mfunaki
0
78
CircleCIでChatGPTにエラーの解説を頼んでみた
mfunaki
0
650
Other Decks in Technology
See All in Technology
AI時代におけるアジャイル開発について
polyscape_inc
0
120
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
1
450
エンジニアリングマネージャー はじめての目標設定と評価
halkt
0
220
HIG学習用スライド
yuukiw00w
0
110
AI/MLのマルチテナント基盤を支えるコンテナ技術
pfn
PRO
5
780
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
530
Karate+Database RiderによるAPI自動テスト導入工数をCline+GitLab MCPを使って2割削減を目指す! / 20251206 Kazuki Takahashi
shift_evolve
PRO
1
330
.NET 10 のパフォーマンス改善
nenonaninu
2
4.9k
小さな判断で育つ、大きな意思決定力 / 20251204 Takahiro Kinjo
shift_evolve
PRO
1
500
Uncertainty in the LLM era - Science, more than scale
gaelvaroquaux
0
710
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
たかが特別な時間の終わり / It's Only the End of Special Time
watany
28
7.6k
Featured
See All Featured
Building Adaptive Systems
keathley
44
2.9k
Agile that works and the tools we love
rasmusluckow
331
21k
Making Projects Easy
brettharned
120
6.5k
Unsuck your backbone
ammeep
671
58k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
KATA
mclloyd
PRO
32
15k
BBQ
matthewcrist
89
9.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
69k
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