7 Awesome Open Source Bygg automatiseringsværktøjer til Sysadmin / DevOps / Developers

Bygningsautomatisering er et vigtigt værktøj til devops, sysadmins og udviklere. Det er ikke andet end scripting eller automatisering af processen med at kompilere kildekoden i binær. Sysadmins kan bruge byggeværktøjer til at administrere og opdatere config-filer. Følgende er en liste over awesome open source og populære værktøjer i forbindelse med automatisering af byggeprocesser på Linux eller Unix-lignende system.

1: GNU make and co - Et af de mest populære automatiseringsværktøjer

GNU-kommandoen bruges til at opretholde, kompilere og bygge programmer på Linux og Unix-lignende system. Det er et af de mest populære automatiseringsværktøjer til og bruger et TEXT-filformat:

  1. Administration af config filer
  2. Opdatering af config-filer
  3. Kompilere og opbygge enkle til komplekse programmer eller biblioteker

Som standard hedder TEXT-filen Makefile. Make har mange kloner og omskriver. Her er nogle af de populære muligheder:

  • BSD make - Popular på FreeBSD / NetBSD / OpenBSD og kloner.
  • make - Et klassisk Unix byggeværktøj.
  • SunPro make - Et Solaris Unix byggeværktøj.
  • GNU Make - Standard implementering af make for Linux og OS X og * BSD.

Hvis du nogensinde løber en kommando som "./configure && make && make install", brugte du et af værktøjsværktøjerne til at bygge software på din platform. Almindeligvis over værktøjer installeres som en del af operativsystemet.

En simpel GNU Makefile

En simpel GNU Makefile

Type: Bygningsautomatisering
Skrevet i: C
Platform: Linux, MacOS X, * BSD og Unix-lignende
Licens: GPL v3
Hent: https://www.gnu.org/software/make/ (GNU Make)

2: Apache Ant - Populær til Java platform udvikling

Et andet meget populært automatiseringsværktøj, der ligner at lave, skrevet i Java og bruger et XML-filformat. Det er naturligvis helt egnet til at opbygge Java-baseret software. Som standard kaldes XML-filen build.xml.

En prøve build.xml

En prøve build.xml

Type: Bygningsautomatisering
Skrevet i: Java
Platform: Java SE
Licens: Apache License 2.0
Hent: http://ant.apache.org/

3: Gradle - Endnu et andet open source-værktøj

Gradel er et gratis og open source build automationssystem. Det strækker sig på Apache Ant og Maven. Det brugte DSL ("domain-specific language") i stedet for XML-formatet, der blev brugt af Maven / Ant. En anden tilføjelse er DAG ("directed acyclic graph") for at finde den rigtige rækkefølge, hvor opgaver kan bygges og køre.

Gradle
Type: Bygningsværktøj
Skrevet i: Java, Groovy
Platform: Cross-platform
Licens: Apache License 2.0
Hent: https://gradle.org/

4: Apache Maven - Endnu et andet byggeautomatiseringsværktøj til Java

Apache Maven er et gratis og open source build automationssystem. Det gør afhængighedsstyring og bygger og bruges mest til Java-projekter. Du er dog ikke begrænset til Java-baserede projekter; Du kan bruge et hvilket som helst andet programmeringssprog som Ruby, Python, C #, Scala og andre programmeringssprog.

En prøve Maven pom.xml fil

En prøve Maven pom.xml fil

Type: Bygningsværktøj
Skrevet i: Java
Platform: Cross-platform
Licens: Apache License 2.0
Hent: https://maven.apache.org/

5: Grunt - Byg også til front-end webudvikling

Grunt er meget populært blandt Javascript front end udviklere som en JavaScript task runner. Det er et gratis og open source-projekt. Det bruger en Gruntfile til enhedstestning, minificering af kode, kompilering og meget mere.

En prøve Gruntfile skrevet i JavaScript

En prøve Gruntfile skrevet i JavaScript

Type: Opgave Runner, Byg værktøj
Skrevet i: Node.js
Platform: Linux, Windows, OS X
Licens: MIT Licens [
Hent: http://gruntjs.com/

6: Gulp.js - Endnu et andet byggeværktøj til front-end webudvikling

gulp.js er et gratis og open source JavaScript værktøjssæt og hovedsagelig som et build system i front-end webudvikling. Her er en prøve gulpfile.js:

var gulp = kræve ('gulp'); var pug = kræve ('gulp-pug'); var mindre = kræver ('gulp-less'); var minifyCSS = kræve ('gulp-csso'); gulp.task ('html', funktion () {return gulp.src ('klient / skabeloner / * .pug') .pipe (pug ()) .pipe (gulp.dest ('build / html'))}) ; gulp.task ('css', funktion () {return gulp.src ('klient / skabeloner / *. mindre') .pipe (mindre ()) .pipe (minifyCSS ()) .pipe (gulp.dest / css '))}); gulp.task ('default', ['html', 'css']);

var gulp = kræver ('gulp');
var pug = kræve ('gulp-pug');
var mindre = kræver ('gulp-less');
var minifyCSS = kræve ('gulp-csso'); gulp.task ('html', funktion () {
returner gulp.src ('klient / skabeloner / * .pug')
.pipe (Mops ())
.pipe (gulp.dest ( 'build / html'))
}); gulp.task ('css', funktion () {
returner gulp.src ('klient / skabeloner / *. mindre')
.pipe (mindre ())
.pipe (minifyCSS ())
.pipe (gulp.dest ( 'build / Css'))
}); gulp.task ('standard', ['html', 'css']);

Hvad er gulp?

  1. Automatisering - Gulp er et værktøjssæt, der hjælper dig med at automatisere smertefulde eller tidskrævende opgaver i din udviklingsarbejdsproces.
  2. Platform-agnostic - Integrationer er indbygget i alle større IDE'er, og folk bruger gulp med PHP, .NET, Node.js, Java og andre platforme.
  3. Stærk økosystem - Brug npm moduler til at gøre alt hvad du vil + over 2000 curated plugins til streaming filtransformationer
  4. Enkel - Ved at give kun en minimal API overflade, er gulp let at lære og nem at bruge
gulp.js
Type: Værktøjskasse til automatisering af opgaver
Skrevet i: Node.js
Platform: Cross-platform
Licens: MIT-licens
Hent: http://gulpjs.com/

7: Rake - En make-lignende byggeværktøj til Ruby

Rake er en gratis og open source-automatisering software. Det er et Make-lignende værktøj, men skabt i Ruby. Du kan angive alle byggeopgaver og depper i Ruby-syntaks. Det bruger TEXT filen kaldet Rakefiles til at opbygge din software. Rake er en del af Ruby versionen 1.9 +.

Et eksempel på et simpelt Rake-script til at opbygge et C Hello World-program.

Et eksempel på et simpelt Rake-script til at opbygge et C Hello World-program.

Type: Opgavehåndtering og bygningsautomatiseringsværktøj
Skrevet i: Ruby
Platform: Cross-platform
Licens: MIT-licens
Hent: https://github.com/ruby/rake

Kilde

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.