빌드 자동화 소프트웨어 목록

List of build automation software

빌드 자동화는 컴퓨터 소스 코드이진 코드컴파일하는 프로세스를 스크립팅 또는 자동화한다.아래는 빌드 프로세스 자동화와 관련된 주목할 만한 툴 목록이다.

제작 기반

  • GNU make, 대규모 확장을 통해 널리 사용되는 구현
  • Make, 전형적인 Unix 빌드 도구
  • mk, 원래 버전 10 Unix 및 Plan 9용으로 개발되었으며 Plan9 포트의 일부로 Unix에 포팅됨
  • 고전적인 Mac OS용으로 개발되었으며 Unix make와 유사하지만 호환되지 않는 MPW Make; 최신 MacOS(OS X)는 GNU make와 BSD make가 함께 제공되며, Macintosh Programmer's Workshop의 일부로 Apple에서 무료로, 지원되지 않는 다운로드로 제공됨
  • nmake
  • PVCS-make, 기본적으로 make의 개념을 따르지만 눈에 띄는 일련의 고유 구문 특징을[1] 가지고 있음

호환 안 됨

  • Java 플랫폼 개발에 널리 사용되며 XML 파일 형식을 사용하는 Apache Ant
  • Rake 기반 오픈 소스 빌드 시스템인 Apache BuildrRuby에서 스크립팅의 모든 권한을 부여하며 빌드 시스템에서 원하는 대부분의 능력을 통합적으로 지원한다.
  • 종속성 관리 및 자동 소프트웨어 빌드를 위한 Java 플랫폼 툴인 Apache Maven
  • LISP 프로젝트 구축을 위한 ASDF LISP 빌드 시스템
  • Python 기반 빌드 도구인 A-A-P
  • Bazel은 Java, C, C++, Go, Python, Object-C 등에 프로젝트를 구축하기 위해 Starlark(빌드 파일 구문)를 사용하여 Java로 작성된 Blaze(구글 자체 빌드 도구)의 일부분이다.
  • 임베디드 리눅스 교차 컴파일용 배포 및 패키지에 특별히 초점을 맞춘 Python 기반 툴인 BitBake
  • Clojure로 작성된 Java 빌드 및 종속성 관리 도구인 부트
  • boost.build C++ 프로젝트용, Perforce Jam 기반 크로스 플랫폼
  • 페이스북이 개발하고 사용하는 빌드 시스템인 벅은 스타라크(BUILD 파일 구문)를 바젤로 사용하여 자바어로 작성되었다.
  • 여러 부품에서 애플리케이션을 생성, 조립 및 배포하기 위한 Python 기반 빌드 시스템인 Buildout
  • Cabal, 프로그래밍 언어 Haskell로 응용 프로그램과 라이브러리를 구축하기 위한 공통 아키텍처
  • D Language의 공식 패키지 및 빌드 매니저인 Dub
  • Windows, Linux 및 OS X용 고성능 오픈 소스 빌드 시스템인 Fastbuild.확장성이 뛰어난 컴파일, 캐싱 및 네트워크 배포 지원
  • Windows 소프트웨어 개발자를 위한 FinalBuilder.FinalBuilder는 단일 애플리케이션에서 빌드 프로젝트를 생성하고 실행할 수 있는 그래픽 IDE를 제공한다.최종 구축자는 또한 유닛 테스트를 실행하거나 웹 프로젝트를 배치하거나 애플리케이션을 설치하고 테스트할 수 있는 능력을 포함한다.
  • 플로우 트레이서
  • Apache Groovy 기반 DSL(Domain Specific Language)을 사용하는 오픈 소스 빌드 및 자동화 시스템으로, Apache AntApache Maven의 기능을 신뢰할 수 있는 증분 빌드와 같은 추가 기능과 결합한 Gradle
  • 프런트 엔드 웹 개발을 위한 빌드 툴인 Grunt
  • 프런트엔드를 위한 또 다른 빌드 툴인 Gulp
  • 인크레디빌드
  • 빌드 자동화를 포함하여 Clojure 프로젝트에서 일반적으로 수행되는 작업을 제공하는 도구인 Leinen
  • 혼합, Elixir 빌드 도구
  • MSBuild, 마이크로소프트 빌드 엔진
  • NAnt, 의 경우 Ant와 유사한 도구.NET Framework
  • 닌자(Ninja)는 고급 빌드 시스템에서 생성된 빌드 스크립트를 사용하여 속도에 초점을 맞춘 소형 빌드 시스템이다.
  • Make에서 영감을 얻은 Perforce의 빌드 도구인 Perforce Jam
  • Phing, Apache Ant 기반 PHP 프로젝트 빌드 시스템
  • PowerShell로 작성된 Psake, 도메인별 언어 및 빌드 자동화 도구
  • Qt 빌드 시스템
  • 루비 기반의 빌드 도구인 레이크
  • sbt, 스칼라 기반 DSL을 기반으로 구축된 빌드 툴
  • SCons, Python-based, autoconf/automake와 유사한 통합 기능 포함
  • Haskell 프로젝트를 구축하기 위한 도구인 Stack은 그들의 의존성(컴파일러와 라이브러리)을 관리하고 테스트와 벤치마킹을 위한 도구다.
  • 파일 수정 모니터링을 사용하여 거의 시간에 가까운 빌드 시간을 제공하는 그래프 기반 빌드 시스템인 tup.
  • 소프트웨어 빌드용 그래픽 사용자 인터페이스 소프트웨어인 Visual Build
  • 애플리케이션 구성, 컴파일 및 설치를 위한 Python 기반 도구인 Waf.Autotools, Scons, CMake 또는 Ant와 같은 다른 도구를 대체하는 것이다.
  • SiFive의 빌드 오케스트레이션 도구 및 언어인 Wake.

빌드 스크립트 생성

이러한 제너레이터 도구는 직접 빌드하는 것이 아니라 (앞 두 절에 나열된 것과 같이) 네이티브 빌드 도구에 의해 사용될 파일을 생성한다.

  • 다중 플랫폼 툴인 빌드AMation(BuildAMation)은 C# 스크립트의 선언적 구문을 사용하여 여러 스레드를 사용하여 터미널에 C/C++ 코드를 구축하거나 Microsoft Visual Studio, Xcode 또는 MakeFiles용 프로젝트 파일을 생성한다.
  • CMakemake, 닌자, Apple의 Xcode, Microsoft Visual Studio와 같은 다양한 빌드 도구에 대한 파일을 생성한다.[2]CMake는 일부 IDE에서 Qt [3]Creator, KDevelop, GNOME Builder로 직접 사용하기도 한다.[4]
  • GN은[5] 닌자 빌드 파일을 생성하는 방법을 아는 빌드 생성기다.
  • 휴대용 빌드용 도구 모음인 GNU 빌드 시스템(autotools라고도 함)특히 AutoconfAutomake, 적절한 지역화된 make 파일을 함께 생성하는 교차 유니ix 플랫폼 툴이 그것이다.
  • GYP(프로젝트 생성) - Chromium용으로 생성됨. 기본 빌드 환경에 사용할 파일을 생성하는 또 다른 도구
  • 흉내를 내다
  • 성능과 사용성에 최적화된 빌드 시스템인 메손은 Linux에서는 닌자, Windows에서는 Visual Studio, MacOS에서는 Xcode를 기반으로 한다.메손은 GNOME Builder가 직접 사용하기도 한다.[4]
  • 오픈메이크 소프트웨어 마이스터
  • Makefile, Visual Studio 파일, Xcode 프로젝트 등을 만드는 Lua 기반 도구인 Premake
  • qmake

지속적 통합

  • AntillPro, 배포 자동화 및 테스트를 위한 파이프라인 지원을 통해 자동화 구축교차 플랫폼, 교차 언어
  • Apache Continuum - 중단됨
  • Azure DevOps(이전의 TFS 및 VSTS[6])는 Azure 호스팅된 서비스 또는 자체 호스팅된 서버 빌드 기능일 수 있음
  • 대나무, 연속 통합 소프트웨어
  • Bitbucket 파이프라인 및 배포, Bitbucket 호스팅된 저장소에[7] 대한 지속적인 통합
  • 컴파일/테스트 주기를 자동화하는 Python 기반 소프트웨어 개발 연속 통합 도구인 Buildbot
  • 자체 인프라에서 빠르고, 안전하고, 확장 가능한 지속적인 통합 파이프라인을 실행하기 위한 플랫폼인 Buildkite.
  • GitHub 및 Bitbucket 프로젝트를 위한 호스트형 연속 통합 서비스인 CircleCI.
  • 코드파이프라인(CodePipeline)은 빠르고 안정적인 애플리케이션 및 인프라 업데이트를 위해 릴리즈 파이프라인을 자동화할 수 있도록 지원하는 완전 관리형 연속 제공 서비스다.
  • CruiseControl(Java 및 의 경우)네트
  • 바쁜 개발팀을 위한 셀프 서비스 지속적 통합 플랫폼인 하네스별 드론 CI.
  • 지속적인 제공, 오픈 소스, 교차 플랫폼으로 전환
  • GitLab(GitLab Runner), 지속적인 통합 및 Git 서버
  • GitHub(GitHub Actions), 오픈 소스 프로젝트 및 Git 서버를 위한 무료 연속 통합 서비스
  • 확장 가능한 연속 통합 엔진인 허드슨
  • 확장 가능한 연속 통합 엔진인 젠킨스는 허드슨에서 출발했다.
  • Spinnaker, 넷플릭스와 구글의 오픈소스 멀티 클라우드 연속 배송 서비스
  • 팀시티
  • 호스팅된 연속 통합 서비스인 Travis CI

구성 관리

메타 빌드

메타 빌드 도구는 기존 빌드 도구의 서브셋을 사용하여 많은 다양한 프로젝트를 구축할 수 있다.이것들은 보통 만들 수 있는 패키지 목록을 제공하기 때문에 종종 패키지 매니저라고도 불린다.

  • Pkgsrc, Portage, MacPortsBSD 포트 컬렉션에서 파생된 기타 패키지 관리자.
  • 재현 가능한 빌드에 초점을 맞춘 리눅스 및 MacOS용 기능 패키지 매니저 Nix는 NixOS 리눅스 배포에 사용된다.
  • GuixSD 리눅스 배포에 사용되는 Nix 기반 기능 패키지 관리자 GuixSD 리눅스 배포에 사용된다.
  • 연구 워크플로우를 위한 소프트웨어 환경을 재구축하기 위한 집단 지식, 교차 플랫폼 패키지 관리자
  • 홈브루, MacOS용 패키지 관리자

다른이들

  • checkinstall, checkinstall은 설치 절차를 모니터링하고 배포를 위한 표준 패키지를 생성하는 프로그램이다.
  • 다양한 Linux 배포를 위한 패키지 구축을 지원하는 호스트 서비스인 Open Build Service

라이센싱 개요

공구명 설명 언어 면허증
A-A-P 요리법 GNU GPL
개미 XML 아파치 라이선스 2.0
안틸프로 제조, 배포, 테스트 프로세스를 제어하기 위해 제조, 개미, 메이븐, MsBuild, Nant 등을 랩으로 만드십시오. 중단됨
대나무 지속적인 통합 시제품
바젤 Python과 같은 DSL인 BULD/Starlark 아파치 라이선스 2.0
빌드AMATion 빌드 스크립트의 경우 C#, 상위 수준의 종속성을 위한 XML 새 BSD 라이센스
빌더 루비 아파치 라이선스 2.0
부츠 클로저 이클립스 공용 라이선스
카피스트라노 XML MIT 라이선스
CMake CMakeLists를 사용한다.txt 파일 새 BSD 라이센스
집합적 지식 프레임워크 JSON API 및 JSON 메타 설명이 포함된 Python 스크립트 새 BSD 라이센스
연속체 ? 아파치 라이선스 2.0
크루즈 컨트롤 XML BSD 형식 라이센스
더블 JSON, SDL MIT 라이선스
파이널빌더 Ant/NNT, MSBuild, JScript, VBScript, IronPython, PowerShell을 지원하는 그래픽 IDE 시제품
그라들 그루비 기반 DSL; 코틀린 기반 DSL 아파치 라이선스 2.0
젠킨스 지속적인 통합 MIT 라이선스
홈브루 루비 단순화된 BSD 라이센스
라이닝언 클로저 이클립스 공용 라이선스
만들다 Makefile 사용 OS 번들링과 동일
메이븐 프로젝트 객체 모델 아파치 라이선스 2.0
메손 빌드 시스템 사용자 정의 DSL 아파치 라이선스 2.0
스칼라 MIT 라이선스
MPW 메이크 ? 프리웨어
MSBuild XML MIT 라이선스
NAnt XML GNU GPL
nmake Makefile 사용 프리웨어
오픈 빌드 서비스 다양한 패키지 및 이미지 설명 형식(사양, DSC, ARCH, 키위) 사용 GNU GPL
페르포스 잼 Jamfile 사용 중단됨
퍼싱 XML GNU LGPL
갈퀴 루비 MIT 라이선스
sbt(단순 빌드 도구) 스칼라 기반 DSL 새 BSD 라이센스
스콘스 파이톤 MIT 라이선스
팀 파운데이션 서버 MSBuild, Windows Presentation Foundation, JSON - REST 인터페이스, Programmatic(코드를 통해 정의를 생성할 수 있음) 시제품
트위커(빌드 도구) 임의의 (기본적으로 확장을 위한 타사 인터페이스가 있는 Ant, bash, batch, C, Erlang, Java, SQL 및 VBScript) GNU GPLv3
비주얼 빌드 XML 시제품
와프 파이톤 새 BSD 라이센스

참조

  1. ^ PVCS-make 스크립트를 GNU-make, From: Paul D로 포팅하는 것에 대한 메일링 목록 토론.스미스, 제목:Re: PVCS에서 GNU로, 날짜: 2003-02-25
  2. ^ "cmake-generators(7) — CMake 3.11.1 Documentation". cmake.org.
  3. ^ "Setting Up CMake - Qt Creator Manual". doc.qt.io.
  4. ^ a b "GNOME Builder Development Environment Picking Up Many Features For GNOME 3.28 - Phoronix". www.phoronix.com.
  5. ^ "GN".
  6. ^ "Introducing Azure DevOps".
  7. ^ https://confluence.atlassian.com/bitbucket/build-test-and-deploy-with-pipelines-792496469.html 크로스 플랫폼

외부 링크