2號uild 自動化是 DevOps、系統管理員和開發人員必不可少的工具。這只不過是編寫腳本或自動化將源代碼編譯成二進製文件的過程。系統管理員可以使用構建工具來管理和更新配置文件。以下是與在 Linux 或類 Unix 系統上自動化構建過程相關的優秀開源和流行工具的列表。
1:GNU makeandco——最流行的自動化構建工具之一
GNU make 命令用於在 Linux 和類 Unix 系統上維護、編譯和構建程序。它是最流行的 TEXT 文件格式的自動構建工具之一,並使用:
- 管理個人資料
- 更新配置文件
- 從簡單的程序編譯和構建複雜的程序或庫
默認情況下,TEXT 文件的名稱是 Makefile。 Make 有許多克隆和重寫。以下是一些流行的選項:
- BSDmake-流行於 FreeBSD / NetBSD / OpenBSD 和克隆。
- make – 一個經典的 Unix 構建工具。
- SunPromake-Solaris Unix 構建工具。
- GNU Make-Linux、OSX 和 * BSD 的 make 標準實現。
如果您運行過諸如“./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 |
平台:Java SE |
許可證: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、OS X |
許可證:麻省理工學院許可證 [ |
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' ])。;
什麼是大嘴巴?
- Automation-gulp 是一個工具包,可幫助您在開發工作流程中自動執行繁瑣且耗時的任務。
- 平台無關——所有主要的 IDE 都有內置的集成,人們在 PHP、.NET、Node.js、Java 和其他平台上使用 gulp。
- 強大的生態系統-npm 模塊,用於流式文件轉換 + 2000 多個精選插件,隨心所欲
- 簡單——Gulp 易於學習和使用,只提供最小的 API 界面
![]() |
類型:用於自動化任務的工具包 |
描述:Node.js |
平台:跨平台 |
許可證:麻省理工學院許可證 |
下載: https://gulpjs.com/ |
7: Rake – 為 Ruby 構建諸如 make 之類的工具
Rake 是一個免費的開源構建自動化軟件。 它是一個類似於 Make 的工具,但它是用 Ruby 編寫的。 您可以使用 Ruby 語法來指定所有構建任務和部門。 使用稱為 Rakefiles 的 TEXT 文件構建您的軟件。 Rake 是 Ruby 1.9 及更高版本的一部分。
![]() |
類型:任務管理和構建自動化工具 |
作者:紅寶石 |
平台:跨平台 |
許可證:麻省理工學院許可證 |
下載: https://github.com/ruby/rake |
這個條目是 6 的 十 裡面 系統管理員和 FOSS 資源 系列。閱讀本系列的其餘部分:
- 7個驚人的開源雲存儲軟件來保護您的隱私/安全
- 5款優秀的開源備份軟件
- 5 款優秀的開源克隆軟件
- 7款優秀的開源分析軟件
- 9 款優秀的開源網絡性能軟件
- 7 個偉大的開源構建自動化工具
- 6 開源磁盤克隆和映像軟件
- 3 完全開源的電子郵件服務器軟件
- 7 個很棒的 ChatOps 開源軟件
- 5個偉大的群件開源軟件