SlideShare a Scribd company logo
AzureDevOpsで始める
AndroidのCI/CD
2019/3/7
Android Test Night #6
なかしょ(中島進也)
Profile
• 名前:なかしょ(中島 進也)
• Twitter:@nakasho_dev
• ブログ:なかしょの技術日誌
http://nakasho-dev.hatenablog.jp/
• 最近の興味
TDD、アジャイル開発、Xamarin、Chatbot、Tizen
• 主な参加コミュニティ
JXUG、.NETラボ、Cogbot、Teratail、TestNight
XP祭り2019実行委員
※本資料は私個人の意見であり、所属企業・部門見解を代表するもの
ではありません。
2
Azure DevOps
• 2018年9月11日に発表
• Visual Studio Team Servicesからリブランディング
• プロジェクト形式はAgile、Scrum、CMMIに対応
• Markdown方式のWikiをGitで管理
• かんばんボード、バックログ、ダッシュボード、スクラム ボード
などのシンプルな最新のアジャイル ツールを使用して業務を遂行
• 任意のプラットフォームに対してコードのビルド、テスト、デプ
ロイを行う自動パイプラインを簡単にセットアップ
• 1000を超える拡張機能がMarketplaceから提供
3
https://azure.microsoft.com/ja-jp/services/devops/
Azure DevOpsの機能
4
https://azure.microsoft.com/ja-jp/services/devops/
Azure DevOpsの料金
5
https://azure.microsoft.com/ja-jp/pricing/details/devops/azure-devops-services/
5ユーザまで無料って?
6
https://azure.microsoft.com/ja-jp/pricing/details/devops/azure-devops-services/
無料枠利用者
編集権限有 編集権限無
Visual Studio
サブスクライバー
Organization
5人まで 何人でも 何人でも
Azure DevOpsを初めて開いたとき
7
プロジェクト名と
公開・非公開の設定
を入力してプロジェ
クト作成...
Azure DevOpsを初めて開いたとき
8
プロジェクト名と
公開・非公開の設定
を入力してプロジェ
クト作成...
初めて開いたときの
画面でプロジェクト
を作成してはダメ
9
いったん別画面に行っ
てOrganizationを選択
すると
「Description」や
「Advanced」が増え
ている
10
Work Item Processは
プロジェクト作成時に
しか選択できない。
「Agile」「Basic」
「CMMI」「Scrum」
から選択する
11
https://azure.microsoft.com/ja-jp/services/devops/repos/
12
13
14
他のリポジトリからのインポート
15
1PJに複数のリポジトリが作成可能
16
ブランチ毎にも設定可能な権限管理
17
PRドリブン開発
18
Visual Studio Team Services
Plugin for IntelliJ, Android Studio
https://github.com/Microsoft/azure-devops-intellij
19
20
担当となっているWork Itemが
表示される。
右クリックでブランチを作成し
たり、該当のItemのページをブ
ラウザで開いたりできる。
Code Search
• Search across one or more projects
• Semantic ranking
• Rich filtering
• Integration with version control
21
https://marketplace.visualstudio.com/items?itemName=ms.vss-code-search
22
Azure Pipelines
23
Repositoryの選択
下記リンクをクリックすると細
かい設定が可能となる。
24
Repositoryの選択
以下から選択可能
・Azure Repos Git
・GitHub
・GitHub Enterprise
・Subversion
・Bitbucket Cloud
・External Git
25
ビルドテンプレートの選択
ビルドテンプレートの選択
• YAML
• .NET Desktop
• Android
• ASP.NET
• Azure Web App
for ASP.NET
• Docker Contaier
• Maven
• Python package
• Xcode
• Ant
• ASP.NET Core
• ASP.NET Core
with Containers
• Azure
CloudServices
• Azure
Kubernetes
Service
• Azure
ServiceFabric
• Azure Web App
for Java
• C# Function
• Go
• Gradle
• Jenkins
• Load test using
Azure IaaS
virtual machines
• Node.js With
Grunt
• Node.js With
gulp
• UWP
• Xamarin.Androi
d
• Xamarin.iOS
• Empty pipeline
26
27
Pipelineの編集
Pipeline設定
• Name
• Agent pool
Microsoft Hosted
Self Hosted
• Parameters
Gradle Wrapper
Tasks
28
Gradlew build
•Gradle
•Junit Test Results
•Code Coverage
Cobertura
JaCoCo
•Code Analysis
SonarQube or
SonarCloud
Analysis
CheckStyle
FindBugs
PMD
29
Android Signing
30
Copy File and Publish Build Artifacts
31
App Center Test and Distribute
32
Pipeline 実行結果
33
34
Release Pipelines
35
https://github.com/Microsoft/google-play-vsts-extension
36
Google Play Consoleか
ら取得したAPIKeyを設定
37
自社NW
Azure
Azure Pipeline構成例イメージ図
38
Git
リポジトリ
Linux
Azure Pipelines
Agent
Azure Pipeline
Windows
Azure Pipelines
Agent
Mac
Azure Pipelines
Agent
Linux VM
Microsoft
Hosted
Windows VM
Microsoft
Hosted
Mac
Microsoft
Hosted
自前で用意した
PCにAgentをイ
ンストール。
時間制限なし。
毎月1800分まで
は無料で利用可能
Azure DevOps で納品
39
• ソースコード
• ドキュメント
• ビルドスクリプト
• 作業ログ
• テスト結果
• ・・・
組織のOwnerを変えて納
品
Azure DevOps Features Timeline
40
https://docs.microsoft.com/en-us/azure/devops/release-notes/
Azure DevOps ミニライブ
41
https://slideship.com/users/@miyake/presentations/2019/01/BwXa8724KBiL4q5x2gq2Du/
https://crash.academy/video/706/2036
Azure DevOps Tokyo, Japan 3rd strike
42
https://jazug.connpass.com/event/116980/
まとめ
• Azure DevOpsにはDevOpsを支援する様々なサービスがある
• Azure Reposは無制限のリポジトリの他にも、開発を進める
うえでの必要な機能が揃っている。
• Azure Pipelinesは様々な環境に対応したテンプレートが用意
されている
• 顧客を巻き込むことでAzure DevOpsでの納品が可能となる。
43
ご清聴ありがとうございました。
なかしょ(中島 進也)
@nakasho_dev
44

More Related Content

PDF
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
PDF
Ansibleで始めるインフラ構築自動化
PDF
Redmine issue assign notice plugin の紹介
PDF
Redmine にいろいろ埋め込んでみた
PDF
いつやるの?Git入門
PDF
とあるメーカーのRedmine活用事例
PDF
DockerとPodmanの比較
PDF
RedmineのFAQとアンチパターン集
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
Ansibleで始めるインフラ構築自動化
Redmine issue assign notice plugin の紹介
Redmine にいろいろ埋め込んでみた
いつやるの?Git入門
とあるメーカーのRedmine活用事例
DockerとPodmanの比較
RedmineのFAQとアンチパターン集

What's hot (20)

PDF
ドメイン駆動設計 基本を理解する
PDF
View customize pluginを使いこなす
PDF
マイクロサービス 4つの分割アプローチ
PDF
CentOS Linux 8 の EOL と対応策の検討
PDF
組織にテストを書く文化を根付かせる戦略と戦術
KEY
一人でもはじめるGitでバージョン管理
PDF
NRIのプロジェクト管理ソリューションにおけるKibanaを用いたログ活用事例紹介
PDF
Kotlinアンチパターン
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
PPTX
Redisの特徴と活用方法について
PDF
nginx入門
PDF
GroongaでRedmineを高速全文検索
PDF
作る人から作りながら運用する人になっていく
PDF
継続使用と新規追加したRedmine Plugin
PDF
ニュースパスのクローラーアーキテクチャとマイクロサービス
PDF
こわくない Git
PDF
Dockerイメージの理解とコンテナのライフサイクル
PDF
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
PDF
オブジェクト指向の設計と実装の学び方のコツ
PDF
「プロジェクト管理」を超えた Redmine 活用の道のりとこれから
ドメイン駆動設計 基本を理解する
View customize pluginを使いこなす
マイクロサービス 4つの分割アプローチ
CentOS Linux 8 の EOL と対応策の検討
組織にテストを書く文化を根付かせる戦略と戦術
一人でもはじめるGitでバージョン管理
NRIのプロジェクト管理ソリューションにおけるKibanaを用いたログ活用事例紹介
Kotlinアンチパターン
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
Redisの特徴と活用方法について
nginx入門
GroongaでRedmineを高速全文検索
作る人から作りながら運用する人になっていく
継続使用と新規追加したRedmine Plugin
ニュースパスのクローラーアーキテクチャとマイクロサービス
こわくない Git
Dockerイメージの理解とコンテナのライフサイクル
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
オブジェクト指向の設計と実装の学び方のコツ
「プロジェクト管理」を超えた Redmine 活用の道のりとこれから
Ad

Similar to AzureDevOpsで始めるAndroidのCI/CD (20)

PPTX
社内の遊休PCをAzurePipelinesでCICDに活用しよう
PPTX
Azure PipelinesをサーバサイドのCI/CDに活用
PPTX
Visual Studio App Center Authの導入方法について
PPTX
Visual Studio App Centerで始めるCI/CD
PPTX
Visual Studio App Centerの始め方
PPTX
Visual Studio App CenterでGitHubのPull Requestを効率よく対応しよう
PPTX
Visual Studio App CenterにmBaaS機能が増えてきた
PDF
Visual Studio Live Shareでリモートペアプログラミング
PDF
リーンアジャイルで開発を加速しよう
PPTX
Visual Studio App CenterでGitHubのIssue発行を自動化しよう
PPTX
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
PPTX
Visual Studio App Centerでアプリ開発を加速しよう
PPTX
ペアプロするならgit-duetを使おう
PPTX
GitHub ActionsでiOSのCIを実現しよう
PPTX
CI/CD専用モニタと心理的安全性
PDF
アジャイル開発のストーリーをGherkin記法で作成
PPTX
20180621_Node学園LT
PPTX
Visual Studio App Centerで始めるCI/CD(Android)
PPTX
PlayFabとCognitiveを 連携させて健全なゲーム運営を
PPTX
Visual Studio App Centerで始めるCI/CD(iOS)
社内の遊休PCをAzurePipelinesでCICDに活用しよう
Azure PipelinesをサーバサイドのCI/CDに活用
Visual Studio App Center Authの導入方法について
Visual Studio App Centerで始めるCI/CD
Visual Studio App Centerの始め方
Visual Studio App CenterでGitHubのPull Requestを効率よく対応しよう
Visual Studio App CenterにmBaaS機能が増えてきた
Visual Studio Live Shareでリモートペアプログラミング
リーンアジャイルで開発を加速しよう
Visual Studio App CenterでGitHubのIssue発行を自動化しよう
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Visual Studio App Centerでアプリ開発を加速しよう
ペアプロするならgit-duetを使おう
GitHub ActionsでiOSのCIを実現しよう
CI/CD専用モニタと心理的安全性
アジャイル開発のストーリーをGherkin記法で作成
20180621_Node学園LT
Visual Studio App Centerで始めるCI/CD(Android)
PlayFabとCognitiveを 連携させて健全なゲーム運営を
Visual Studio App Centerで始めるCI/CD(iOS)
Ad

More from Shinya Nakajima (12)

PPTX
2画面折り畳みデバイスのアプリ開発について
PPTX
ペアワークで持続的に成長するチームになろう!
PPTX
Adaptive Cardsを使ってみた
PPTX
すごろくゲームでPlayFabの活用を検討
PPTX
PlayFabとAppCenterのユーザ情報を連携してAppCenterの機能を活用しよう
PPTX
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう
PDF
アジャイル開発を円滑に進めるVisual Studio App Center
PDF
docomo Developer Supportを活用しよう
PDF
Xamarinで地図を使おう
PDF
いつか言いたい『こんなこともあろうかと』
PDF
今こそ Microsft Bot Framework を学ぼう
PDF
Tizenの.NET対応について
2画面折り畳みデバイスのアプリ開発について
ペアワークで持続的に成長するチームになろう!
Adaptive Cardsを使ってみた
すごろくゲームでPlayFabの活用を検討
PlayFabとAppCenterのユーザ情報を連携してAppCenterの機能を活用しよう
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう
アジャイル開発を円滑に進めるVisual Studio App Center
docomo Developer Supportを活用しよう
Xamarinで地図を使おう
いつか言いたい『こんなこともあろうかと』
今こそ Microsft Bot Framework を学ぼう
Tizenの.NET対応について

AzureDevOpsで始めるAndroidのCI/CD