Bazel 빌드툴
Tensorflow Serving을 살펴보다보니, Serving Server는 C++기반에 gRPC 인터페이스 기반이라는 것을 알았는데,
빌드 환경이 bazel이라는 것을 사용한다. 그래서 Bazel이 무엇인가 찾아봤는데. 쉽게 말하면 빌드 툴이다
위키에 설명이 가장 잘나와 있는데, 구글에서 만든 빌드 시스템으로, 구글의 경우 큰 소스코드를 빌드하기 때문에, 이를 위해서 만들어진 빌드 시스템을 오픈소스화 한것으로, 분산 빌드등을 제공하고 빠른 성능을 제공한다.
쉽게 말해서 make,ant,gradle,maven과 같은 빌드 시스템으로 보면 된다.
Java,C,C++,Python,Object C등의 언어를 지원한다.
https://en.wikipedia.org/wiki/Bazel_(software)
In software development, Bazel is an open source tool that allows for the automation of building and testing of software.[2] The company Google uses the build tool Blaze internally[3] and released and open-sourced part of the Blaze tool as Bazel, named as an anagram of Blaze.[4] Bazel was first released in March 2015 and achieved beta status by September 2015.[5]
Similar to build tools like Make, Apache Ant, or Apache Maven,[2][4] Bazel builds software applications from source code using a set of rules. Rules and macros are created in the Skylark language, a subset of Python.[4] There are built-in rules for building software written in the programming languages of Java, C, C++, Python, Objective-C and Bourne shell scripts.[4][5] Bazel can produce software application packages suitable for deployment for the Android and iOS operating systems.[6]
In designing Bazel, emphasis has been placed on build speed, correctness, and reproducibility.[2][4] The tools uses parallelization to speed up parts of the build process.[4] It includes a Bazel Query language that can be used to analyze build dependencies in complex build graphs.[4]
아무래도 개발 환경 설정이 쉽지 않은 만큼, Bazel C++ 빌드 환경이 패키징된 도커 환경을 알아보는것이 더 좋겠다.
'ALM > Build Automation (빌드 자동화)' 카테고리의 다른 글
Maven을 이용한 데비안(*.deb) 패키지 빌드 (0) | 2018.03.05 |
---|---|
gitHub와 Jenkins 연결하기 (0) | 2018.03.01 |
maven nexus 설치 (1) | 2013.09.05 |
maven repository인 nexus pro에 대한 고급 기능 소개 (0) | 2013.07.31 |
maven으로 환경별도 다르게 패키징 하기 & RPM 패키징 #2/2 (1) | 2013.04.15 |