第二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 的 make 的標準實現。
如果您曾經運行過類似“./configure && make && make install”的命令,那麼您已經使用其中一種製作工具在您的平台上構建軟件。上述工具通常作為操作系統的一部分安裝。
![]() |
類型:構建自動化 |
記法:C |
平台:Linux、MacOS X、*BSD 和類 Unix |
許可證:GPL v3 |
下載: https://www.gnu.org/software/make/(GNU 製作) |
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 進行單元測試、代碼縮小、編譯等。
![]() |
類型:Task Runner,構建工具 |
描述語言: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 的文本文件構建您的軟件。 Rake 是 Ruby 1.9+ 版本的一部分。
![]() |
類型:任務管理和構建自動化工具 |
作者:紅寶石 |
平台:跨平台 |
許可證:麻省理工學院許可證 |
下載: https://github.com/ruby/rake |
這個條目是 6個 的 十 裡面 系統管理員和 FOSS 資源 系列。閱讀本系列的其餘部分。
- 7 款出色的開源雲存儲軟件,可保護您的隱私/安全
- 5 大開源備份軟件
- 5 款優秀的開源克隆軟件
- 7 大開源分析軟件
- 9 款很棒的開源 Web 性能軟件
- 7 個很棒的開源構建自動化工具
- 6 開源磁盤克隆和鏡像軟件
- 3 個完整的開源電子郵件服務器軟件
- 7 個很棒的 ChatOps 開源軟件
- 5 大群件開源軟件