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

From DevOps to GitOps with GitLab

感謝 iThome 的邀請,有幸能擔任 iThome Cloud Edge Summit 2020 的講師,負責一場演講及大會稱之為「雲端體驗營」的其中一場 Lab。 這次準備的主題是目前正熱門的 GitOps。 (本文同步發表於 Medium) 時間非常巧的,在大會舉辦的前些日子,正好有其他厲害的講師(邱牛)於 Cloud Native Taiwan 社群分享相同的主題,因此最後決定改變演講內容,嘗試用不同的角度來切入分享 GitOps。 因此這次演講與 Lab 的關鍵字雖然是 GitOps,但比起如何在 K8S 上實踐 GitOps 及相關的技術實作細節,我想要分享的內容是: 實踐 GitOps 一定要透過 K8S 嗎? 除了技術層面上帶來的優點之外,GitOps 還帶來哪些好處? 另外,由於在上半年期間都沒有在社群中分享 GitLab 的相關演講,覺得有愧於 GitLab Hero 的身份,最終演講題目定為《From DevOps to GitOps with GitLab》,而 Lab 的題目則是《GitOps with GitLab》。借這次大會分享 GitLab 公司及我個人對於 GitOps 的一些看法。 已經有研究過 GitOps 的人應該都知道,GitOps 一詞來自於 Kubernetes(K8S)及 Cloud Native 社群,甚至可以說是來自於 WEAVEWORKS。因此早先關於 GitOps 的看法,幾乎都是來自於此。 不過與 DevOps 的狀況類似,當有一個新詞開始熱門時,各雲端服務供應商可是不會放過這股潮流趨勢,GitLab 公司當然也不落人後。目前在 GitLab 官網上已經提供了 GitOps 的相關內容。而且資料是越來越多,目前看來 GitLab 有計畫要將 GitOps 作為市場的切入點,從我開始準備題目,直到實際演講的這幾個月內,GitLab 官網就默默的新增許多值得參考的內容。...

September 15, 2020 · Cheng Wei Chen