Open Build Service를 들어보셨나요? 

Open Build Service(http://openbuildservice.org/) 일명 OBS를 간략히 소개해 드립니다. OBS는 openSUSE 프로젝트로 바이너리 패키지를 빌드하고 배포하는 범용 시스템입니다. OBS를 활용하게 되면 넓은 범위의 운영체제(Linux), 하드웨어 아키텍쳐(예:arm, i586 등)를 위한 업데이트, 추가 기능, 제품에 대한 패키지 들을 릴리즈 할 수 있습니다. 예를 들면 하나의 소스로 arm용 바이너리와 i586용 바이너리를 빌드해서 배포할 수 있다는 것이죠.



현재 오픈수세 관련 패키지들을 위해 http://build.opensuse.org 사이트에서 약 3만명의 사용자들이 140,000 패키지들을 사용하고 있다고 합니다. 그리고 TizenVideoLan과 같은 오픈소스 프로젝트의 빌드 시스템으로 사용하고 있습니다.


OBS 프로젝트의 큰 특징 중 하나는 패키지 빌드를 수행할 수 있고, 패키지의 의존성을 파악해 관련있는 패키지도 자동으로 갱신하면서 빌드를 해준다는 것입니다. 


기능적인 측면에서 보면 프로그래밍에서 협업을 하면서 가장 큰 문제가 되는 의존성에 대한 대안으로 사용할 수 있다고 할 수 있습니다. 하지만 시스템 운영 측면에서 보면 큰 단점이 하나 있습니다. 그것은 바로 부실한 메뉴얼입니다. 한마디로 맨땅에 해딩하면서 문제를 해결해야 한다는 것이죠. 물론 OBS 프로젝트는 계속 수정되고 개선되고 있지만 그에 대한 가이드나 문제가 발생했을때 해결책을 찾기란 많이 어렵습니다.


그리고 VideoLan의 경우 OBS의 frontend 서비스를 직접 만들고, backend 서비스로 OBS기능을 이용하여 서비스를 제공하는 모습이 특이했습니다. 저도 조금 더 역량을 키워 backend기능을 활용해 자신에게 맞는 frontend서비스를 구축 하고 싶네요. 




https://github.com/openSUSE/open-build-service

http://openbuildservice.org/about/

http://nightlies.videolan.org/

https://build.tizen.org/


'개발자 > Tizen Build Infra' 카테고리의 다른 글

OBS - Open Build Service 서비스 시작  (0) 2014.03.19
Posted by 빌리 :

OpenSUSE 12.1/12.3 기준

OBS(http://www.openbuildservice.org/) 서비스를 운영하기 위해선 각 컴포넌트들을 순서대로 실행하고, 다시 역순으로 프로그램을 종료해야 최대한 문제를 줄일 수 있다. 


이 중 memcache나 obs warden 컴포넌트의 경우 실행하지 않아도 OBS 실행에 지장이 없다.


서비스 시작 

rcmemcached start     # optional

rcmysql start

rcobsrepserver start

rcobssrcserver start

rcobsscheduler start

rcobsworker start

rcobsdispatcher start

rcobspublisher  start

rcobswarden start      # optional

rcapache2 start

rcobsapidelayed start


서비스 종료

rcapache2 stop

rcobsapidelayed stop

rcobswarden stop       # optional

rcobspublisher  stop

rcobsdispatcher stop

rcobsworker stop

rcobsscheduler stop

rcobssrcserver stop

rcobsrepserver stop

rcmysql stop

rcmemcached stop       # optional


서비스 상태 보기

rcmemcached status  

rcmysql status

rcobsrepserver status

rcobssrcserver status

rcobsscheduler status

rcobsworker status

rcobsdispatcher status

rcobspublisher  status

rcobswarden status

rcapache2 status

rcobsapidelayed status


'개발자 > Tizen Build Infra' 카테고리의 다른 글

Open Build Service란?  (0) 2014.03.22
Posted by 빌리 :

2012년 배터리 전장 부품을 제조하는 회사에 개발 프로세스와 그 프로세스를 뒷받침해 줄 수 있는 PTC Integrity라는 시스템을 적용하는 일을 한적이 있었는데 그 때 시스템을 설치하는 방법을 정리한 글입니다.


PTC Integrity 설치 방법 정리(2012년 기준)

I. 기본 환경 설정 

1. Database가 TCP/IP 사용가능한지 설정 확인(SQL Server 기준)

2. Database 생성 및 관리 계정 생성 : 관리 계정은 생성된 DB의 Owner로 지정

3. Flex Licence Server 설치 (Floating license 관리를 위해 사용)

1) 제공된 Disk에서 Flex 폴더 전체를 로컬 위치에 복사

2) 라이센스 파일을 Flex 폴더로 복사

- 파일 내 첫 줄에 서버 정보를 Host Name 또는 IP로 변경 (라이센스가 IP 제한이 있는 경우)

3) Flex 폴더의 setup 프로그램 실행

- LMTOOL 

-> Config Service 창 확인

-> Service 명 지정

-> lmgrd.exe 파일 위치 지정

-> licence 파일 위치 지정(2번에 복사한 파일)

-> Log 파일 위치 지정

-> Service 실행

4) Flex 실행 확인 : 3)에서 지정한 로그 파일 확인

4. OS에 맞는 Integrity Server 설치

1) 시리얼 입력 : XXXXXXX

2) 라이센스 파일 위치 지정

3) 서버 선택에서 Full Server 선택

4) 서버 타입 선택에서 "Both"로 지정

5) 1에서 생성한 Database 정보 입력


II. Integrity 서버 설정

1. 설정 파일 수정

1) Integrity설치 경로/config/properties/is.properties 파일 수정

- 라이센스 타입을 파일 대신 License 서버로 변경

-> mksis.licensePath=[License Server IP or Host]

ex) mksis.licensePath=27000@127.0.0.1

2) Integrity설치 경로/config/properties/security.properties 파일 수정

- 컴퓨터 Domain에 연결된 로컬 사용자 정보를 읽지 못하게 변경(자체 계정 관리 사용시)

-> mks.security.policy.scheme.default=mksdomain_clear

3) 초기 사용자/그룹 설정을 위한 파일 수정 : 서버가 실행되면 생성된 파일을 자동으로 읽어 사용자와 그룹을 추가한 후 파일이 삭제된다. 

Integrity설치 경로/data/group.properties         #그룹 / 사용자 등록

- Integrity설치 경로/data/password.properties     # 사용자 암호 등록

2. Integrity Server 서비스 실행 (service.msc에서 실행가능)

-> 실행이 제대로 되었는지 Log 확인 :  Integrity설치 경로/log/server.log


III. Integrity Client 설정

1. Client 설치

1) 서버 타입 선택 : Both

2) Server 설정 : 서버 IP, Port(default:7001)

Posted by 빌리 :