議程與講者

讓 Jenkins 老爺爺掌舵帶領開發者航向美好新世界
企業 K8s 實例 K8s 導入實戰 CI/CD 雲端原生架構 K8s 維運 容器資安

隨著 Cloud Native 的應用越來越普及,除了為 Application、Cloud computing 帶來更好便利性、彈性、資源利用與容錯以外,也對 CI/CD 平台與 Workflow 帶來許多好處。例如從 CDF(The Continuous Delivery Foundation)畢業的老牌 CI/CD 平台 Jenkins,也已經擁抱 Cloud Native 生態圈中的各種開源專案,其開發了 Kubernetes plugins 來協助開發者動態建立 Jenkins agent 到 Kubernetes 叢集上執行,有別於以往需要建立多個 Jenkins server 或動態建立 Cloud agent,以更快速,且更好地資源利用來提供執行環境,甚至還發展出一套 Jenkins X 讓我們能夠利用 Jenkins + Kubernetes 來實現 GitOps 的 Workflow。總而言之,薑還是老的辣,老爺爺不只沒有凋零,甚至更加進化。
本議程主要分享我們團隊是如何去使用 Jenkins + Cloud Native 技術,除了上述提到的 Jenkins Kubernetes plugins 以外,還將包含以下內容:
* 如何提供更簡潔與便利的 Pipeline DSL:我們開發了一套 Jenkins shared library,幫助公司開發者更方便的使用 Docker、Helm、Image Scanner 與部署 Kubernetes(kubeadm, kind, minikube),為開發者們依據需求透過簡單的 DSL 語法來使用。
* 如何更節省環境資源成本:由於使用 Kubernetes plugins 依舊需要一個叢集存在,但如果在假日沒有大量 Jobs 需求時,該如何節省這些資源?
* 如何更安全地達到 CD workflow:許多公司會將 CD 流程放在 Jenkins Pipeline上執行,這表示 Jenkins 存在過大權限問題,那我們是如何去避免呢?

白凱仁
AMIS 帳聯網路科技 Site Reliability Engineer