Sysadmin / DevOps / 7 款適用於開發人員的優秀開源構建自動化工具


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

1:GNU makeandco——最流行的自動化構建工具之一

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

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

默認情況下,TEXT 文件的名稱是 Makefile。 Make 有許多克隆和重寫。以下是一些流行的選項:

  • BSDmake-流行於 FreeBSD / NetBSD / OpenBSD 和克隆。
  • make – 一個經典的 Unix 構建工具。
  • SunPromake-Solaris Unix 構建工具。
  • GNU Make-Linux、OSX 和 * BSD 的 make 標準實現。

如果您運行過諸如“./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
平台: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 和其他計算機編程語言。

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

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

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

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

什麼是大嘴巴?

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

7: Rake – 為 Ruby 構建諸如 make 之類的工具

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

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

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

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



Source link