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
150
AIで進化するソフトウェアテスト:mablの最新生成AI機能でQAを加速!
mfunaki
0
220
Harness the Power of Advanced LLM and CI/CD Practices
mfunaki
0
380
CircleCI によるソフトウェア開発の品質向上と効率化の実現
mfunaki
0
270
CircleCI と Argo Rollouts で 実現する Kubernetes 上の プログレッシブデリバリー
mfunaki
0
170
はじめてのCircleCI
mfunaki
0
64
CircleCIでChatGPTにエラーの解説を頼んでみた
mfunaki
0
620
自動化→部品化すると社内開発は楽しくなる
mfunaki
0
64
テストの自動化~簡単に始める、みんなで使う、現況を捉える
mfunaki
0
68
Other Decks in Technology
See All in Technology
TLSから見るSREの未来
atpons
2
240
Sansanのデータプロダクトマネジメントのアプローチ
sansantech
PRO
0
230
american airlines®️ USA Contact Numbers: Complete 2025 Support Guide
supportflight
1
120
データ基盤からデータベースまで?広がるユースケースのDatabricksについて教えるよ!
akuwano
3
160
サイバーエージェントグループのSRE10年の歩みとAI時代の生存戦略
shotatsuge
4
830
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
2
220
20250707-AI活用の個人差を埋めるチームづくり
shnjtk
6
4.1k
[ JAWS-UG千葉支部 x 彩の国埼玉支部 ]ムダ遣い卒業!FinOpsで始めるAWSコスト最適化の第一歩
sh_fk2
2
150
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
150
助けて! XからWaylandに移行しないと新しいGNOMEが使えなくなっちゃう 2025-07-12
nobutomurata
2
140
Delegating the chores of authenticating users to Keycloak
ahus1
0
180
American airlines ®️ USA Contact Numbers: Complete 2025 Support Guide
airhelpsupport
0
390
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Docker and Python
trallard
45
3.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Applications with DynamoDB
mza
95
6.5k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Facilitating Awesome Meetings
lara
54
6.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Faster Mobile Websites
deanohume
307
31k
RailsConf 2023
tenderlove
30
1.1k
Scaling GitHub
holman
460
140k
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