Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

社内の遊休PCをAzurePipelinesでCICDに活用しよう

922 views

Published on

2019/02/21(木)に開催されたCI/CD Test Night #3 で発表したLT資料です。
https://testnight.connpass.com/event/114295/

Published in: Technology
  • Be the first to comment

社内の遊休PCをAzurePipelinesでCICDに活用しよう

  1. 1. 社内の遊休PCをAzure Pipelines でCI/CDに活用しよう 2019/2/21 CI/CD Test Night #3 なかしょ(中島進也)
  2. 2. Profile • 名前:なかしょ(中島 進也) • Twitter:@nakasho_dev • ブログ:なかしょの技術日誌 http://nakasho-dev.hatenablog.jp/ • 最近の興味 TDD、アジャイル開発、Xamarin、Chatbot、Tizen • 主な参加コミュニティ JXUG、.NETラボ、XPJUG、Teratail、TestNight XP祭り2019実行委員 ※本資料は私個人の意見であり、所属企業・部門見解を代表するもの ではありません。 2
  3. 3. Azure DevOpsの機能 3 https://azure.microsoft.com/ja-jp/services/devops/
  4. 4. ビルドテンプレートの選択 • 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 4
  5. 5. 社内にスペック高めの 遊休PCありますか?
  6. 6. 人材の流出でPCが余ることも 6 余ったPC
  7. 7. 遊休PCをCI/CDマシンに 活かしたい
  8. 8. CI/CD環境の構築例(オンプレミス) 8 Git リポジトリ Ubuntu サーバ TeamCity Server Build Agent2 Build Agent3 Mac mini TeamCity Build Agent1 iPhone Android 検証サーバ 商用サーバ CIモニタ
  9. 9. 社内環境で運用すると... • 社外からCI/CDの状況が一目で分かるようにしづらい CIサーバに外部IPアドレスを付与するとセキュリティリスクが... ステークホルダー全員にVPNを使用してもらうわけにも... Slackの通知だけだと状況が俯瞰できない。 • CIサーバを一から構築するのが面倒。 メンテナンスするのも面倒。 9
  10. 10. 自社NW Azure Azure Pipeline構成例イメージ図 10 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分まで は無料で利用可能
  11. 11. Azure Pipelinesを使用すると • Microsoft Hostedは無料だとビルド時間が有限だが、自社のPCを Agentとすることで無料で使い続けられる。 • Azure DevOpsのDashBoardやPipelinesのパイプライン表示で状 況が俯瞰できる。 • 利用ユーザはAzure Active Directoryで管理できる。 機能ごとの権限管理も可能 • CI/CD設定はAzure Pipelines上から設定できる。 GUIで設定した後はYAMLファイルになるので調整がしやすい。 自社のPC側はAzure Pipelines のAgentをインストールし、アクセストー クンを設定するだけ(じゃないときもある)。 11
  12. 12. Azure PipelinseのAgentの種類 • Windows x86 x64 • macOS • Linux x64 ARM 12 • macOSでのインストール・実行例 ~/$ mkdir myagent && cd myagent ~/myagent$ tar zxvf ~/Downloads/vsts-agent-osx-x64-2.146.0.tar.gz ~/myagent$ ./config.sh ホスト設定、アクセストークン設定を実施 ~/myagent$ ./run.sh
  13. 13. Agent 追加後はPipeline設定画面に表示 13 Privateカテゴリと して表示される。
  14. 14. 自社NW Azure Azure Pipeline構成例イメージ図 14 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 インストールしたプ ラットフォームに よってビルドできる 内容が変わる
  15. 15. Self Hostedでも無料枠の並列ジョブは1つ • 並列ジョブを増やしたければ1つあたり毎月1,680円が必要 15
  16. 16. Microsoft Hostedを使う場合 • 並列ジョブを増やしたければ1つあたり毎月4,480円が必要 16
  17. 17. Azure DevOpsの料金 17 https://azure.microsoft.com/ja-jp/pricing/details/devops/azure-devops-services/
  18. 18. まとめ • Azure DevOpsにはDevOpsを支援する様々なサービスがある • Azure Pipelinesは様々な環境に対応したテンプレートが用意 されている • 自社PCにAzure PipelinsのAgentを入れれば、無料で時間無 制限にビルド、リリースが可能。 • 遊休PCではなくAgentを入れるために新たにPCを買うぐらい ならMicrosoft Hostedを契約することも検討しては? 強いスペックのマシンでビルド時間を短縮したいという考えならあ りかも。 18
  19. 19. ご清聴ありがとうございました。 なかしょ(中島 進也) @nakasho_dev 19

×