技術問答
技術文章
iT 徵才
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2023 iThome 鐵人賽
DAY
9
0
Software Development
FooTinder App - 美食餐廳 x 推薦地圖
系列 第
9
篇
Day 09, [軟體開發] 持續集成 / 交付 / 部署,Continuous Integration / Delivery / Deployment (12/03)
15th鐵人賽
Jian-Min (Vincent) Huang
2023-09-24 22:23:02
403 瀏覽
分享至
持續整合 Continuous Integration
這邊我想直接以近幾年最火熱的 GitHub Action 來做說明 (真的要幫 M家 點個讚,買 GitHub 是傑出的一手)
在任意一個 GitHub Repo 如果有以下的檔案,.github/workflows/xxx.yml
我們可以在指定的時機點 (push, pull request, issue opened, ...
根據條件觸發特定的 job
執行定義好的 step (testing, documentation, package, ...
這 idea 不能說借鏡 Travis-CI,只能說一模一樣
持續交付 Continuous Delivery
承襲上面 CI 的步驟,重點是在 step 那邊再加上一個 delivery,中文說法是過版、換版、更版等等
但其實並沒有那麼單純,之後在後面的某一天我們會再加上一些 Trunk Based Development (TBD), Feature Toggle 相關的內容
這邊只講一個重點,在打通 Delivery 之後,既然我們持續的在 Integration,也代表持續的對目標環境做更新版本的動作。所以務必遵守新功能加上去 (但不打開),而且不能破壞任何現存功能
持續部署 Continuous Deployment
小小講一點的話,上面有一句新功能加上去 (但不打開),那要打開的時候怎麼辦?
偏程式碼的做法,需要一個 Remote Config Server,Client 端要實作 Dynamic Config,在 Config Server 更新設定值之後,由 Server Push 或 Client Polling 的方式取得值然後 Hot Reload
偏 Infra 的做法,以 Web 來說直接由最外層的流量去做路由切換,做 A/B Test。舉例來說小比例的用戶會拿到不一樣的前端網頁,所以也會打到後端預先準備好的端點。Facebook 就這樣常常玩我們,不知道你有沒有感覺你用的 FB 好像跟別人的不一樣呢?
✌️ 那麼第九天到這邊囉,明天來講 -> App 上架
相關資訊
$_purefunc 純函式公司
FooTinder App站
FooTinder App 下載連結
留言
追蹤
檢舉
上一篇
Day 08, [產品開發] 急行軍的迭代 (12/02)
下一篇
Day 10, [產品開發] App 上架 (12/03)
系列文
FooTinder App - 美食餐廳 x 推薦地圖
共
30
篇
目錄
RSS系列文
訂閱系列文
16
人訂閱
26
Day 26, [產品開發] 運營之收入與推薦
27
Day 27, [軟體開發] 上雲下地入K8 (11/26)
28
Day 28, [產品開發] 定義成功 (11/26)
29
Day 29, [軟體開發] 運維成本 (11/26)
30
Day 30, 總結 (11/26)
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19844
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
iOS 裝置無法透過 IPsec VPN 連入 FortiGate,請問正確設定方式?
EPSON LQ-690C 印表機中一刀跑版
[Javascript] 非同步執行,如何延緩後面程式的處理 ??
AARQ 通訊協議是?
印表機設定 - Epson 690c
Dell or Asus Storage 或NAS,哪牌比較好?
Dell or Asus 伺服器,哪牌比較好?
將硬碟上的 EFI 分割區複製到固態硬碟後,ARM 架構的 Ubuntu Server 無法啟動
sdray vigor2927 sslvpn ip設定問題
FortiGate SSLVPN替代方案?
熱門回答
iOS 裝置無法透過 IPsec VPN 連入 FortiGate,請問正確設定方式?
EPSON LQ-690C 印表機中一刀跑版
[Javascript] 非同步執行,如何延緩後面程式的處理 ??
FortiGate SSLVPN替代方案?
印表機設定 - Epson 690c
熱門文章
DNS 可見度差距:防火牆在網路安全中忽略的錯誤設定
Vue 3 生命週期(Lifecycle) 四大階段 建立(Create)、掛載(Mount)、更新(Update)、 銷毀(Unmount)
[資料治理實戰回憶錄]0-從失敗中開始
台灣職場必學的Excel函數技巧
VScode 開發應用系統專案(8-1) - Spring Boot Security 設定與認證前置準備
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}