--- title: CI/CD --- #### 1. 什麼是 CICD? CICD 是一種軟體開發方法論,包括持續集成(Continuous Integration)和持續部署(Continuous Deployment)兩個主要流程。 CI指將開發者的程式碼持續集成到共享的主幹(主要程式碼庫)中,並進行自動化測試,以確保程式碼的一致性和品質。CD指自動化地將測試通過的程式碼部署到生產環境中,實現快速、頻繁且可靠地交付更新。 --- #### 2. CICD 流程通常包括以下步驟: 程式編寫:開發者根據需求和規範編寫程式碼。 持續集成:開發者將代碼提交到共享的主幹,自動化的持續集成平台將會觸發測試、構建和部署流程。 自動化測試:包括單元測試、集成測試、功能測試等,確保程式碼的品質和功能正常。 自動化構建:將程式碼編譯、打包、製作軟體映像或容器,準備部署到各個環境。 自動化部署:將測試通過的程式碼部署到測試、預生產和生產環境中。 監控與反饋:監控部署的應用程式,收集日誌和指標,以確保應用程式的運行狀態和性能,並及時反饋給開發者。 --- #### 3. CI/CD pipeline consists of the following phases/stages  - 1. **Code:** Checked into the repository - 2. **Build:** Build is triggered and deployed in a test environment - 3. **Test:** Automated tests are executed - 4. **Deploy:** Code is deployed to stage, and production environments. #### 4. CICD 流程中常見工具 - **版本控制系統:** 如 Git, Bitbucket,用於管理和共享程式碼。 - **持續集成工具:** 如 Jenkins、CircleCI、Travis CI 等,用於自動化測試和構建。 - **容器平台:** 如 Docker、Kubernetes 等,開發者可以使用 Docker 容器將應用程式部署到不同的環境中,並確保應用程式在各個環境中運行一致性,k8s用於自動化部署、擴展和操作容器化的應用程式。 - **部署工具:** 如 Ansible、Chef、Puppet 等,用於自動化部署和配置管理。
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.