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
jfrog-artifactory-introduction
Search
Takaaki FURUKAWA
February 21, 2019
Technology
570
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
jfrog-artifactory-introduction
Takaaki FURUKAWA
February 21, 2019
More Decks by Takaaki FURUKAWA
See All by Takaaki FURUKAWA
hashitalks-japan-provisioning-by-terraform-at-rakuten
tkak
0
760
rakuten-iac-provisioning-automation.pdf
tkak
1
620
はじめての英語プレゼン #6 LT - My first step of HashiCorp Nomad
tkak
1
200
Terraform Tips
tkak
1
8.7k
Start Go with Terraform
tkak
0
580
Road to "Infrastructure as Code" in Rakuten
tkak
1
1.1k
Other Decks in Technology
See All in Technology
EUDIWの枠組みを出発点に民間エコシステムの在り方を考える(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
420
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
130
The Django UUID Story - DjangoCon US 2026
pauloxnet
0
350
「ミスを許さない手順書」を作ってみた 〜 個人的にはこれ以上できることはあまりなさそう/20260827-ssmjp-operation-procedure-update
opelab
17
17k
AI × Datadog MCP でコスト削減まで実現した Metric Streams の導入
three_mouth_ago
0
130
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
180
1000⼈規模のClaude Enterprise運⽤を「Oktaのグループ」と「Slack」に集約する
sansantech
PRO
1
550
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
54k
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
150
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
180
Microsoft MVP プログラムを紹介するから目指す人増えてくれ
tsubakimoto_s
0
160
AI時代の「OAuth認証」にどう物申すか?(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
410
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
57k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Mobile First: as difficult as doing things right
swwweet
225
10k
Exploring anti-patterns in Rails
aemeredith
3
480
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
680
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Transcript
JFrog Artifactory 導⼊事例紹介 第2回 GitHub Enterprise ユーザ会 Feb 21, 2019
Takaaki Furukawa Rakuten, Inc.
古川貴朗 Takaaki Furukawa / @tkak 1985年福島県⽣まれ。2010年に楽天株式会社に新卒⼊社。サーバ エンジニアとしてサーバの構築・運⽤に携わり、ChefやTerraform などのツール導⼊、 インフラの運⽤改善、テクニカルサポートを 経験。現在はECスタートアップ系サービスのインフラ運⽤を⾏い
ながら、社内にInfrastructure as Codeを広めている。 ⾃⼰紹介
3 ⽬次 • Artifact Registryとは • 導⼊経緯 • 導⼊してから •
今後について
4 Artifact Registryとは
5 Artifact Registryとは CI ツール Artifact Registry 変更のコミット ビルドの開始 依存パッケージの取得
成果物とビルド情報 の公開 https://github.com/
6 Artifact Registryとは CI ツール Artifact Registry 変更のコミット ビルドの開始 依存パッケージの取得
成果物とビルド情報 の公開 https://github.com/ Artifact Registry ソフトウェア開発の成果物を格納しておく場所 CI/CDプロセスの中でなくてはならない存在
7 なぜArtifact Registryが必要なのか? 依存管理 依存関係のあるアーティファクトを静的に扱うことが可能に ビルドの再現性が保証されるので「私の端末では動くのに」症候群を防ぐ
8 なぜArtifact Registryが必要なのか? 依存管理 依存関係のあるアーティファクトを静的に扱うことが可能に ビルドの再現性が保証されるので「私の端末では動くのに」症候群を防ぐ セキュリティやコンプライアンス 誰がいつプッシュしたのかなどの活動履歴を保存 認証と認可の仕組み
9 導⼊経緯
10 開発グループ A 開発グループ B 開発グループ C 開発グループ D 開発グループ
E 運⽤グループ A 運⽤グループ B 運⽤グループ C インフラ基盤グループ 開発組織体系
11 Artifactory導⼊以前 • サーバ管理者向けのプライベートリポジトリを管理(私のチーム) • Yum (mirror repository / 社内で作っているRPMパッケージ配布⽤)
• OS ISO files • RubyGems • Vagrant Box Images • Tarball • …
12 Artifactory導⼊以前 • 各アプリ開発チームでは、それぞれアーティファクトリポジトリを管理 • Nexus • JFrog Artifactory •
Jenkins • NFSに⽇付付きのファイル (?) • Gitにコミット (?) • …
13 抱えていた課題 • ⼈やサーバの運⽤コスト • パッケージタイプごとにリポジトリを管理するつらみ • 各チームでサーバを⽴ててリポジトリを運⽤するのは組織的にみて無駄 • セキュリティ
• 野良リポジトリは、認証・認可の仕組みや履歴管理などがなかったりする
14 ある⽇、 開発チームからJFrog Artifactoryの運⽤を 引き継いで欲しいという相談が…
15 JFrog Artifactoryとは • Artifact Registryとしてデファクトスタンダード • サポートするパッケージタイプが豊富 • オンプレもパブリッククラウドもサポート
• プライシングがユーザ単位ではなく製品単位 • ⼀番安いもので $2,940 / year
16 Artifactory導⼊にあたって • そもそもJFrog Artifactoryでいいのか?他に選択肢はないのか? • Nexus • 上⻑への提案資料を作成 •
運⽤を引き継ぐことの動機の整理 • 集約化することのメリット • 競合製品との⽐較 • コストのシミュレーション • 提供するターゲットユーザ • スケジュール • アーキテクチャ設計 • …
17 まずは⼩さく始める • 開発全体に公開する前に試しに使ってみてくれる⼈を探す • アプリ開発チームの同期 • フィードバックをもらってルールを決める • リポジトリの命名ルール
• <team>-<technology>-<maturity>-<locator> • 例: infra-mvn-release-local • Botアカウントのポリシー https://jfrog.com/whitepaper/best-practices-structuring-naming-artifactory-repositories/
18 導⼊してから
19 Artifactoryを導⼊してよかったこと • アーティファクト管理を⼀元化できた • Maven, Docker, Generic, NPM, RubyGems,
RPM, PHP, Vagrant, etc • 外部リポジトリのミラーとして使える • 社内プロキシ問題を軽減 • 組織を越えたコラボレーション • 例: チームA開発してるライブラリをチーム Bが利⽤する https://jfrog.com/blog/fully-reproducible-builds-with-circleci-and-artifactory/
20 ユーザサポート • 個別チャットを極⼒避ける • オープンなユーザコミュニティ⽤のチャットルームを作る • ⾃分が忙しくて返事できない時でも誰かが返信してくれる • Nexusからのマイグレーションサポート
• JFrogから提供されているNexusToArtifactory.pyというマイグレーションツール • 事前に本番環境の同等のテスト環境を⽤意し、トラフィック量などの負荷を確認
21 ⽇々の運⽤で困ったこと • 順調にユーザが増えてリポジトリ作成の依頼が頻繁に来るように • 最初はGUIで作業していたが、何度も同じ作業をするのが⾟い…
22 Policy as Code Artifactoryのユーザ、グループ、レポジトリなど ポリシーをコードで管理。
23 https://github.com/hashicorp/terraform Policy as Code with GitOps https://github.com/atlassian/terraform-provider-artifactory https://circleci.com/
24 GitOps Pipeline 変更のコミット ビルドの開始 terraform plan で事前に確認 レビュー&承認 ビルドの開始
terraform apply で設定内容を反映 Users Admin 結果をGitHubに通知 (tfnotify) https://github.com/ https://github.com/mercari/tfnotify https://circleci.com/
25 今後について
26 DevSecOps • CI/CDにセキュリティの視点を⼊れたい • X-Rayの導⼊ • より早くフィードバックループを回す • 安⼼・安全なソフトウェア開発
27 Harborとの住み分け • Docker RegistryはHarborに移⾏を検討 • Harborはオープンソースのコンテナレジストリ • Cloud Native
Computing Foundation (CNCF)のプロジェクト https://goharbor.io/
• 弊社でのJFrog Artifactory導⼊事例紹介 • バラバラだったアーティファクトレジストリを⼀元化 • 組織を越えたコラボレーションがしやすくなった • ⼈やサーバリソースのコスト削減につながった •
Terraform/GitHub/CircleCIを使ってポリシー管理を⾃動化 • 今後はDevSecOpsを進めていきたい • CI/CDのプロセスの中にセキュリティスキャンを導⼊ まとめ
Thank you.
None