第二uild 自動化是 DevOps、系統管理員和開發人員必不可少的工具。只需編寫腳本或自動化將源代碼編譯為二進製文件的過程。系統管理員可以使用構建工具來管理和更新配置文件。以下是與在 Linux 或類 Unix 系統上自動化構建過程相關的優秀開源和流行工具的列表。
1: GNU make and co – 最流行的自動化構建工具之一
GNU make 命令用於在 Linux 和類 Unix 系統上維護、編譯和構建程序。這是最流行的自動構建工具之一,使用 TEXT 文件格式。
- 管理您的個人資料
- 更新配置文件
- 編譯和構建任何程序或庫,從簡單到復雜
默認情況下,TEXT 文件的名稱是 Makefile。 Make 有許多克隆和重寫。以下是一些常見的選項:
- BSD make – 適用於 FreeBSD/NetBSD/OpenBSD 和克隆。
- make – 經典的 Unix 構建工具。
- SunPro make – Solaris Unix 構建工具。
- GNU Make – Linux 和 OS X 以及 *BSD 的標準實現。
如果您曾經運行過類似“./configure && make && make install”這樣的命令,那麼您已經使用過其中一種 make 工具在您的平台上構建軟件。上述工具通常作為操作系統的一部分安裝。
![]() |
類型:構建自動化 |
符號:C |
平台:Linux、MacOS X、*BSD 和類 Unix |
許可證:GPL v3 |
下載: https://www.gnu.org/software/make/ (GNU Make) |
2:Apache Ant – 流行於 Java 平台開發
另一個非常流行的類似於 make 的自動構建工具是用 Java 編寫的,並使用 XML 文件格式。當然,它非常適合構建基於 Java 的軟件。默認情況下,XML 文件的名稱是 build.xml。
![]() |
類型:構建自動化 |
編寫:Java |
平台:JavaSE |
許可證:Apache 許可證 2.0 |
下載: https://ant.apache.org/ |
3:Gradle – 另一個開源工具
Gradel 是一個免費的開源構建自動化系統。這擴展到 Apache Ant 和 Maven。 它使用 DSL(“域特定語言”)而不是 Maven/Ant 使用的 XML 格式。另一個附加功能是 DAG(“有向無環圖”),用於查找構建和執行任務的正確順序。
![]() |
類型:施工工具 |
編寫語言:Java、Groovy |
平台:跨平台 |
許可證:Apache 許可證 2.0 |
下載: https://gradle.org/ |
4:Apache Maven——另一個Java構建自動化工具
Apache Maven 是一個免費的開源構建自動化系統。它管理和構建依賴項,主要用於 Java 項目。但是,您不僅限於基於 Java 的項目,還可以使用其他編程語言,如 Ruby、Python、C#、Scala 和其他計算機編程語言。
![]() |
類型:施工工具 |
編寫:Java |
平台:跨平台 |
許可證:Apache 許可證 2.0 |
下載: https://maven.apache.org/ |
5:Grunt——也為前端 Web 開發而構建
Grunt 作為 JavaScript 任務運行器在 JavaScript 前端開發人員中非常流行。這是一個免費的開源項目。使用 Gruntfile 進行單元測試、代碼縮小、編譯等。
![]() |
類型:任務運行器,構建工具 |
描述語言:Node.js |
平台:Linux、Windows、OSX |
許可證:麻省理工學院許可證 [ |
Download: https://gruntjs.com/ |
6: Gulp.js – Yet another build tool for front-end web development
gulp.js is a free and open-source JavaScript toolkit and mostly as a build system in front-end web development. Here is a sample gulpfile.js:
var gulp = require('gulp'); var pug = require('gulp-pug'); var less = require('gulp-less'); var minifyCSS = require('gulp-csso'); gulp.task('html', function(){ return gulp.src('client/templates/*.pug') .pipe(pug()) .pipe(gulp.dest('build/html')) }); gulp.task('css', function(){ return gulp.src('client/templates/*.less') .pipe(less()) .pipe(minifyCSS()) .pipe(gulp.dest('build/css')) }); gulp.task('default', [ 'html', 'css' ]);
什麼是大口?
- 自動化 – Gulp 是一個工具包,可幫助您在開發工作流程中自動化繁瑣或耗時的任務。
- 平台無關——所有主要的 IDE 都有內置的集成,人們在 PHP、.NET、Node.js、Java 和其他平台上使用 gulp。
- 強大的生態系統——使用 npm 模塊做任何你想做的事 + 2000 多個用於流文件轉換的精選插件
- 簡單——通過只提供最小的 API 界面,gulp 易於學習和使用
![]() |
類型:用於自動化任務的工具包 |
描述語言:Node.js |
平台:跨平台 |
許可證:麻省理工學院許可證 |
下載: https://gulpjs.com/ |
7: Rake – 一個類似於 make 的 Ruby 構建工具
Rake 是免費的開源構建自動化軟件。它是一個類似於 Make 的工具,但是是用 Ruby 編寫的。 您可以使用 Ruby 語法指定所有構建任務和部門。 使用稱為 Rakefiles 的 TEXT 文件構建您的軟件。 Rake 是 Ruby 1.9+ 的一部分。
![]() |
類型:任務管理和構建自動化工具 |
作者:紅寶石 |
平台:跨平台 |
許可證:麻省理工學院許可證 |
下載: https://github.com/ruby/rake |
這個條目是 6 的 十 裡面 系統管理員和 FOSS 資源 系列。閱讀本系列的其餘部分。
- 7 款出色的開源雲存儲軟件,可保護您的隱私/安全
- 5 款優秀的開源備份軟件
- 5 款優秀的開源克隆軟件
- 7 款優秀的開源分析軟件
- 9 個很棒的開源 Web 性能軟件
- 7 個很棒的開源構建自動化工具
- 6 開源磁盤克隆和映像軟件
- 3個完整的開源電子郵件服務器軟件
- 7 個很棒的 ChatOps 開源軟件
- 5個偉大的群件開源軟件