交付高質量的程式碼?國外軟體團隊都在用的CircleCI

《開源精選》是我們分享Github、Gitee等開源社群中優質專案的欄目,包括技術、學習、實用與各種有趣的內容。本期推薦的CircleCI是一種鼓勵開發人員儘早且經常地將其程式碼整合到共享儲存庫的分支中的實踐。

交付高質量的程式碼?國外軟體團隊都在用的CircleCI

什麼是持續整合?

我們在您工作的地方工作:Linux、macOS、Android 和 Windows - 在雲中或在您的伺服器上。CircleCI 提供企業級支援和服務,具有初創公司的靈活性。

持續整合是數字化轉型的關鍵步驟。

每個開發人員每天都致力於共享主線。每次提交都會觸發自動化測試和構建。如果這些故障,它們可以在幾分鐘內快速修復。

交付高質量的程式碼?國外軟體團隊都在用的CircleCI

CircleCI 在您的工作流程中

受支援的版本控制系統上的軟體儲存庫需要被授權並作為專案新增到circleci。com。 然後,每次程式碼更改都會在乾淨的容器或虛擬機器中觸發自動化測試。CircleCI 執行每個工作在一個單獨的容器或者虛擬機器。

CircleCI 然後在測試完成後傳送成功或失敗的電子郵件通知。CircleCI 還包括整合的Slack 和 IRC 通知。 程式碼測試覆蓋率結果可從添加了報告庫的任何專案的詳細資訊頁面獲得。

CircleCI 可以配置為將程式碼部署到各種環境,包括:

AWS 程式碼部署

AWS EC2 容器服務 (ECS)

AWS S3

谷歌 Kubernetes 引擎 (GKE)

微軟天青

Heroku

CircleCI 的好處

CircleCI 每天執行近 100 萬個工作,為 30,000 個組織提供支援。組織之所以選擇 CircleCI,是因為作業執行速度快,並且可以針對速度進行最佳化。

CircleCI 可以配置為使用複雜的高效執行非常複雜的管道快取, docker層快取,和資源類用於在更快的機器上執行。

作為使用 CircleCI 開發人員,您可以:

SSH 進入任何工作除錯您的構建問題

設定並行性在你的。circleci/config。yml檔案以更快地執行作業

配置快取使用兩個簡單的鍵來重用您以前工作中的資料工作流程

可重複使用的配置包,與第三方整合

使用預建的 Docker圖片在多種語言中

使用API檢索有關作業和工作流程的資訊

使用命令列介面在本地訪問高階工具

執行環境簡介

Docker

jobs: build: # name of your job docker: # executor type - image: cimg/base:stable # primary container will run the latest, production-ready base image auth: username: mydockerhub-user password: $DOCKERHUB_PASSWORD # context / project UI env-var reference steps: # Commands run in the primary container

Linux

jobs: build: # name of your job machine: # executor type image: ubuntu-2004:202010-01 # # recommended linux image - includes Ubuntu 20。04, docker 19。03。13, docker-compose 1。27。4 steps: # Commands run in a Linux virtual machine environment

macOS

jobs: build: # name of your job macos: # executor type xcode: 12。5。1 steps: # Commands run in a macOS virtual machine environment # with Xcode 12。5。1 installed

Windows

version: 2。1orbs: win: circleci/windows@4。1。1 # The Windows orb gives you everything you need to start using the Windows executorjobs: build: # name of your job executor: win/server-2022 # use one of the executors defined within the windows orb steps: # Commands are run in a Windows virtual machine environment - checkout - run: Write-Host ‘Hello, Windows’

專案概述

專案儀表板

交付高質量的程式碼?國外軟體團隊都在用的CircleCI

專案管理員

是將 GitHub 或 Bitbucket 儲存庫作為專案新增到 CircleCI 的使用者。使用者是組織內的個人使用者

CircleCI 使用者是可以使用使用者名稱和密碼登入 CircleCI 平臺的任何人。

檢視和導航

當新的提交被推送到您的儲存庫時,您的管道會出現在CircleCI Web 應用程式的

儀表板上。

您可以透過展開管道並單擊任何工作流或作業描述符來檢視工作流或單個作業。

檢視管道中的單個作業時,您可以使用頁面頂部的麵包屑導航回到作業的相應工作流或管道。

交付高質量的程式碼?國外軟體團隊都在用的CircleCI

示例:在 CircleCI 上配置 Python 應用程式

先決條件

一個 CircleCI 帳戶

位於受支援的 VCS(當前為 GitHub 或 Bitbucket)中的 Python 專案

配置

每個 CircleCI 專案都需要一個名為。circleci/config。yml。 按照以下步驟建立工作config。yml檔案。

指定版本

每個 CircleCI config。yml 都以版本金鑰開頭

version: 2。1

2。1是最新的 CircleCI 版本,它確保您可以訪問我們所有的最新功能和改進。

使用 Python orb

CircleCI包含一組預打包的 CircleCI 配置,可用於為 Python 程式語言執行常見的 CircleCI 任務。它支援 Linux x86_64、macOS x86_64 和 Arm64。

orbs: python: circleci/python@2。0。3

—END—

開源協議:MIT license

開源地址:https://github。com/mtchavez/circleci