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
ポートフォリオページの公開にGitLab CI/CDを使っている話
Search
skokado
February 12, 2020
How-to & DIY
4
2.1k
ポートフォリオページの公開にGitLab CI/CDを使っている話
#GitLab #CI/CD
skokado
February 12, 2020
Tweet
Share
More Decks by skokado
See All by skokado
"String intern" を知ってますか?
skokado
0
210
Other Decks in How-to & DIY
See All in How-to & DIY
MustをWillに変える技術 〜アイドル・郁田はるきが"すべき"の壁を超えるまで〜
subroh0508
1
1.7k
生成AIは 『コードを書く』だけじゃない アーキテクチャ設計から環境構築まで——社内データ活用DXの全貌
punipuni_mint
0
110
雑にコミュニティを続けてもいいと思っている/Feel free to continue the community
camel_404
0
360
The Definitive? Guide To Locally Organizing RubyKaigi
sylph01
9
2.6k
いしかわ暮らしセミナー~知って安心!移住とお金講座~
matyuda
0
150
評価のギャップから紐解く、「評価軸」と「ソフトスキル」の重要性
blajir
2
140
登壇資料を素早く作るための順番
kotomin_m
7
1.7k
「変えること」「変わること」を楽しむ力で"敵わない存在"と向き合う
subroh0508
2
1.5k
HCIのデモに役立つ映像活用アイデア集 #WISS2024 ナイトセッション #HCIVideoCulture
bonsaistudiojp
2
1.1k
おっきなガジェットの回線事情
2bo
1
190
サイボウズには100名以上の社員が出演する"夏フェス"があるって本当?
oguemon
1
640
バッドプラクティスから学ぶハワイアン航空で行く re:Invent
kentosuzuki
0
480
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
141
7.4k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Become a Pro
speakerdeck
PRO
31
5.8k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
52k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
560
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
130
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
130
30 Presentation Tips
portentint
PRO
1
250
Amusing Abliteration
ianozsvald
0
140
Evolving SEO for Evolving Search Engines
ryanjones
0
160
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
240
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Transcript
ポートフォリオページの公開にGitLab CI/CDを使っている話 2020/02/12 @明日から始めるGitLab CI/CD はじめの一歩 Shota Kokado
自己紹介 • 略歴 ◦ インフラエンジニア(オンプレ): 5年 ◦ クラウド、Python:1年 • Interest
◦ 開発手法全般(テストとかクラス設計とか開発プロセスとか) ◦ データ活用 / 分析関連の技術 ◦ 動物全般(特に小鳥) ◦ 飼育中: ▪ 文鳥 × 1 ▪ インコ × 3 Name : Shota Kokado @_skokado
本日は 私のポートフォリオサイト作成についてお話します
GitHub Pagesで作っていたあの頃
1. GitHub上にリポジトリを作る([username].github.io) 2. テンプレートを適用したコンテンツ(.md など)を編集してcommit 3. https://[username].github.io 上にウェブサイトが自動デプロイされる GitHub Pagesで作っていたあの頃
GitHub Pagesで作っていたあの頃 https://skokado.github.io/
• commitしないとサイトの出来映えが確認できなかった (≒本番環境のみ)。 ※最低限の見栄えは整えたかった GitHub Pagesで作っていたあの頃
• GitHub Pagesはjekyll という静的サイトジェネレータエンジン • jekyll はRuby製 GitHub Pagesで作っていたあの頃
自前で作ってみたい GitHub Pagesで作っていたあの頃
• 「CI/CD パイプライン」を使ってみたかった ◦ GitLab CI/CD の経験あり +α • Python製の静的サイトジェネレータを使う
• Amazon CloudFront( + S3)を使う GitHub Pagesで作っていたあの頃
Agenda 1. GitHub Pages で作っていたあの頃 2. GitLab CI/CD に乗り換えた話 3.
まとめ
• 静的サイトジェネレータ ◦ Pelican • ソースリポジトリ ◦ GitLab.com • ビルド、デプロイ
◦ GitLab CI/CD • ホスティング ◦ Amazon S3 ◦ AmazonCloudFront AWS Cloud STG Amazon S3 Amazon CloudFront 本番 Amazon S3 Amazon CloudFront Local(dev) GitLab CI/CDに乗り換えた話
• 静的サイトジェネレータ:Pelican (Python製) • ソースリポジトリ: GitLab.com • ビルド、デプロイ: GitLab CI/CD
• ホスティング: Amazon S3、CloudFront AWS Cloud STG Amazon S3 Amazon CloudFront 本番 Amazon S3 Amazon CloudFront Local(dev) GitLab CI/CDに乗り換えた話
1. (dev): MarkDownファイルを編集してローカルサーバで確認 ◦ make html ◦ pelican --listen 2.
(stg): stg ブランチにcommit -> ビルド(html生成)、STG用S3にPUT 3. (prd): master ブランチにmerge -> S3 sync(STG用S3⇒本番用S3) GitLab CI/CDに乗り換えた話 凡例: GitLab CI/CDタスク
GitLab CI/CDに乗り換えた話 ①Local AWS Cloud STG Amazon S3 Amazon CloudFront
本番 Amazon S3 Amazon CloudFront ②commit(stg) ③HTML生成 &S3PUT
GitLab CI/CDに乗り換えた話 AWS Cloud STG Amazon S3 Amazon CloudFront 本番
Amazon S3 Amazon CloudFront ④masterブランチ にマージ ⑤sync
GitLab CI/CDに乗り換えた話
Agenda 1. GitHub Pages で作っていたあの頃 2. GitLab CI/CD に乗り換えた話 3.
まとめ
まとめ • クラウドサービスを使った静的サイトの構築とCI/CDパイ プラインツールの相性は◎ ◦ ビルド、デプロイ ◦ ブランチ毎にジョブ切り替え • 他のツールでも実現可能
◦ Circle CI / Travis CI ◦ GitHub Actions
おまけ 「CI/CD」が指す対象は組織やプロダクト毎にまちまち ◦ テスト ◦ ビルド ◦ デプロイなど • 「CI/CDなにそれ?」なチームはどんなアプローチが良い
か
おまけ 「CI/CD」が指す対象は組織やプロダクト毎にまちまち ◦ テスト ◦ ビルド ◦ デプロイなど • 「CI/CDなにそれ?」なチームはどんなアプローチが良い
か ◦ … CI/CDにおけるHello World ?