iT邦幫忙

2022 iThome 鐵人賽

DAY 1
0

大家好,我是 William,這三十天,我想用一個簡單的前後端分離專案,向大家演示專案從開發到部署的流程。

目標與閱讀受眾

DevOps 的精神在於讓跨團隊與不同專業職能之間能緊密合作,然而大多數人並不是全能的,很難真正深入理解每一個崗位的工作細節;因此我目標是一人分飾多角,呈現開發中每個階段發生的事件,並說明各職位是如何相互運作,讀者們可以依照自身的專業分配各章節的閱讀時間。

專案介紹與開發方式

本次會以一個名為 ColorCodeTag(CCT) 的專案為範例:

ColorCodeTag 是一個將照片即時轉換成一組色碼的 Web Project,採 Java & Angular 前後端分離開發,經 Jenkins 自動打包成 Docker image 後以容器化部署於 Linux 伺服器上,並持續整合及部署,全過程使用簡化版的敏捷開發。

https://ithelp.ithome.com.tw/upload/images/20221010/20132878BMGel1fc10.png
(流程如上)

既然是採用敏捷開發,這段期間我預期將專案分成六個單元,以 5 ± 1 天做一個 sprint 週期,每個 sprint 都需要產出一項可交付的成果,並完成 Backlog 的紀錄。

更新每次產出成果

卡卡的
(Sprint 1: Prototype 演示 - 09/22)

postman成果
(Sprint 2: 後端 postman 回應 - 09/25)

release1 版本
(Sprint 3: 前端與後端串接 - 09/28)

Demo
(SIT 內網環境使用手機測試,Container 執行,RWD 未處理 - 10/02)

webhook
(完成 webhook 觸發 Jenkins CI/CD - 10/10)

demo2
(Sprint 4: Gitflow Feature 搭配 CI/CD,並更新介面功能 - 10/13)

demoN
(Sprint 5: 部署於 Azure VM,在戶外測試,並未納入 Pipeline 內)

預計六個單元會涵蓋到的內容分別為:

  1. 需求分析與專案規劃:

    • DevOps、敏捷開法與對本專案的應用方法
    • 競品分析 & UserStory
    • Wireframe & Prototype
  2. Spring Boot 後端開發

    • Spring Boot 基礎 & Restful API 介紹
    • ColorCode Tag 專案建置
    • Postman API 測試
  3. Angular 前端開發

    • Angular 基礎與專案架構
    • ColorCode Tag 專案建置
    • 前端與後端測試
  4. DevOps 實踐

    • Gitflow 介紹
    • 再談 DevOps 與 Linux 伺服器介紹
    • Docker 簡介與前後端打包 (Dockerfile & Jib)
    • Docker Hub + Harbor 介紹
    • Jenkins
  5. Backlogs & DataBase

    • Spring Data JPA & SQL Server
    • Backlogs 處理與循環迭代
  6. 雲端部署

    • Microsoft Azure 介紹
    • Azure VM

今日總結

今天我們簡單介紹了這三十天的規劃,明天,我們一起聊聊關於這個專案的起源,以及 DevOps 的定義,同時拋出一個問題,真的一個人也能 DevOps 嗎?

備註

礙於篇幅問題,本次鐵人賽將不多說明關於安控的細節與省略部分程式碼,若文章中內容說明不足、有誤或是有疑問的部分,也請大家不吝在下方留言回應,一起達到拋磚引玉的效果。

另外本文章在完賽後會整理並發布在 GitBook 與 Medium 上,屆時歡迎大家點閱。


下一篇
Day2: DevOps 簡介與專案的誕生
系列文
一個人也能 DevOps ? 用 Angular + Spring Boot 演示專案由開發到部署30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言