flow.ci + Github + Slack 一步步搭建 Python 自動化持續整合
理想的程式設計師必須懶惰,永遠追隨自動化法則。Automating shapes smarter future.
在一個 Python 專案的開發過程中可能會做的事情:編譯、手動或自動化測試、部署環境配置等。這些操作是重複而枯燥的,如果是人工來一項一項做,會浪費大量時間,需要有一個高效的工具來幫我們完成。
這篇文章中我們用可執行的步驟告訴大家,如何用 flow.ci 從 GitHub 到 Slack 搭建簡單的 Python 自動化持續整合。
瞭解 flow.ci
flow.ci 是融入了 workflow 機制的持續整合(CI)服務,也可以理解為自動化流程平臺,除了整合程式碼、編譯、測試之外,還可以整合常用的工具、靈活自定義流程。1 分鐘即可完成開發測試環境搭建,開啟第一個 Build。
在 flow.ci,我們把專案的開發工作流稱為 flow ,每個 flow 由觸發器和外掛構成。系統根據不同的語言和環境提供對應的 flow 模版,觸發器和外掛。Flow 的自定義非常簡單,只需要 One-Click 即可新增你需要的外掛。它可能是一個程式碼靜態分析檢測工具(比如 Eslint),可能是一個資料庫(比如 Mysql/MongoDB/Redis),也可能是一個訊息通知外掛(比如 郵件/Slack)等。
更專注於程式碼,其他的瑣事交給 flow.ci 自動化完成吧 :)
一步步搭建 Python 自動化持續整合
首先,開始建立專案:
1.建立專案
2.關聯程式碼倉庫
3.選擇要整合的專案
4.開始你的第一個 Flow
5.選擇專案語言
選擇專案語言 Python ,可以看到預設的 flow 模板 ,包括 Intialize - MySQL Database - Git Clone - Cache - Install - Test 的流程。
6.選擇語言版本,單擊建立專案
選擇專案語言的版本,除了 Python 外,flow.ci 提供 Node.js , Ruby , PHP , Java for Android 的多語言、多版本的開發測試環境。
後續會支援更多語言。
7.點選“+”新增外掛,自定義 flow
在環境和語言等初始配置完成後,flow.ci 會提供一套 基本 flow 模版,內含通用流程外掛和流程觸發設定。如果你有定製化的需求,點選圖中“+”或者“刪除”“編輯”,實時設定就可以。
8.在外掛列表中搜尋 Slack 外掛,並進行設定
到這裡,點選 slack notification 外掛,輸入 Slack Webhook 地址,就可以實時接收上線的任何訊息通知。除了 Slack 等團隊溝通外掛,你還可以自由新增更多的外掛。
9.Bingo!你的 Flow 已準備就緒。現在,提交程式碼開始 Build。
實現這套自動化流程之後,只需要開發新功能,提交程式碼即可。圖為跑完整個持續整合流程,健康的專案狀態。
繁瑣可循的任務就應該工具化自動化,這是程式設計師們的不懈追求。如果你也想快速搭建 Python 專案的自動化持續整合,來 http://flow.ci 首頁提交申請,邀請碼隨後會傳送到郵箱。
期待你的反饋。
Happy Building!
flow.ci team
相關文章
- 基於 flow.ci 實現 PHP 專案自動化持續整合PHP
- 使用 flow.ci 實現 Android 自動化測試與持續整合Android
- 微服務下的持續整合-Jenkins自動化部署GitHub專案微服務JenkinsGithub
- 自動化專案Jenkins持續整合Jenkins
- jenkins介面、UI自動化持續整合JenkinsUI
- iOS 持續整合系列 - 自動化 Code ReviewiOSView
- iOS 持續整合系列 – 自動化 Code ReviewiOSView
- 3 分鐘輕鬆搭建 Ruby 專案自動化持續整合
- 持續整合(CI)、自動化構建和自動化測試--初探 .
- 8 步搭建 Node.js+MongoDB 專案的自動化持續整合Node.jsMongoDB
- Jenkins+Python自動化測試持續整合詳細教程JenkinsPython
- Jenkins+Svn+Docker搭建持續整合環境 自動部署JenkinsDocker
- vuepress與travis-cli持續整合自動化部署Vue
- 思考如何將自動化測試加入持續整合中
- 持續整合指南:GitHubAction 自動構建+部署AspNetCore專案GithubNetCore
- Jenkins+Maven+Git搭建持續整合和自動化部署的配置手記(1)JenkinsMavenGit
- 《轉載》Jenkins持續整合-自動化部署指令碼的實現《python》Jenkins指令碼Python
- Gitlab Runner實現NetCore自動化持續整合GitlabNetCore
- 新一代 CI 持續整合工具 flow.ci 正式開源
- 前端er,Jenkins持續化整合環境搭建前端Jenkins
- [譯] 自動化持續整合/持續分發,以節省更多時間編寫程式碼
- iOS 持續整合方案,傻瓜式一鍵全自動化打包、上傳!—— PythoniOSPython
- GitHub Actions + Docker 持續整合工作流GithubDocker
- 新夢想幹貨分享——持續整合的自動化測試
- 用 Travis CI 打造大前端持續整合和自動化部署前端
- 知物由學 | SDK API自動化測試與持續整合API
- SoapUI實踐:自動化測試、壓力測試、持續整合UI
- 本地Jenkins.war+SVN實現全自動化持續整合Jenkins
- jenkins+ant+jmeter介面自動化的持續整合測試框架JenkinsJMeter框架
- Windows 桌面應用自動和 Jenkins 持續整合WindowsJenkins
- 持續整合、持續部署、持續交付、持續釋出
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- Linux下搭建Jenkins持續整合LinuxJenkins
- jenkins + Git 搭建持續整合環境JenkinsGit
- 一步步搭建 VuePress 及優化【自動化】Vue優化
- 持續整合、持續交付、持續部署簡介
- 整合持續整合工具
- Jenkins+SVN+fir.im+BugHD搭建持續整合,實現IOS自動化打包、Bug實時動態監測JenkinsiOS