Maven-pom.xml_

7 Awesome Open Source Bumuo ng Mga Tool sa Pag-aautomat Para sa Sysadmin / DevOps / Mga Nag-develop

Ang pagtatayo ng automation ay isang mahalagang tool para sa mga devops, sysadmins, at mga developer. Ito ay walang anuman kundi scripting o automating ang proseso ng pag-compile ng source code sa binary. Ang Sysadmins ay maaaring gumamit ng mga tool ng build upang pamahalaan at i-update ang mga file ng config. Ang sumusunod ay isang listahan ng mga kahanga-hangang open source at tanyag na mga tool na nauugnay sa automating bumuo ng mga proseso sa Linux o Unix-tulad ng system.

1: GNU gumawa at co - Isa sa mga pinakasikat na tool sa pagtatayo ng automation

Gumawa ng GNU command na ginamit upang mapanatili, maipon at bumuo ng mga programa sa sistema ng Linux at Unix. Ito ay isa sa mga pinaka-popular na automation build tool para sa at gumagamit ng isang format ng TEXT file:

  1. Pamamahala ng mga file ng config
  2. Ina-update ang mga config file
  3. Magtipon at bumuo ng simple sa kumplikadong mga programa o mga aklatan

Bilang default ang TEXT file ay pinangalanan na Makefile. Gumawa ng maraming mga clone at muling pagsusulat. Narito ang ilan sa mga popular na pagpipilian:

  • Gumawa ng BSD - Mga patok sa FreeBSD / NetBSD / OpenBSD at mga panggagaya.
  • gumawa - Isang klasikong kasangkapan sa pagtatayo ng Unix.
  • SunPro make - Isang tool ng Build Solaris Unix.
  • GNU Make - Ang karaniwang pagpapatupad ng gumawa para sa Linux at OS X at * BSD.

Kung sakaling magpatakbo ka ng isang utos tulad ng "./configure && gumawa ng && install", ginamit mo ang isa sa mga gumawa ng mga tool upang bumuo ng software sa iyong platform. Kadalasan sa mga tool sa itaas ay na-install bilang bahagi ng operating system.

Isang simpleng GNU Makefile

Isang simpleng GNU Makefile

Uri: Gumawa ng automation
Nakasulat sa: C
Platform: Linux, MacOS X, * BSD at Unix-like
Lisensya: GPL v3
download: https://www.gnu.org/software/make/ (GNU Make)

2: Apache Ant - Mga patok para sa pagpapaunlad ng Java platform

Ang isa pang napakapopular na kasangkapan sa pagtatayo ng automation, katulad ng ginawa, nakasulat sa Java at gumagamit ng isang format ng XML file. Naturally, ito ay ganap na angkop sa pagbuo ng Java-based na software. Bilang default ang XML file ay tinatawag na build.xml.

Isang sample build.xml

Isang sample build.xml

Uri: Gumawa ng automation
Nakasulat sa: Java
Platform: Java SE
Lisensya: Apache License 2.0
download: http://ant.apache.org/

3: Gradle - Isa pang open source tool

Gradel ay isang libre at open source build automation system. Ito ay umaabot sa Apache Ant at Maven. Ginamit nito ang DSL ("wika na tukoy sa domain") sa halip na ang XML na format na ginagamit ng Maven / Ant. Ang isa pang karagdagan ay DAG ("direktang likidong graph") upang mahanap ang tamang pagkakasunud-sunod kung saan ang mga gawain ay maaaring magtayo at tumakbo.

Gradle
Uri: Gumawa ng Tool
Nakasulat sa: Java, Groovy
Platform: Cross-platform
Lisensya: Apache License 2.0
download: https://gradle.org/

4: Apache Maven - Gayon pa man ang isa pang build automation tool para sa Java

Ang Apache Maven ay isang malayang at bukas na source build automation system. Ito ay nangangasiwa sa pamamahala at nagtatayo at karamihan ay ginagamit para sa mga proyekto ng Java. Gayunpaman, hindi ka limitado sa mga proyekto sa Java base; maaari mong gamitin ang anumang iba pang programming language tulad ng Ruby, Python, C #, Scala at iba pang mga computer programming languages.

Ang isang sample na Maven pom.xml file

Ang isang sample na Maven pom.xml file

Uri: Gumawa ng tool
Nakasulat sa: Java
Platform: Cross-platform
Lisensya: Apache License 2.0
download: https://maven.apache.org/

5: Grunt - Bumuo rin para sa front-end na web development

Ang pogi ay napakapopular sa mga developer ng front end ng Javascript bilang isang JavaScript runner na gawain. Ito ay isang libre at open-source na proyekto. Gumagamit ito ng Gruntfile para sa pagsusulit ng yunit, pagbabawas ng code, compilation at marami pang iba.

Isang halimbawang Gruntfile na nakasulat sa JavaScript

Isang halimbawang Gruntfile na nakasulat sa JavaScript

Uri: Task Runner, Gumawa ng tool
Nakasulat sa: Node.js
Platform: Linux, Windows, OS X
Lisensya: MIT License [
download: http://gruntjs.com/

6: Gulp.js - Gayon pa man ang isa pang tool sa pagtatayo para sa front-end web development

Ang gulp.js ay isang libre at open-source JavaScript toolkit at kadalasan bilang isang build system sa front-end na web development. Narito ang isang sample na gulpfile.js:

var gulp = nangangailangan ('gulp'); var pug = nangangailangan ('gulp-pug'); var less = require ('gulp-less'); var minifyCSS = nangangailangan ('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']);

var gulp = nangangailangan ('gulp');
var pug = nangangailangan ('gulp-pug');
var less = require ('gulp-less');
var minifyCSS = nangangailangan ('gulp-csso'); gulp.task ('html', function () {
ibalik ang gulp.src ('client / templates / *. pug')
.pipe (pug ())
.pipe (gulp.dest ('build / html'))
}); gulp.task ('css', function () {
ibalik gulp.src ('client / templates / *. less')
.pipe (mas mababa ())
.pipe (minifyCSS ())
.pipe (gulp.dest ('build / css'))
}); gulp.task ('default', ['html', 'css']);

Ano ang gulp?

  1. Pag-automate - gulp ay isang toolkit na tumutulong sa iyo na i-automate ang masakit o matagal na oras na mga gawain sa iyong pag-unlad na daloy ng trabaho.
  2. Platform-agnostiko - Ang mga pagsasama ay binuo sa lahat ng mga pangunahing IDE at ang mga tao ay gumagamit ng gulp sa PHP, .NET, Node.js, Java, at iba pang mga platform.
  3. Malakas na Ekosistema - Gumamit ng mga module ng npm upang gawin ang anumang nais mo + sa paglipas ng 2000 na na-curate na mga plugin para sa mga pagbabago ng file ng streaming
  4. Simple - Sa pamamagitan ng pagbibigay lamang ng isang minimal na ibabaw ng API, gulp ay madaling matutunan at simpleng gamitin
gulp.js
Uri: Toolkit para sa pag-automate ng mga gawain
Nakasulat sa: Node.js
Platform: Cross-platform
Lisensya: MIT License
download: http://gulpjs.com/

7: Rake - Isang build-like build utility para sa Ruby

Ang Rake ay isang libre at open-source build automation software. Ito ay isang Make-like na tool ngunit nilikha sa Ruby. Maaari mong tukuyin ang lahat ng mga gawain sa pagtatayo at deps sa Ruby syntax. Ginagamit nito ang TEXT file na tinatawag na Rakefiles upang buuin ang iyong software. Ang Rake ay bahagi ng bersyon ng Ruby 1.9 +.

Isang halimbawa ng isang simpleng script ng Rake na bumuo ng isang programa ng C World Hello.

Isang halimbawa ng isang simpleng script ng Rake na bumuo ng isang programa ng C World Hello.

Uri: Pamamahala ng gawain at bumuo ng tool sa pag-automate
Nakasulat sa: Ruby
Platform: Cross-platform
Lisensya: MIT License
download: https://github.com/ruby/rake

pinagmulan

Mag-iwan ng komento