Slide 1

Slide 1 text

GitHubで実践するIoT開発のDevOps 株式会社オルターブース 木村健一郎

Slide 2

Slide 2 text

自己紹介 株式会社オルターブース クラウドソリューション部 副部⾧ 木村 健一郎(Kenichiro KIMURA) 大学院在籍中に未踏ソフトウェア創造事業に 採択され、その成果を元に設立したスタート アップに20年在籍。 2014年頃からクラウドの世界に触れる中で サーバレスとIoTに魅せられ、JAWS-UG福岡 やSORACOM UG九州のコアメンバーとして コミュニティ活動を行っている。 2020年にオルターブースにジョイン。テッ クリードとしてお客様の支援やプロダクトの 開発に従事している。 家に帰ると5歳の娘と戯れる日々。 AWS Samurai2019受賞 SORACOM MVC2020受賞 Twitter: @show_m001(しょーちゃん) Copyright © Alterbooth Inc. All Rights Reserved. 2

Slide 3

Slide 3 text

Copyright © Alterbooth Inc. All Rights Reserved. 3

Slide 4

Slide 4 text

Copyright © Alterbooth Inc. All Rights Reserved. 4 株式会社オルターブース 会社名 〒812-0016 福岡市博多区博多駅南2-1-9 博多筑紫通りセンタービル8F 所在地 2015年3月19日 設立 1億472万5千円 資本金 25人(役員除く) 従業員 代表取締役 CEO 小島 淳 取締役 田中 務 取締役 嘉門 健一郎 監査役 仲田 和正 役員 西日本シティ銀行 みずほ銀行 北九州銀行 取引銀行 (1)クラウドコンピューティングを活用したシステム企画・開 発及び運営 (2)インターネット関連システムの企画・開発及び運用 (3)SaaS、ASPサービス及びIT商品の企画・開発及び運営 (4)前各号に附帯又は関連する一切の事業 事業内容 インフォコム株式会社 主要株主 日本マイクルソフト株式会社オイシックス・ラ・大地株式会社 インフォコム株式会社 株式会社博報堂DYメディアパートナー ズ EYストラテジー・アンド・コンサルティング株式会社 株式 会社エフ・ジェイエンターテイメントワークス その他 主要取引先 2023年7月1日現在 Alterbooth HISTORY 福岡県福岡市中央区にて株式会社オルターブース設立 3月 2015年 福岡県北九州市にて北九州ブランチオフィス開設 5月 2016年 Microsoft Partner Network Cloud Platform Silver Competency 取得 6月 Microsoft Innovation Award サムライインキュベート賞 受賞 3月 2017年 福岡市外提供する官民連携インキュベート施設Fukuoka Growth Nextに天神ブラン チオフィス開設 4月 Japan Microsoft Partner of the Year 2017 OSS on Azure賞 受賞 8月 Microsoft Cloud Solution Indirect Reseller認定 1月 2018年 事業会社よりシードラウンド増資を実施 2月 Microsoft Partner Network Cloud Platform Gold Competency 取得 9月 Japan Microsoft Partner of the Year 2019 特別賞 受賞 8月 2019年 複数VCよりプレシリーズAラウンド増資を実施 9月 2019年 Japan Microsoft Partner of the Year 2020 App Modernization賞 受賞 LINE Biz Partner Program コミュニケーション部門にてTechnology パートナー 認定 8月 2020年 株式会社エフ・ジェイエンターテイメントワークスと事業提携 複合型施設向けLINEモバイルオーダー FooPass を共同リリース 12月 Japan Microsoft Partner of the Year 2021 OSS on Azure賞 受賞 8月 2021年 LINE株式会社、日本マイクロソフト株式会社と小売業のDX支援を目的とした共同プロ ジェクトに参画 10月 2021年 インフォコム株式会社と資本業務提携実施、インフォコムグループに参画する 2月 2022年

Slide 5

Slide 5 text

Copyright © Alterbooth Inc. All Rights Reserved. 5 株式会社オルターブース 会社名 〒812-0016 福岡市博多区博多駅南2-1-9 博多筑紫通りセンタービル8F 所在地 2015年3月19日 設立 1億472万5千円 資本金 25人(役員除く) 従業員 代表取締役 CEO 小島 淳 取締役 田中 務 取締役 嘉門 健一郎 監査役 仲田 和正 役員 西日本シティ銀行 みずほ銀行 北九州銀行 取引銀行 (1)クラウドコンピューティングを活用したシステム企画・開 発及び運営 (2)インターネット関連システムの企画・開発及び運用 (3)SaaS、ASPサービス及びIT商品の企画・開発及び運営 (4)前各号に附帯又は関連する一切の事業 事業内容 インフォコム株式会社 主要株主 日本マイクルソフト株式会社オイシックス・ラ・大地株式会社 インフォコム株式会社 株式会社博報堂DYメディアパートナー ズ EYストラテジー・アンド・コンサルティング株式会社 株式 会社エフ・ジェイエンターテイメントワークス その他 主要取引先 2023年7月1日現在 Alterbooth HISTORY 福岡県福岡市中央区にて株式会社オルターブース設立 3月 2015年 福岡県北九州市にて北九州ブランチオフィス開設 5月 2016年 Microsoft Partner Network Cloud Platform Silver Competency 取得 6月 Microsoft Innovation Award サムライインキュベート賞 受賞 3月 2017年 福岡市外提供する官民連携インキュベート施設Fukuoka Growth Nextに天神ブラン チオフィス開設 4月 Japan Microsoft Partner of the Year 2017 OSS on Azure賞 受賞 8月 Microsoft Cloud Solution Indirect Reseller認定 1月 2018年 事業会社よりシードラウンド増資を実施 2月 Microsoft Partner Network Cloud Platform Gold Competency 取得 9月 Japan Microsoft Partner of the Year 2019 特別賞 受賞 8月 2019年 複数VCよりプレシリーズAラウンド増資を実施 9月 2019年 Japan Microsoft Partner of the Year 2020 App Modernization賞 受賞 LINE Biz Partner Program コミュニケーション部門にてTechnology パートナー 認定 8月 2020年 株式会社エフ・ジェイエンターテイメントワークスと事業提携 複合型施設向けLINEモバイルオーダー FooPass を共同リリース 12月 Japan Microsoft Partner of the Year 2021 OSS on Azure賞 受賞 8月 2021年 LINE株式会社、日本マイクロソフト株式会社と小売業のDX支援を目的とした共同プロ ジェクトに参画 10月 2021年 インフォコム株式会社と資本業務提携実施、インフォコムグループに参画する 2月 2022年 2022年 2月 インフォコム株式会社と資本業 務提携実施、インフォコムグループに参画す る

Slide 6

Slide 6 text

オルターブースの強み Copyright © Alterbooth Inc. All Rights Reserved. 7 オルターブースは創業以来一貫してクラウドに関する課題解決のご支援をしております。 特にMicrosoft AzureはMicrosoft MVPが多数在籍する当社にとっての強みとなっております。 当社の特徴はレガシーアプリケーションをクラウドへモダナイズすることです。DXを実現するために 必ず必要なもの、それはクラウドです。そのクラウドで実現できるDXを強力にサポートするのがオル ターブースです。 GitHub Services and Channel Partners LINE Technology Partner

Slide 7

Slide 7 text

• DevOpsを実践することで、より安全に、より短時間でお客様に価値を届けら れるようになります • DevOpsはハードウェアやIoTの現場でも実践可能です • 例として、SORACOM Orbitを使う開発現場で、DevOpsの重要な要素である CI/CDパイプラインを構築した事例を紹介します • GitHubカスタムアクションを作成すると、より可読性が高く、メンテナンス しやすく、再利用しやすいワークフローを作成できます • ソースコードは全て公開していますので、ぜひ他のSORACOMプラットフォームを操作する アクションも作ってみてください いきなりですが、本日のまとめです Copyright © Alterbooth Inc. All Rights Reserved. 8

Slide 8

Slide 8 text

What’s DevOps? Copyright © Alterbooth Inc. All Rights Reserved. 9

Slide 9

Slide 9 text

• Dev(開発)とOps(運用)が連 携して協力する開発手法 • DevOps は エンドユーザーに価値を継続的 に提供できるようにするための 人、プロセス、製品の集合 Copyright © Alterbooth Inc. All Rights Reserved. DevOps とは? • People. Process. Products. ” Build & Test Continuous Delivery Deploy Operate Monitor & Learn Plan & Track Develop “

Slide 10

Slide 10 text

DevOpsを成功させるための“パイプライン” Copyright © Alterbooth Inc. All Rights Reserved. 18 • 開発者がデプロイボタンを押してからサーバー側に反映されるまでの道のりを 可視化したもの • 基本的にすべて自動で進行するようにする • 自動化するためにはAPIで制御できるプラットフォームを利用する • 自動化することでデプロイに関しての制約がほぼなくなり、いつでもリリース できるようになる • いつでも必ず同じ動作をするように自動化する

Slide 11

Slide 11 text

(前略) この形式の迅速な反復と改善されたフローは、ソフトウェアまたは小規模なアプ リケーションやシステムにのみ適用されるという業界全体の誤解があります。 (中略) DevOpsから学んだ理論と実践を適用することは、複雑なサイバーフィジカルシ ステムの開発を劇的に改善する可能性を秘めています。 Industrial DevOps Applying DevOps and Continuous Delivery to Significant Cyber-Physical Systems Suzette Johnson, Harry Koehneman, Diane LaFortune, Dean Leffingwell, Stephen Magill (DevOps Enterprise Forum white paper,2018) https://myresources.itrevolution.com/id006657038/Industrial-DevOps Industrial DevOps: Applying DevOps for Hardware, Firmware, and Software Copyright © Alterbooth Inc. All Rights Reserved. 19

Slide 12

Slide 12 text

IoTの現場でのDevOps Copyright © Alterbooth Inc. All Rights Reserved. 25

Slide 13

Slide 13 text

IoTを構成する三要素 Copyright © Alterbooth Inc. All Rights Reserved. 26 センサー/デバイス “モノ” ネットワーク クラウド 現場の「モノ」や「コト」をデジタル化し、クラウドで情報を蓄積・処理して価値を生み出す

Slide 14

Slide 14 text

各要素のCI/CD Copyright © Alterbooth Inc. All Rights Reserved. 27 センサー/デバイス “モノ” ネットワーク クラウド クラウドサービスのCI/CDは多くの実例があり、ツールも充実しています 例) GitHub Actions Azure DevOps AWS CodeBuild/CodeDeploy Jenkins

Slide 15

Slide 15 text

Copyright © Alterbooth Inc. All Rights Reserved. 28 センサー/デバイス “モノ” ネットワーク クラウド エッジデバイスのプログラムのCI/CDは、近年環境が整いつつあります 例)Device Update for Azure IoT Hub AWS IoT Greengrass

Slide 16

Slide 16 text

Copyright © Alterbooth Inc. All Rights Reserved. 29 センサー/デバイス “モノ” ネットワーク クラウド SORACOMサービスを使うと、データをクラウドサービスに届ける処理の 開発・運用が非常に便利になります。 そして、何より重要なこととしてAPIで制御できるという特徴があります。

Slide 17

Slide 17 text

Copyright © Alterbooth Inc. All Rights Reserved. 30 • DevOpsの中核を担うCI/CDのパイプラインは、「自動化する」ことが重要 • 自動化のためにはAPIで制御できるプラットフォームが必要 • SORACOMプラットフォームはAPIで制御できる SORACOMプラットフォームを使うことで、 IoTのネットワーク部分も CI/CDパイプラインに含めることが可能

Slide 18

Slide 18 text

SORACOM Orbitを使った開発現場での実例 Copyright © Alterbooth Inc. All Rights Reserved. 31

Slide 19

Slide 19 text

SORACOM Orbitは、インラインプロセッサと呼ばれるサービスです。 SORACOMプラットフォーム内で、自分で定義したプログラム(soralet)を使っ て通信データの加工をすることが可能です。 SORACOM Orbitについて Copyright © Alterbooth Inc. All Rights Reserved. 32 225303202307061400 { “temperature”:22.5, “humidity”: 30.3, “datetime”: “2023-07-06 14:00” }

Slide 20

Slide 20 text

• ローカルPCまたはコンテナにセットアップされた開発環境で開発 • ビルドしたsoraletをSORACOM cliまたはポータルからSORACOMプラット フォームへアップロード • 動作検証 • soraletを利用するように本番環境(SIMグループ)を設定 SORACOM Orbitの開発・運用フロー Copyright © Alterbooth Inc. All Rights Reserved. 33

Slide 21

Slide 21 text

• ビルドやテストが手動 • ブランチにマージされたコードがテストを通ったものかが分からない • テストをしなくてもmasterブランチにコードをマージできてしまう • テスト環境/本番環境へのデプロイが手動 • デプロイ時に誤ったsoraletをアップロードしてしまう • SORACOM Orbitにはsoraletのバージョン管理機能はあるが、本番/テスト環境(SIMグルー プ)から参照するsoraletのバージョンの付け替えが手動だと、どのバージョンが正しく動い ているものかの管理が難しい この手順での問題点と起こりうる事故 Copyright © Alterbooth Inc. All Rights Reserved. 34

Slide 22

Slide 22 text

GitHub Actionsを使って以下のようなCI/CDパイプラインを構築します。 CI/CDパイプラインの構築 Copyright © Alterbooth Inc. All Rights Reserved. 35

Slide 23

Slide 23 text

このパイプラインがあることで、以下の事が保証されます。 • master/stagingブランチのソースコードは必ずテストされている • デプロイされたものは全てテストに成功している • テスト環境(本番環境)が参照しているsoraletはstaging(master)ブランチから デプロイされたものである Copyright © Alterbooth Inc. All Rights Reserved. 36

Slide 24

Slide 24 text

パイプライン概要 workflow.yml パイプラインの全体象は、こ のようになります。 Copyright © Alterbooth Inc. All Rights Reserved. 37 on: push: branches: [master,staging] jobs: build-and-test: steps: - チェックアウト - ビルド - テスト - Artifactにsoraletのバイナリをアップロード deploy: needs: build-and-test steps: - Artifactをダウンロード - soraletをアップロード - ブランチに対応するSIMグループの参照している soraletバージョンを、アップロードしたものに変更

Slide 25

Slide 25 text

パイプライン概要 workflow.yml on:で、実行の契機を指定し ます Copyright © Alterbooth Inc. All Rights Reserved. 38 on: push: branches: [master,staging] jobs: build-and-test: steps: - チェックアウト - ビルド - テスト - Artifactにsoraletのバイナリをアップロード deploy: needs: build-and-test steps: - Artifactをダウンロード - soraletをアップロード - ブランチに対応するSIMグループの参照している soraletバージョンを、アップロードしたものに変更

Slide 26

Slide 26 text

パイプライン概要 workflow.yml jobs:に実行する処理を書き ます。 ここではbuild-and-testと deployの2つのステージがあ ります。 Copyright © Alterbooth Inc. All Rights Reserved. 39 on: push: branches: [master,staging] jobs: build-and-test: steps: - チェックアウト - ビルド - テスト - Artifactにsoraletのバイナリをアップロード deploy: needs: build-and-test steps: - Artifactをダウンロード - soraletをアップロード - ブランチに対応するSIMグループの参照している soraletバージョンを、アップロードしたものに変更

Slide 27

Slide 27 text

パイプライン概要 workflow.yml on: push: branches: [master,staging] jobs: build-and-test: steps: - チェックアウト - ビルド - テスト - Artifactにsoraletのバイナリをアップロード deploy: needs: build-and-test steps: - Artifactをダウンロード - soraletをアップロード - ブランチに対応するSIMグループの参照している soraletバージョンを、アップロードしたものに変更 今回は、この部分を作ります Copyright © Alterbooth Inc. All Rights Reserved. 40

Slide 28

Slide 28 text

cliコマンドでの記述 アップロード部分のみ抜粋 steps: - Artifactをダウンロード - name: install soracom-cli run: curl –fsSL https://url-of-soracom- cli/install.sh | bash - name: upload env: AUTH_KEY: ${{ secrets.AUTH_KEY }} AUTH_KEY_ID: ${{ secrets.AUTH_KEY_ID}} SORALET_ID: ${{ env.SORALET_ID }} run: | /usr/local/bin/soracom --auth-key-id $AUTH_KEY_ID --auth-key $AUTH_KEY soralets upload --soralet-id $SORALET_ID --body @soralet-optimized.wasm GitHub Actionsのワークフ ローには、シェルで実行する コマンドをそのまま記載でき ます。 つまり、ワークフローを実行 する環境(コンテナ)に soracom cliさえインストー ルしてしまえばSORACOMプ ラットフォームの操作は何と かなります。 Copyright © Alterbooth Inc. All Rights Reserved. 41

Slide 29

Slide 29 text

cliコマンドでの記述 アップロード部分のみ抜粋 steps: - Artifactをダウンロード - name: install soracom-cli run: curl –fsSL https://url-of-soracom- cli/install.sh | bash - name: upload env: AUTH_KEY: ${{ secrets.AUTH_KEY }} AUTH_KEY_ID: ${{ secrets.AUTH_KEY_ID}} SORALET_ID: ${{ env.SORALET_ID }} run: | /usr/local/bin/soracom --auth-key-id $AUTH_KEY_ID --auth-key $AUTH_KEY soralets upload --soralet-id $SORALET_ID --body @soralet-optimized.wasm soracom cliのインストーラ をダウンロードし、実行しま す Copyright © Alterbooth Inc. All Rights Reserved. 42

Slide 30

Slide 30 text

cliコマンドでの記述 アップロード部分のみ抜粋 steps: - Artifactをダウンロード - name: install soracom-cli run: curl –fsSL https://url-of-soracom- cli/install.sh | bash - name: upload env: AUTH_KEY: ${{ secrets.AUTH_KEY }} AUTH_KEY_ID: ${{ secrets.AUTH_KEY_ID}} SORALET_ID: ${{ env.SORALET_ID }} run: | /usr/local/bin/soracom --auth-key-id $AUTH_KEY_ID --auth-key $AUTH_KEY soralets upload --soralet-id $SORALET_ID --body @soralet-optimized.wasm soracom cliの実行に必要な シークレット等を定義します Copyright © Alterbooth Inc. All Rights Reserved. 43

Slide 31

Slide 31 text

cliコマンドでの記述 アップロード部分のみ抜粋 steps: - Artifactをダウンロード - name: install soracom-cli run: curl –fsSL https://url-of-soracom- cli/install.sh | bash - name: upload env: AUTH_KEY: ${{ secrets.AUTH_KEY }} AUTH_KEY_ID: ${{ secrets.AUTH_KEY_ID}} SORALET_ID: ${{ env.SORALET_ID }} run: | /usr/local/bin/soracom --auth-key-id $AUTH_KEY_ID --auth-key $AUTH_KEY soralets upload --soralet-id $SORALET_ID --body @soralet-optimized.wasm soracom cliでsoralets uploadコマンドを実行し、 アップロードします。 Copyright © Alterbooth Inc. All Rights Reserved. 44

Slide 32

Slide 32 text

• 可読性が低い • メンテナンス性が悪い • ここに「アップロードしたsoraletバージョンが多かったら古いものを消す」という処理を 追記するのは辛い • 省略してますが、SIMグループの設定を変える部分を書くのは辛い • 再利用が困難 この問題を解決するために、2つのカスタムGitHub Actionを作成しました。 GitHub Marketplaceにも公開しています。 cliコマンドで記載することの問題点 Copyright © Alterbooth Inc. All Rights Reserved. 45

Slide 33

Slide 33 text

https://github.com/marketplace/actions/upload-soralet Upload Soralet Copyright © Alterbooth Inc. All Rights Reserved. 46

Slide 34

Slide 34 text

カスタムアクションを 利用したアップロード カスタムアクションを利用 - name: upload uses: kenichiro-kimura/action-soracom-upload- [email protected] id: upload with: soracom_auth_key: ${{ secrets.AUTH_KEY }} soracom_auth_key_id: ${{ secrets.AUTH_KEY_ID}} soracom_soralet_id: ${{ env.SORALET_ID }} soracom_soralet_filename: soralet-optimized.wasm soracom_delete_old_soralet: true 「Upload soralet」アクショ ンを使うと、アップロード部 分の記載はこのように簡潔に なります。 Copyright © Alterbooth Inc. All Rights Reserved. 47

Slide 35

Slide 35 text

カスタムアクションを 利用したアップロード カスタムアクションを利用 - name: upload uses: kenichiro-kimura/action-soracom-upload- [email protected] id: upload with: soracom_auth_key: ${{ secrets.AUTH_KEY }} soracom_auth_key_id: ${{ secrets.AUTH_KEY_ID}} soracom_soralet_id: ${{ env.SORALET_ID }} soracom_soralet_filename: soralet-optimized.wasm soracom_delete_old_soralet: true カスタムアクションを使うこ とを指定します Copyright © Alterbooth Inc. All Rights Reserved. 48

Slide 36

Slide 36 text

カスタムアクションを 利用したアップロード カスタムアクションを利用 - name: upload uses: kenichiro-kimura/action-soracom-upload- [email protected] id: upload with: soracom_auth_key: ${{ secrets.AUTH_KEY }} soracom_auth_key_id: ${{ secrets.AUTH_KEY_ID}} soracom_soralet_id: ${{ env.SORALET_ID }} soracom_soralet_filename: soralet-optimized.wasm soracom_delete_old_soralet: true カスタムアクションの動作に 必要な変数を指定します。 Copyright © Alterbooth Inc. All Rights Reserved. 49

Slide 37

Slide 37 text

https://github.com/marketplace/actions/update-soracom-orbit-configuration Update SORACOM Orbit configuration Copyright © Alterbooth Inc. All Rights Reserved. 50

Slide 38

Slide 38 text

カスタムアクションを 利用したデプロイ カスタムアクションを利用 - name: deploy production uses: kenichiro-kimura/action-soracom-configure- [email protected] if: github.ref == 'refs/heads/master' with: soracom_auth_key: ${{ secrets.AUTH_KEY }} soracom_auth_key_id: ${{ secrets.AUTH_KEY_ID}} soracom_soralet_code_srn: ${{ steps.upload.outputs.soralet_srn }} soracom_group_id: ${{ secrets.SORACOM_GROUP_ID_PROD }} 「Update SORACOM Orbit configuration」アクション を使うと、デプロイ部分の記 載はこのように簡潔になりま す。 Copyright © Alterbooth Inc. All Rights Reserved. 51

Slide 39

Slide 39 text

カスタムアクションを 利用したデプロイ - name: deploy production uses: kenichiro-kimura/action-soracom-configure- [email protected] if: github.ref == 'refs/heads/master' with: soracom_auth_key: ${{ secrets.AUTH_KEY }} soracom_auth_key_id: ${{ secrets.AUTH_KEY_ID}} soracom_soralet_code_srn: ${{ steps.upload.outputs.soralet_srn }} soracom_group_id: ${{ secrets.SORACOM_GROUP_ID_PROD }} カスタムアクションを使うこ とを指定します。 Copyright © Alterbooth Inc. All Rights Reserved. 52

Slide 40

Slide 40 text

カスタムアクションを 利用したデプロイ - name: deploy production uses: kenichiro-kimura/action-soracom-configure- [email protected] if: github.ref == 'refs/heads/master' with: soracom_auth_key: ${{ secrets.AUTH_KEY }} soracom_auth_key_id: ${{ secrets.AUTH_KEY_ID}} soracom_soralet_code_srn: ${{ steps.upload.outputs.soralet_srn }} soracom_group_id: ${{ secrets.SORACOM_GROUP_ID_PROD }} masterブランチへのプッ シュの場合は、本番環境の SIMグループを変更します。 Copyright © Alterbooth Inc. All Rights Reserved. 53

Slide 41

Slide 41 text

カスタムアクションを 利用したデプロイ カスタムアクションを利用 - name: deploy production uses: kenichiro-kimura/action-soracom-configure- [email protected] if: github.ref == 'refs/heads/master' with: soracom_auth_key: ${{ secrets.AUTH_KEY }} soracom_auth_key_id: ${{ secrets.AUTH_KEY_ID}} soracom_soralet_code_srn: ${{ steps.upload.outputs.soralet_srn }} soracom_group_id: ${{ secrets.SORACOM_GROUP_ID_PROD }} アップロードするsoraletの SRNは、先ほどの「Upload Soralet」アクションの実行 結果から取得できます。 Copyright © Alterbooth Inc. All Rights Reserved. 54

Slide 42

Slide 42 text

デモ Copyright © Alterbooth Inc. All Rights Reserved. 55

Slide 43

Slide 43 text

• DevOpsを実践することで、より安全に、より短時間でお客様に価値を届けら れるようになります • DevOpsはハードウェアやIoTの現場でも実践可能です • 例として、SORACOM Orbitを使う開発現場で、DevOpsの重要な要素である CI/CDパイプラインを構築した事例を紹介しました • GitHubカスタムアクションを作成すると、より可読性が高く、メンテナンス しやすく、再利用しやすいワークフローを作成できます • ソースコードは全て公開していますので、ぜひSORACOMプラットフォームを操作する他の アクションも作ってみてください まとめ Copyright © Alterbooth Inc. All Rights Reserved. 56

Slide 44

Slide 44 text

• DevOpsとは https://learn.microsoft.com/ja-jp/devops/what-is-devops • [ブログ]SORACOM Orbit向けGitHub Actionを作りました https://zenn.dev/showm001/articles/2023-05-22-01 • [ブログ]GitHubを活用してSORACOM Orbitの開発を加速する: CI/CD編 https://aadojo.alterbooth.com/entry/2023/04/28/110621 • GitHub Actionsを理解する https://docs.github.com/ja/actions/learn-github- actions/understanding-github-actions • カスタムアクションについて https://docs.github.com/ja/actions/creating-actions/about-custom- actions 参考URL Copyright © Alterbooth Inc. All Rights Reserved. 57

Slide 45

Slide 45 text

No content