SlideShare a Scribd company logo
Continuous Integration
Using Salesforce DX
Tokyo Salesforce
Developer Group
Meetup #15
Satoru Ishikawa
2017-07-12
2
この部分の話をします
これらのモジュールの完了を前提とした内容になっています
3
4
5
6
1. 学習の目標
2. CI ってなんだろう
3. 事前準備
4. GitHub に登録し、Git をインストールする
5. GitHub からサンプルアプリを取得する
6. Travis CI へ登録する
7. Travis CI Client をインストールする
Salesforce DX をもちいた継続的インテグレーション
1. GitHub と Travis CI を利用開始する
7
• 継続的インテグレーションを導入するメリットを把握する
• Salesforce DX をもちいた継続的インテグレーションに必要なツールを把握する
Salesforce DX をもちいた継続的インテグレーション
1. GitHub と Travis CI を利用開始する
〜1.1. 学習の目的〜
• 主にプログラマーのアプリケーション作成時の品質改善や納期の短縮のため
の習慣のことである。[1]
• エクストリーム・プログラミング (XP) のプラクティスの一つで、狭義には
ビルドやテスト、インスペクションなどを継続的に実行していくことを意味
する。[1]
• 主な目的は、バグを早期に発見して対処すること、ソフトウェアの品質を高
めること、そしてソフトウェアの更新を検証してリリースするためにかかる
時間を短縮することです。[2]
Salesforce DX をもちいた継続的インテグレーション
1. GitHub と Travis CI を利用開始する
〜1.2. CIってなんだろう〜
[1] https://ja.wikipedia.org/wiki/継続的インテグレーション
[2]https://aws.amazon.com/jp/devops/continuous-integration/
Salesforce DX をもちいた継続的インテグレーション
1. GitHub と Travis CI を利用開始する
〜1.2. CIってなんだろう〜
[1] https://ja.wikipedia.org/wiki/継続的インテグレーション
[2]https://aws.amazon.com/jp/devops/continuous-integration/
10
• この単元では、継続的インテグレーションに GitHub と Travis CI を利用します
Salesforce DX をもちいた継続的インテグレーション
1. GitHub と Travis CI を利用開始する
〜1.2. CIってなんだろう〜
11
• 本単元における、継続的インテグレーションのイメージ図
Salesforce DX をもちいた継続的インテグレーション
1. GitHub と Travis CI を利用開始する
〜1.2. CIってなんだろう〜
Dev Hub
スクラッチ
組織
スクラッチ
組織
スクラッチ
組織
Salesforceアプリコード バージョン管理ソフト CIサービス
SFDX CLI経由で利用
管理
commit push hook
auth
(接続アプリ)
SFDX CLI経由で利用
DevHub組織
12
• 開発ハブに登録する
• https://developer.salesforce.com/promotions/orgs/dx-signup
• Salesfoce CLI をインストールする
• https://developer.salesforce.com/ja/tools/sfdxcli
Salesforce DX をもちいた継続的インテグレーション
1. GitHub と Travis CI を利用開始する
〜1.3. 事前準備〜
13
Salesforce DX をもちいた継続的インテグレーション
1. GitHub と Travis CI を利用開始する
〜1.3. 事前準備〜
• CLI がインストールできたら sfdx force してみると楽しいです
14
• GitHubに登録してください
• https://github.com/
• 自分のマシンにGitをインストールしてください
• https://git-scm.com/downloads
Salesforce DX をもちいた継続的インテグレーション
1. GitHub と Travis CI を利用開始する
〜1.4. GitHub に登録し、Gitをインストールする〜
15
• GitHub にある サンプルアプリ(sfdx-travisci) をforkしてください
• https://github.com/forcedotcom/sfdx-travisci
• git clone で自分のマシンのローカルにリポジトリをクローンしてください
• git clone https://github.com/<GH_username>/sfdx-travisci.git
Salesforce DX をもちいた継続的インテグレーション
1. GitHub と Travis CI を利用開始する
〜1.5. サンプルアプリの取得〜
16
Salesforce DX をもちいた継続的インテグレーション
1. GitHub と Travis CI を利用開始する
〜1.6. TravisCI に登録する〜
• この単元ではCIツールとしてTravis CIを利用します
• https://travis-ci.org/
• 「sign in with GitHub」 でサインインしましょう
• 「sfdx-travisci」をチェック状態にしましょう
17
• Ruby (1.9.3以上)が必要
• インストールしてください
• https://www.ruby-lang.org/ja/downloads/
• gem install コマンドで Travis CI Client をインストールしてください
• $ gem install travis -v 1.8.8 --no-rdoc --no-ri
Salesforce DX をもちいた継続的インテグレーション
1. GitHub と Travis CI を利用開始する
〜1.7. TravisCI Client をインストールする〜
18
Salesforce DX をもちいた継続的インテグレーション
1. GitHub と Travis CI を利用開始する
〜Challenge〜
• 継続的インテグレーションを導入するメリットは?
• Salesforce DX をもちいた継続的インテグレーションに必要なツールは?
19
1. 学習の目標
2. SalesforceDX CLI がどうやってCIの実現を容易にしているか
3. OpenSSL の準備をする
4. 自己署名証明書と秘密鍵を作成する
5. 接続アプリケーションを新規作成する
6. 接続アプリケーションのポリシーを編集する
7. 権限セットを作成する
8. JWT認証フロウを検証する
20
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
• 接続アプリケーションの目的を理解する
• X.509 証明書&鍵を作成するコマンドを把握する
21
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.1. 学習の目標〜
• SalesforceDX CLI
• アプリ/スクラッチ組織をコマンドで管理・操作できる
• 接続アプリケーション
• 第三者アプリケーションへ権限付与&システム連携できる
• Oauthポリシー
• 権限セット
• OAuth JSON Web Token (JWT) bearer flow での認証
• 接続アプリケーションとSalesforceDX CLI をもちいることで
CIサービス(SaaS)とSalesforceスクラッチ組織の連携を可能に
22
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.2. SalesforceDX CLI がどうやってCIの実現を容易にしているか
• マシンにOpenSSLがインストールされているか確認しましょう
• which openssl
• インストールされていなかったら、インストールしましょ
• brew install openssl (mac)
• apt-get install openssl (ubuntu)
• windows はこちら
http://slproweb.com/products/Win32OpenSSL.html
23
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.3. OpenSSLの準備をする〜
• 証明書用のディレクトリ作成
• pwd
• /Users/../../sfdx-travisci
• cd ..
• mkdir certificates //sfdx-travisciには含めない
• cd certificates
• 秘密鍵の生成
• openssl genrsa -des3 -passout pass:x -out server.pass.key 2048
• openssl rsa -passin pass:x -in server.pass.key -out server.key
• rm server.pass.key
• 署名要求を生成
• openssl req -new -key server.key -out server.csr
• 自己署名証明書を生成
• openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt
24
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.4. 自己署名証明書と秘密鍵を作成する〜
• まず開発ハブにログインします
• sfdx force:org:open -u DevHub
• sfdx force:auth:web:login -d -a DevHub
• sfdx force:org:list
• Connected Status が Conneted になってたらログイン状態
25
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.5. 接続アプリケーションを新規作成する〜
26
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.5. 接続アプリケーションを新規作成する〜
• 開発ハブの画面をひらき「設定」を表示します
• 「設定」から「アプリケーションマネージャ」を起動します
27
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.5. 接続アプリケーションを新規作成する〜
• 「新規接続アプリケーション」ボタンをクリックします
28
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.5. 接続アプリケーションを新規作成する〜
• 新規アプリケーション作成画面がひらきます
• 必要事項を入力し、「新規接続アプリケーション」を保存します
29
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.5. 接続アプリケーションを新規作成する〜
• 新規アプリケーション作成画面がひらきます
• 必要事項を入力し、「新規接続アプリケーション」を保存します
30
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.5. 接続アプリケーションを新規作成する〜
• 新規アプリケーション作成画面がひらきます
• 必要事項を入力し、「新規接続アプリケーション」を保存します
31
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.6. 接続アプリケーションのポリシーを編集する〜
• 接続アプリケーションの新規作成が完了しました
• つぎは手動でログインができないように、作成した接続アプリケーショ
ンのポリシーを変更しましょう
32
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.6. 接続アプリケーションのポリシーを編集する〜
• 接続アプリケーションから「sfdx_travis_ci」を選択します
• 「Manage」ボタンをクリックします
33
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.6. 接続アプリケーションのポリシーを編集する〜
• 「接続アプリケーションの詳細」が表示されます
• 「ポリシーを編集」ボタンをクリックします
34
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.6. 接続アプリケーションのポリシーを編集する〜
• 「許可されているユーザ」を「管理者が承認したユーザは事前承認済み」
• 「保存」ボタンをクリックして保存します
35
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• 最後に、権限セットを作成します。
• 作成した権限セットには、Travis CI 用に事前許可されたユーザを
割り当てます。(ここでは DevHub環境のuser)
36
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• 設定から権限セットを表示し、「新規」をクリックする。
37
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• 必要事項を入力し、「保存」をクリックする
38
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• 作成完了したら、ユーザーを割り当てます
39
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• アプリケーションマネージャをひらく
40
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• 「sfdx_travis_ci」 の「参照」をクリックします
41
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• 「manage」ボタンをクリックします
42
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• 画面下までスクロールして「権限セットの管理」ボタンをクリックします
43
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• 「sfdx_travis_ci」の「選択」にチェックをつけて「保存」します
44
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• 「権限セット」から「sfdx_travis_ci」をクリック
45
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• 「権限セット」から「割り当ての管理」をクリック
46
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• 「割り当てを追加」をクリック
47
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• DevHubユーザーを選択し「割り当て」をクリックします
48
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• 「完了」をクリック
49
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.7. 権限セットの作成〜
• 以上で権限セットの割り当てが完了しました。
50
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.8. JWT Bearer Tokenフロウを検証する〜
• JWT Bearer Token 認証で Travis CI とSalesforce が連携できる
か試験してみましょう
• 以下の情報を利用します
• 接続アプリケーションのコンシューマ鍵
• server.key の絶対パス
• 開発ハブのusername
• まず、ローカル環境変数を設定します
• export CONSUMER_KEY=<接続アプリケーションのコンシューマ鍵>
• export JWT_KEY_FILE=<ローカルにある server.key のパス>
• export HUB_USERNAME=<Dev Hub のユーザ名>
51
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.8. JWT Bearer Tokenフロウを検証する〜
• JWT Bearer Token フロウを実行する
• sfdx force:auth:jwt:grant コマンドを利用する
• Successfully authorized … と表示されればOK
52
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜2.8. JWT 認証フロウを検証する〜
53
Salesforce DX をもちいた継続的インテグレーション
2. 接続アプリケーションを作成する
〜Challenge 〜
• 接続アプリケーションを利用することでなにが可能になりますか?
• X.509 証明書の署名要求を生成するコマンドはなんですか?
54
55
Salesforce DX をもちいた継続的インテグレーション
3. つなげる
1. 学習の目標
2. シークレットを暗号化する
3. Travis CI の設定を保存する
4. ビルド内容をカスタマイズする
5. 継続的インテグレーションを開始する
56
Salesforce DX をもちいた継続的インテグレーション
3. つなげる
〜3.1. 学習の目標 〜
• Travis CI がどのようにJWT bearer Token フローを実装しているか理解する
• travis.yml ファイルの中身を理解する
• どのようにCIが実行されるか理解する
57
Salesforce DX をもちいた継続的インテグレーション
3. つなげる
〜3.2. シークレットを暗号化する 〜
以下の手順を実施します
1. ローカルの sfdx-travisci ディレクトリに移動する
2. sfdx-travisci/.travis.yml の指定の行を削除する
3. sfdx-travisci/assets/server.key.enc を削除する
4. certificates/server.key を sfdx-travisci/assets/server.key としてコピーする
5. GitHub credentials をつかって Travis CI にログインする
6. Travis コマンドをつかって sfdx-travisci/assets/server.key を暗号化する
7. 暗号化が済んだら、 sfdx-travisci/assets/server.key を削除する
58
Salesforce DX をもちいた継続的インテグレーション
3. つなげる
〜3.2. シークレットを暗号化する 〜
• sfdx-tracisci/.travis.yml の指定の行を削除します(10行目)
59
Salesforce DX をもちいた継続的インテグレーション
3. つなげる
〜3.2. シークレットを暗号化する 〜
• sfdx-tracisci/assets/server.key.enc を削除します
60
Salesforce DX をもちいた継続的インテグレーション
3. つなげる
〜3.2. シークレットを暗号化する 〜
• certificates/server.key を sfdx-travisci/assets/server.key としてコピーします
61
Salesforce DX をもちいた継続的インテグレーション
3. つなげる
〜3.2. シークレットを暗号化する 〜
• GitHub credentials をつかって Travis CI にログインします
62
Salesforce DX をもちいた継続的インテグレーション
3. つなげる
〜3.2. シークレットを暗号化する 〜
• Travis コマンドをつかって sfdx-travisci/assets/server.key を暗号化します
63
Salesforce DX をもちいた継続的インテグレーション
3. つなげる
〜3.2. シークレットを暗号化する 〜
• 暗号化が済んだら、sfdx-travisci/assets/server.key を削除する
• 商用環境では削除せず、.gitignore にいれておく運用を推奨するとのこと
64
Salesforce DX をもちいた継続的インテグレーション
3. つなげる
〜3.3. Travis CI の設定を保存する 〜
• Travis CI 環境変数に、ローカル環境変数と同じ情報をセットしましょう
• この設定により Travis CI と Dev Hub と連携できるようになります
travis env set USERNAME <your Dev Hub username>
travis env set CONSUMERKEY <connected app consumer key>
65
Salesforce DX をもちいた継続的インテグレーション
3. つなげる
〜3.4. ビルド内容をカスタマイズする〜
• サンプルアプリの travis.yml の内容を理解しましょう
• before_installセクション
• TravisCIのVMにSalesforce CLIをインストールする
• sudo: true が必要
• before_scriptセクション
• JWT Bearer Token フローを開始する
• $CONSUMERKEYと$USERNAMEが travis env でセットされていること
• travis env は travis env list で確認できます
• scriptセクション
• sfdx のコマンドを実行する
66
Salesforce DX をもちいた継続的インテグレーション
3. つなげる
〜3.5. 継続的インテグレーションを開始する〜
• 変更をコミットしてgithubにpushしたらTravis CI が実行されます。
• ビルドの様子をみてみましょう
Red Green
67
Salesforce DX をもちいた継続的インテグレーション
3. つなげる
〜Challenge 〜
• JWT bearer Token フローを実施するために、Travis CI が参照するファイルは?
• travis.yml のscriptセクションの内容は?
• Travis CI は何のイベントをきっかけに実行される?
68

More Related Content

What's hot (20)

PDF
Force.com開発基礎
Salesforce Developers Japan
 
PDF
Heroku Javaで12-Factor App
Mitch Okamoto
 
PDF
Touch Platform によるモバイルアプリケーション開発
Salesforce Developers Japan
 
PDF
App Cloud モバイルアプリ開発戦略
Salesforce Developers Japan
 
PDF
やれる Heroku - Java アプリケーション開発編
Salesforce Developers Japan
 
PDF
食わず嫌いの為のSalesforce1 Platform入門
Mitch Okamoto
 
PDF
Go Faster with Lightning : Salesforce Lightning 概要Webinar
Salesforce Developers Japan
 
PDF
はじめようLightningコンポーネント
Salesforce Developers Japan
 
PDF
Node.js開発者のためのHeroku入門
Salesforce Developers Japan
 
PDF
実践!カスタマー エクスペリエンス 向上のためのアプリ開発 後編
Salesforce Developers Japan
 
PDF
Lightning Experience 時代のフロー開発
Salesforce Developers Japan
 
PDF
Salesforce1 Platform 入門 2014 〜改めて基本から理解するforce.com〜
Salesforce Developers Japan
 
PDF
Spring16 リリース開発者向け新機能Webセミナー
Salesforce Developers Japan
 
PDF
実践!カスタマー エクスペリエンス向上のためのアプリ開発 前編
Salesforce Developers Japan
 
PPTX
初めてのWave Analyticsデータセット作成
Salesforce Developers Japan
 
PDF
Visualforceを使ってみよう
Salesforce Developers Japan
 
PDF
超初心者向けForce.com入門
Salesforce Developers Japan
 
PDF
Jp visualforce in salesforce1
Salesforce Developers Japan
 
PDF
Salesforce1モバイルアプリケーション開発概要
Salesforce Developers Japan
 
PDF
Developer Keynote
Salesforce Developers Japan
 
Force.com開発基礎
Salesforce Developers Japan
 
Heroku Javaで12-Factor App
Mitch Okamoto
 
Touch Platform によるモバイルアプリケーション開発
Salesforce Developers Japan
 
App Cloud モバイルアプリ開発戦略
Salesforce Developers Japan
 
やれる Heroku - Java アプリケーション開発編
Salesforce Developers Japan
 
食わず嫌いの為のSalesforce1 Platform入門
Mitch Okamoto
 
Go Faster with Lightning : Salesforce Lightning 概要Webinar
Salesforce Developers Japan
 
はじめようLightningコンポーネント
Salesforce Developers Japan
 
Node.js開発者のためのHeroku入門
Salesforce Developers Japan
 
実践!カスタマー エクスペリエンス 向上のためのアプリ開発 後編
Salesforce Developers Japan
 
Lightning Experience 時代のフロー開発
Salesforce Developers Japan
 
Salesforce1 Platform 入門 2014 〜改めて基本から理解するforce.com〜
Salesforce Developers Japan
 
Spring16 リリース開発者向け新機能Webセミナー
Salesforce Developers Japan
 
実践!カスタマー エクスペリエンス向上のためのアプリ開発 前編
Salesforce Developers Japan
 
初めてのWave Analyticsデータセット作成
Salesforce Developers Japan
 
Visualforceを使ってみよう
Salesforce Developers Japan
 
超初心者向けForce.com入門
Salesforce Developers Japan
 
Jp visualforce in salesforce1
Salesforce Developers Japan
 
Salesforce1モバイルアプリケーション開発概要
Salesforce Developers Japan
 
Developer Keynote
Salesforce Developers Japan
 

Similar to Continuous Integration Using Salesforce DX (20)

PDF
Developer-Controlled Packages (DCPs) を試してみた
Takahiro Kawabata
 
PDF
DevOps with Dynatrace
Harry Hiyoshi
 
PDF
[Developers Festa Sapporo 2020] Microsoft/GitHubが提供するDeveloper Cloud (Develop...
Naoki (Neo) SATO
 
PPTX
Excel on OneDrive is not a file
Takao Tetsuro
 
PDF
DevOps on Azure Kubernetes
Issei Hiraoka
 
PDF
クラウドネイティブガバナンスの実現
Minoru Naito
 
PDF
クラウドスキルチャレンジの概要と進め方 for ALGYAN
YasuhiroHanda2
 
PDF
SharePoint Framework による Viva Connections アプリの開発
Hiroaki Oikawa
 
PPTX
Azure Api Management 俺的マニュアル 2020年3月版
貴志 上坂
 
PPTX
Team Foundation Server/Visual Studio Onlineアップデート(2015/07/22)
Masanori Ishigami
 
PDF
Force.com Canvas アプリケーション
Salesforce Developers Japan
 
PPTX
Windows Phone で Active Directory 認証 2011.12.1版
junichi anno
 
PDF
Spring12新機能webinar
Salesforce Developers Japan
 
PDF
20201008 GitHub at Microsoft
Issei Hiraoka
 
PPTX
Dev Containers Customization Short version
Takao Tetsuro
 
PPTX
intra-mart Accel series 2024 Spring updates
NTTDATA INTRAMART
 
PDF
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
真吾 吉田
 
PDF
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
アトラシアン株式会社
 
PDF
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
Takashi Watanabe
 
PDF
MicrosoftのOSSへの取り組み
Shinichiro Arai
 
Developer-Controlled Packages (DCPs) を試してみた
Takahiro Kawabata
 
DevOps with Dynatrace
Harry Hiyoshi
 
[Developers Festa Sapporo 2020] Microsoft/GitHubが提供するDeveloper Cloud (Develop...
Naoki (Neo) SATO
 
Excel on OneDrive is not a file
Takao Tetsuro
 
DevOps on Azure Kubernetes
Issei Hiraoka
 
クラウドネイティブガバナンスの実現
Minoru Naito
 
クラウドスキルチャレンジの概要と進め方 for ALGYAN
YasuhiroHanda2
 
SharePoint Framework による Viva Connections アプリの開発
Hiroaki Oikawa
 
Azure Api Management 俺的マニュアル 2020年3月版
貴志 上坂
 
Team Foundation Server/Visual Studio Onlineアップデート(2015/07/22)
Masanori Ishigami
 
Force.com Canvas アプリケーション
Salesforce Developers Japan
 
Windows Phone で Active Directory 認証 2011.12.1版
junichi anno
 
Spring12新機能webinar
Salesforce Developers Japan
 
20201008 GitHub at Microsoft
Issei Hiraoka
 
Dev Containers Customization Short version
Takao Tetsuro
 
intra-mart Accel series 2024 Spring updates
NTTDATA INTRAMART
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
真吾 吉田
 
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
アトラシアン株式会社
 
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
Takashi Watanabe
 
MicrosoftのOSSへの取り組み
Shinichiro Arai
 
Ad

More from Satoru Ishikawa (6)

PPTX
自分のアプリをつくろう
Satoru Ishikawa
 
PPTX
TECHPLAY CONFERENCE 2017 - IoTオーケストレーションサービス enebular を実現する AWS の技術
Satoru Ishikawa
 
PPTX
enebular INFOMOTION デモ環境のつくりかた
Satoru Ishikawa
 
PDF
Trailheadでサクサク!新人研修
Satoru Ishikawa
 
PDF
Heroku ConnectのSIプロジェクトでの利用について
Satoru Ishikawa
 
KEY
音楽をプログラミングする -Super Collider
Satoru Ishikawa
 
自分のアプリをつくろう
Satoru Ishikawa
 
TECHPLAY CONFERENCE 2017 - IoTオーケストレーションサービス enebular を実現する AWS の技術
Satoru Ishikawa
 
enebular INFOMOTION デモ環境のつくりかた
Satoru Ishikawa
 
Trailheadでサクサク!新人研修
Satoru Ishikawa
 
Heroku ConnectのSIプロジェクトでの利用について
Satoru Ishikawa
 
音楽をプログラミングする -Super Collider
Satoru Ishikawa
 
Ad

Continuous Integration Using Salesforce DX