一條龍工程師無法完成的 DevOps Pipeline 體驗工作坊

如上一篇文章提到的,延續去年,今年在 DevOpsDays Taipei 2024 也規劃了一軌的 DevOps Bootcamp,其中安排了兩場體驗工作坊。 工作坊最終在經過理想與現實的交戰之後,決定由盧建成與我各自負責一場工作坊。 另外,由於 DevOps Bootcamp 整軌議程會固定使用瓶蓋工廠台北製造所 的 M 棟場地,因此預設這會是至多 160 人參與的工作坊。 主題發想 由於是「體驗」工作坊,重點在於「體驗」,因此打從一開始,我就設定工作坊的形式是不需要使用「電腦」,並且要有大量的討論與交流。 但問題是要「體驗」什麼? 在與盧建成討論之後,我希望他能繼續銜接 Biz 與 DevOps 的議題,讓新手知道 DevOps 不能少了 Biz。因此他那邊會從 BizDevOps 為出發點,思考關於團隊協作、文化、溝通有什麼適合新手體驗的主題。 而我這邊則繼續照顧最常見的新手需求之一,即是 CI/CD;畢竟談到 DevOps 時,大家最常聽見的第一句話依舊是「你們有做 CI/CD 嗎?」。因此我繼續從 DevOps 最基本的工程實踐 CI/CD 為出發,來思考有什麼適合放在新手村的體驗工作坊。 構思內容 我自己過去設計過一些 DevOps 工作坊,也講過幾場 GitLab CI/CD 實作工作坊,算是插電與不插電兩種類型的工作坊都有一些經驗。更早之前在 2017 第一屆的 DevOpsDays Taipei 時也參加過 EXIN 的鳳凰專案沙盤工作坊,以及過去也參加過幾次敏捷社群其他講師有使用大量「教具」的工作坊。 因此一直以來,我就很想要設計製作一套自己的 DevOps 教具與課程,只是遲遲未能找到合適的機會將它實現。(其實我還有另一份胎死腹中的 DevOps 教具 idea,還留在我的筆記本中。) 綜合上面各種過去經驗,以及這次 DevOps Bootcamp 新手村的主題發想,我決定在這次的「體驗工作坊」,讓新手認識 CI/CD 是一件涉及範圍可以很窄也可以很廣的一件事;它本質上是一項「變革」,根據你組織與團隊的現況,不同組織當前要處理的議題範圍是不同的。因此最後我決定,不如就讓大家一起在工作坊上,感受一條龍工程師的痛苦吧! (迷因出處:網路迷因圖) 補充:我覺得新手需要的並不是那些單一的工具細節,雖然使用哪一套 CI/CD 工具也是需要思考的議題,但那並非最重要的事。...

August 2, 2024 · Cheng Wei Chen

iThome Cloud Summit 2023 - Lab: 輕輕鬆鬆體驗 DevSecOps with GitLab

前言 延續 DevOps,DevSecOps 一詞在 IT 圈內也已經不是一個新詞,市面上有非常多的廠商都在銷售號稱與 DevSecOps 有關的產品,亦有不少來自資安圈的講師分享過 DevSecOps 的主題。就如 DevOps 一樣,DevSecOps 同樣也具備著「十個講師會有十一種 DevSecOps 的內容」的現象,但無論如何 DevSecOps 絕對是 DevOps 的其中一位後繼者,是當前企業多少會開始了解與碰觸的一項熱門議題。 在今年 2023 的 iThome Cloud Summit,我邀請了 GitLab 原廠的 Staff Solutions Architect - Toshitaka Ito,以及另一位 GitLab Hero - Mouson (墨嗓) ,一起針對 DevSecOps 這個主題,規劃了一場「輕輕鬆鬆體驗 DevSecOps」的 Hands-on Lab。 議程簡介 這次投稿的是 Hands-on Lab,以下是本次提供給主辦單位的議程簡介資訊: 延續 DevOps 風潮,其實 DevSecOps 一詞自 2012 年被人提出後,至今也超過 10 年了。DevSecOps 作為一個根源自 DevOps 而來的新詞,我們會發現它跟 DevOps 一樣有著「似乎沒有標準定義」、「不同企業的實踐方式皆不相同」的現象。 課程目標 • 認識 DevSecOps • 體驗來自 GitLab 的 DevSecOps 流程 • 實際體驗如何修復程式碼中含有的漏洞...

July 29, 2023 · Cheng Wei Chen

實驗在 GitLab Merge Request 之 CI Pipeline 中使用 CodeGPT 提供 Code review 建議

2023 年,ChatGPT 與 OpenAI 議題大熱門,全球都在探討可以將它們運用在哪些工作領域中,當然軟體開發工程師也不例外,舉凡寫程式、程式碼重構、產生 Commit messages、code review、pair programming、寫測試⋯⋯,幾乎每一個動作都有人在嘗試結合這波「AI」熱潮,希望讓這些任務能做得又快又好。 最近剛好看見台灣知名的講師與開源專案貢獻者 AppleBoy 也投身在此議題,開發了名為 CodeGPT 的工具,不僅能用它來自動生成 Commit 總結,甚至能做出 Code review 提供一些程式碼的改善建議。 按著 AppleBoy 的 CodeGPT 工具說明,我第一時間的想法即是,這樣的一個工具是不是適合放進 CI Pipeline 中呢?如果能讓隨著 Merge request (或 Pull request) 而執行的 CI Pipeline 能自動產生一份由 GPT 提供的 Code review 程式碼改善建議,這樣我們就可以自動額外獲得一份來自「非真人觀點」的 Code review 建議;即便這些「非真人的觀點」不一定正確或準確(因為 GPT 已被證實有時會一本正經的說瞎話),但它的建議依然有機會幫助真人跳脫自己固有的觀點,以不同的角度思考同一個問題。 以下我們就搶先試驗,試著將 CodeGPT 放進 GitLab Merge request CI Pipeline 吧! (本文初版撰寫於 2023.04.02,於 2023.04.04 更新。本文使用的 CodeGPT 版本為 v0.1.5,當你閱讀本文時,很可能 CodeGPT 已經改版與本文下述的操作步驟不同,還請自行關注各工具的最新異動資訊。) 操作步驟 下面我們就用一個最輕鬆的方式,來做出一個 Merge request 之 CI Pipeline,來實驗 CodeGPT。既然是最輕鬆的方式,所以我就直接在 gitlab....

April 2, 2023 · Cheng Wei Chen

iThome Cloud Summit 2022 - Lab: GitOps with GtLab and K8s

這是一篇留在草稿區很久的文章草稿,本來應該在 2022 年 7 月把它寫出來,但一拖稿,就無限延後了,趁著春節休假期間,終於有時間將它整理為一篇「堪用」的文章。 前言 感謝 iThome 的邀請,2022 年能有機會再次擔任 iThome Cloud Summit 的講師,負責一場分享一場 Hands-on Lab。 由於 2021 ~ 2022 年,個人並沒有玩太多新鮮的雲端新工具,因此最後還是決定以 GitOps 為題來準備這場 Hands-on Lab。但畢竟我在 2020 年就已經分享過一次 GitOps,總不能直接拿老東西出來分享,因此這次特別針對內容做了調整,試著將 Kubernetes(K8s)放進 Lab 的內容中。 在 2020 年時分享的 Hands-on Lab 是以 GitOps with GitLab 為題,主要是以 GitLab 的 CI/CD Pipeline,搭配 GitLab 當時仍在 beta 階段的 Terraform 相關功能,讓學員運用 GitLab Runner 透過 CI/CD Pipeline 可以彼此 Tirgger 的方式來實現 GitOps 的概念;當時還跟 AWS 合作索取了一些試用額度,讓 Lab 學員可以用 GitOps 的方式,在 AWS 建立 Ec2 並部署 Application。...

January 22, 2023 · Cheng Wei Chen

iThome 鐵人賽(2022) - 重新認識 devops

隨著這些年參與社群活動,與各方高手交流,一直以來都很想以「DevOps」本身為題,留下些文字。 但總是以最近很忙、沒時間沈澱內容為藉口,一再拖延。 今年依然是忙到炸了,於是在頭被門夾到般神智不清的狀況下,決定就讓它更忙吧! 上面是我在今年參加「iThome 鐵人賽(2022)」時,於第一篇文章 Day 0 留下的文字,就如這段文字所述,一直以來都想要以「DevOps」為題,寫一些長篇系列文或科普文,但總是以「忙碌」為藉口,最終沒能有所產出。 這麼多年過去,今年終於忍不住了,我一定要寫,讓我寫,就算是用亂聊的方式,我也一定要寫些什麼,於是就誕生了這次的鐵人 30 篇文章。 這次參賽的主題為「重新認識 devops」,在系列文標題上,我故意使用小寫的「devops」,而不是當今常見的「DevOps」,不知道是否有人知道我的用意為何?這裡就先賣個關子,如果有人知道答案,可以私下與我聯繫,如果有答對正確答案,就讓我贈送你一本《和艦長一起 30 天玩轉 GitLab》(第二版)吧!(正確答案就讓我留到公布今年鐵人賽得獎名單的那天,再更新於本文吧!) 更新:鐵人賽得獎名單已經公佈了,所以我也來公佈我為何會使用小寫的「devops」,而不是當今常見的「DevOps」。其實原因很簡單,算是想要區別 2009 年 devops 這個詞剛出現沒多久,在那一個年代還很單純的 devops,以及經過多年直到現在已經被添加了各種多方意見,甚至是大幅偏向談論技術與工具的 DevOps。不知道你是否也覺得不同年代談到 DevOps 其實談論的內容也是大不同呢?總之,故意使用 devops 與 DevOps 算是我自己一點小小的「表態」,因此你會看到在今年的鐵人賽文章中,有些地方我會故意使用 devops,但有些則特意使用 DevOps,不曉得大家是否有注意到這項差異呢?今年的鐵人賽,因為是走一個拉迪賽的路線,並沒有談到太多深入的內容,如果未來有機會及餘力,希望可以重新再來一次「重新認識 devops」,將更多想寫的內容都一一落成文字。 目前文章依然留存於「iT 邦幫忙」網站上,一樣就暫時不搬回這裡,僅以超連結的方式連結各篇文章: 系列文「重新認識 devops」的內容大致上可以分成幾個主軸。(但因為是走想到哪寫到哪的路線,所以你也可以按著 Day0 ~ Day30 的順序讀下去。) 一、這次花了很多篇幅在講古。 Day 0:起心動念 Day 1:DevOps 只是個 hashtag Day3:2009 至 2022 DevOps 議題發展趨勢(一) Day4:2009 至 2022 DevOps 議題發展趨勢(二) Day6:DevOps 講古(一) Day7:DevOps 講古(二) Day8:DevOps 講古(三) Day13:從歷史看 CI/CD Pipeline(一) Day14:從歷史看 CI/CD Pipeline(二) Day15:從歷史看 CI/CD Pipeline(三) Day16:從歷史看 CI/CD Pipeline(四) Day17:從歷史看 CI/CD Pipeline(五) Day18:從歷史看 CI/CD Pipeline(小結) 二、也談了一些 DevOps 常見的老議題...

November 26, 2022 · Cheng Wei Chen

《Accelerate》繁中版推薦

《Accelerate》中文版即將上市 有在關注 DevOps 議題的朋友,應該都有看過《鳳凰專案》這本經典的 DevOps 好書。如果你有看過《鳳凰專案》那麼你一定也知道原文書籍的出版單位 IT Revolution 這多年來早已出版除了《鳳凰專案》之外,數本與 DevOps 相關的優質書籍。 今天要推薦的好書,即是 2018 年早已出版的《Accelerate》。但這次要推薦的不是英文版,而是經過多年終於能順利出版上市的《Accelerate》繁體(正體)中文版——《ACCELERATE:精益軟體與 DevOps 背後的科學》。 如果你每年都有在關注 DORA 發表的 State of DevOps Report,那麼這本《Accelerate》鐵定是你絕對不能錯過的好書。本書的作者群依然是 IT Revolution 與 DORA 背後的那群專業顧問與研究者,但有別於 State of DevOps Report,本書更深入的為我們探索並解答——何謂 BizDevOps?價值交付?以及在這波延續多年的 DevOps 轉型熱潮中,有哪些具體可供企業參考學習的建議。 《Accelerate》繁體(正體)中文版由 DevOps Taiwan Communitry 的志工江少傑主動向出版社推薦此書,並毛遂自薦擔任譯者,本書將於 2022/01/28 由旗標科技出版上市。感謝出版社與少傑的邀請,有幸能為此書撰寫簡短的推薦序,下面就一字不刪的直接附上整篇推薦序,希望這本好書都能成為各企業 DevOps 旅途上的一份助力。 推薦序全文 DevOps——自 2009 年誕生的這個玄妙 Buzzword,已擁有超過 10 年歷史;而在華文的 IT 圈中,我們莫約是從 2013~2014 年逐漸開始看見有人在網路上公開的提到 DevOps,至今雖不到 10 年,但也已有 6 至 7 年的時間。從前述的描述看來,不論是外文或華文 IT 圈,DevOps 都已是一個擁有多年歷史的老東西,面對這樣的老東西,不知你是否與我擁有著相同的疑問——「既然 DevOps 已被提倡這麼多年了,那究竟各企業實行 DevOps 的狀況又是如何呢?」 幸運的是我們不需要自己回答這個問題,因為自 2013 年開始,每一年在網路上公開發表的 State of DevOps Report 已為我們提供了解答。從每一年的 Report 中我們可以發現,雖然各企業實行 DevOps 的方向與進展有著明顯的差異,但隨著逐步實踐 DevOps,企業不約而同的有著相同的看法——DevOps 不只是軟體開發(Dev)與維運(Ops)的技術升級,若用另一個 Buzzword 來描述它,DevOps 即是一場關乎企業全體的「數位轉型」,軟體與科技能否幫助企業持續交付價值予客戶及利害關係人,即是其中的重要關鍵。...

January 15, 2022 · Cheng Wei Chen

DevOps Taiwan Meetup #31 簡短記錄

DevOps Taiwan Community 於 2021/3/29 舉辦了實體的 Meetup #31,本文針對這次活動做個簡短的紀錄。 因為 COVID-19 疫情及缺講師的緣故,DevOps Taiwan Community 有好一陣子沒舉辦活動,陷入無法每月舉辦實體 Meetup,活動有一場沒一場的狀態。而這次能在 2021 年 3 月再次舉辦 Meetup 必須要特別感謝本次負責擔任講師的兩個單位——資策會及 F5/NGINX;感謝兩方的聯絡窗口及講師的協助,讓志工們可以在很短的時間內促成這次的 Meetup。 Meetup #31 一如往常由兩位講師上場,分別帶來不同的主題。 (本文同步發佈於 Medium。) 講題一:資策會的開源 DevOps 整合工具分享 這是由資策會數位轉型研究所的資深工程師蔡宗融帶來的分享,主要在介紹資策會目前打造出來的開源 DevOps 工具懶人包。(懶人包是我自己的評語) 講師表示當 DevOps 一詞在台灣開始普遍廣為人知時,資策會當然也不例外,在資策會內部也有追上這股 DevOps 熱潮,到底什麼是 DevOps、DevOps 能夠為我們(資策會)帶來什麼、以及我們(資策會)又可以為 DevOps 做些什麼。資策會在內部經歷了一番醞釀與努力之後,最後順利推出這套「開源 DevOps 整合工具」。 該工具目前有一個介紹官網,有興趣的朋友可以參閱上面的介紹,官網的網址為 https://www.iiidevops.org/ 演講中講師提到 DevOps 可以帶來三項好處: 加快軟體開發與交付的速度 縮短更版週期、降低更版風險 讓開發與維運團隊共同面對問題 但要如何讓團隊開始進行 DevOps 轉型呢?一個要從文化及思維層面著手,另一方面則是從工具面著手。因此如果能提供團隊一套可以快速啟用、容易上手、已經打通 Workflow 各環節所需之自動化工具的「DevOps 整合工具」,也能有助於推進團隊的 DevOps 轉型。 那麼資策會推出這套「DevOps 整合工具」已經包含了哪些工具呢? 講師表示目前已經整合了 Redmine、GitLab、Sonarqube、Rancher、Kubernetes⋯⋯等多項工具,可以說下面這張常見的 DevOps 循環的左半邊 plan、code、build、test 的工具已經整合的差不多了。2021 的下半年,他們會繼續加強右半邊的工具整合。...

May 1, 2021 · Cheng Wei Chen