7 個非常棒的開源構建自動化工具,適用於 SysAdmins/DevOps/Developers


第二uild 自動化是 DevOps、系統管理員和開發人員必不可少的工具。只需編寫腳本或自動化將源代碼編譯為二進製文件的過程。系統管理員可以使用構建工具來管理和更新配置文件。以下是與在 Linux 或類 Unix 系統上自動化構建過程相關的優秀開源和流行工具的列表。

1: GNU make and co – 最流行的自動化構建工具之一

GNU make 命令用於在 Linux 和類 Unix 系統上維護、編譯和構建程序。這是最流行的自動構建工具之一,使用 TEXT 文件格式。

  1. 管理您的個人資料
  2. 更新配置文件
  3. 編譯和構建任何程序或庫,從簡單到復雜

默認情況下,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 工具在您的平台上構建軟件。上述工具通常作為操作系統的一部分安裝。

一個簡單的 GNU Makefile
類型:構建自動化
符號: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。

示例 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 和其他計算機編程語言。

示例 Maven pom.xml 文件
類型:施工工具
編寫:Java
平台:跨平台
許可證:Apache 許可證 2.0
下載https://maven.apache.org/

5:Grunt——也為前端 Web 開發而構建

Grunt 作為 JavaScript 任務運行器在 JavaScript 前端開發人員中非常流行。這是一個免費的開源項目。使用 Gruntfile 進行單元測試、代碼縮小、編譯等。

用 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' ]);

什麼是大口?

  1. 自動化 – Gulp 是一個工具包,可幫助您在開發工作流程中自動化繁瑣或耗時的任務。
  2. 平台無關——所有主要的 IDE 都有內置的集成,人們在 PHP、.NET、Node.js、Java 和其他平台上使用 gulp。
  3. 強大的生態系統——使用 npm 模塊做任何你想做的事 + 2000 多個用於流文件轉換的精選插件
  4. 簡單——通過只提供最小的 API 界面,gulp 易於學習和使用
gulp.js
類型:用於自動化任務的工具包
描述語言:Node.js
平台:跨平台
許可證:麻省理工學院許可證
下載https://gulpjs.com/

7: Rake – 一個類似於 make 的 Ruby 構建工具

Rake 是免費的開源構建自動化軟件。它是一個類似於 Make 的工具,但是是用 Ruby 編寫的。 您可以使用 Ruby 語法指定所有構建任務和部門。 使用稱為 Rakefiles 的 TEXT 文件構建您的軟件。 Rake 是 Ruby 1.9+ 的一部分。

創建 C Hello World 程序的簡單 Rake 腳本示例。
類型:任務管理和構建自動化工具
作者:紅寶石
平台:跨平台
許可證:麻省理工學院許可證
下載https://github.com/ruby/rake

這個條目是 6 裡面 系統管理員和 FOSS 資源 系列。閱讀本系列的其餘部分。

  1. 7 款出色的開源雲存儲軟件,可保護您的隱私/安全
  2. 5 款優秀的開源備份軟件
  3. 5 款優秀的開源克隆軟件
  4. 7 款優秀的開源分析軟件
  5. 9 個很棒的開源 Web 性能軟件
  6. 7 個很棒的開源構建自動化工具
  7. 6 開源磁盤克隆和映像軟件
  8. 3個完整的開源電子郵件服務器軟件
  9. 7 個很棒的 ChatOps 開源軟件
  10. 5個偉大的群件開源軟件