iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
DevOps

現代化應用程式開發與維運 - GitHub Codespace 與 GitHub Copilot系列 第 27

GitHub Copilot 使用案例: 產生 dockerfile 、CI/CD YAML 檔案,與分析 GitHub Action 錯誤

  • 分享至 

  • xImage
  •  

前言

一般來說,多數人刻板印象會覺得 GitHub Copilot 只能詢問技術問題與協助程式開發,但實際上,它也能協助容器化、 Pipeline 撰寫與分析 GitHub Action 錯誤…等 CI/CD 流程。除此之外,過往到企業教授 Docker 與 Azure DevOps 時經常被詢問如何學習撰寫 Dockerfile、docker compose、Pipeline 等檔案,現在技術人員多了一個學習管道:詢問 GitHub Copilt!

 
 
 

產生 Dockerfile

開發人員可以透過 @workspace 聊天成員 (指參考目前專案) 請 GitHub Copilot 產生 Dockerfile。理所當然,這一個範本,讓使用者不需要從頭撰寫,但仍需要視情況進行調整以符合專案需求。

https://ithelp.ithome.com.tw/upload/images/20241011/20091494fTBo4Gke9Z.png

 
 
 

產生 Azure DevOps Pipeline

Azure DevOps Pipeline 會預設以 pipeline.yaml 儲存在 Repository 根目錄,並在 Azure pipeline 編輯介面預設存取此檔案。雖然 Azure DevOps 皆有提供多種範本讓 IT 人員使用,但對於新手而言仍有一些進入門檻。

如果開發人員對自己的使用的語言與建置工具不熟悉的話,要建構符合需求的 Pipeline 是不容易的

相對於 Azure DevOps 預設提供的範本,現在透過 GitHub Copilot,更能因應目前專案內容建議合適的 pipeline。對於新手來說,又多一個友善且能參考的建議。

https://ithelp.ithome.com.tw/upload/images/20241011/20091494KN8iTS28Bw.png

 
 
 

產生 GitHub Action YAML 檔案

GitHub 的 CI/CD Pipeline 即是 GitHub Action。預設會產生 yml 檔案在 .github/workflows 資料夾底下。GitHub Action 具有更豐富的範本可以使用,但您仍可以透過 GitHub Copilot 為現有專案產生出較為符合的 CI/CD/Workflow yml 檔案

https://ithelp.ithome.com.tw/upload/images/20241011/200914946EYbxGtqYJ.png

 
 
 

分析 GitHub Action 錯誤

現在在執行 GitHub Action workflow/CI/CD 過程時發生錯誤,也能請 GitHub Copilot 先執行錯誤分析並提供建議。過去個人曾遇過相當多的 IT 人員對於 CI/CD 錯誤相當排斥,不太願意去檢視其錯誤訊息或進行流程改善,經常跨多個單位最後才排除相關問題。現在 IT 人員有新的選擇,在報案前先問問 GitHub Copilot,釐清問題後,或許可以直接迎刃而解,避免耗時費日的等待其他人協助。`

https://ithelp.ithome.com.tw/upload/images/20241011/200914942xMA1cozaM.png

 
 
 

後記

本篇文章介紹了許多個人覺得實用的功能,讓新手在產生相關 docker、CI、CD 描述檔案或面對 CI/CD 流程時幫助甚大。但使用者永遠需要注意一件事情,即是 AI 可能會給予錯誤的建議 (俗稱一本正經講幹話) - GitHub Copilot 是副駕駛,而使用者才是正駕駛 (Review 與實作的人)


上一篇
GitHub Copilot 使用案例:產生文件
下一篇
GitHub Copilot 使用案例: Commit Message, Pull Request Summary, 與 Code Review
系列文
現代化應用程式開發與維運 - GitHub Codespace 與 GitHub Copilot30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言