gerrit 12

차량용 소프트웨어 개발 환경 2부

이 글에서는 차량용 IVI 소프트웨어 개발 환경에 대해서 이야기하고자 한다. ELCE 2019에 필자가 제출했고 리젝되었던 제목과 초록은 아래와 같다. Software development process with CI/CD in embedded linux using Yocto Project Yocto Project uses lots of embedded linux products such as consumer electronics, automotive industries, and others. The software development process is different depended on company. According to the process, speed and product quality ..

Automotive 2023.04.21

repo를 이용한 저장소 fork (gerrit)

android 전체 저장소 fork 를 쉽게 하는 방법을 간단히 소개한다. 1. 현재 android 를 받는다. $ repo init -u https://android.googlesource.com/a/platform/manifest $ repo sync -j8 $ repo start android 2. 신규 gerrit 저장소들을 ssh 명령어로 생성한다. $ repo forall -c 'ssh -p 29418 ssh://chbae.yocto.co.kr gerrit create-project $REPO_PROJECT --parent=xxxxx' 3. 신규 생성된 저장소를 remote 저장소로 등록한다. $ repo forall -c 'git remote add chbae ssh://chbae.yocto..

Development 2023.04.21

AGL (Automotive Grade Linux)와 GENIVI 간단한 소개 및 Contribution하는 방법

ELC 2017에서 발표된 차량용 오픈 소스 AGL (Automotive Grade Linux)와 GENIVI에 대한 간략한 소개 와 기여 방법 자료가 있어 공유하고자 한다. AGL은 형상관리, CI, issue tracking 시스템으로 각각 git/gerrit, jenkins, jira를 사용하고 GENIVI는 github, go.cd, jira를 사용한다. 기본적으로 git에 대한 사용법을 알고 code review 시스템으로 gerrit 과 github까지 학습하면 오픈소스에서 많이 사용하는 형상관리 시스템을 어느정도 익혔다고 볼 수도 있다. https://www.slideshare.net/slideshow/embed_code/key/LFWNLp4psk5jA8 Contributing to Auto..

Development 2023.04.20

Gerrit 관련 유용한 명령어 및 정보

Gerrit 코드 리뷰 책에 나온 Gerrit 관련 유용한 정보를 간단히 적어본다. Git과 Gerrit reference Git reference /refs/heads/*: 경로 기준 구조로 표현되는 깃 저장소의 모든 branch, refs/heads/master는 개발이 중심이 되는 branch /refs/tags/*: 경로 기준 구조로 표현되며, git 정소 내에 부여된 모든 tag Gerrit reference refs/changes/*: Gerrit에 올라온 모든 변경을 의미하며 //의 형식을 따른다. refs/meta/config: 보안, 그룹, 제출 규칙 등 Gerrit의 내부적인 프로젝트 설정 파일 refs/for/*, refs/publish/*: 리뷰 받을 변경 사항을 올릴 수 있는 특수..

Development 2023.04.20

[도서] 성공으로 이끄는 팀 개발 실천 기술

요즘 개발 환경과 방법론에 대해 부쩍 관심이 많아져 다양한 책과 기사를 접하고 있다. 요즘 많은 곳에서 데브옵스(DevOps) 방법론을 많이 사용하고 있고 이를 기반으로 설명한 책들도 많이 나오고 있다. 이 책도 그중에 한권이라고 생각한다. 책소개 이 책은 서비스 및 애플리케이션을 개발하는 기업에서 팀을 이뤄 개발을 진행시켜 나가는 데 필요한 사고방식이나 사용하는 도구, 그리고 이들 도구를 제대로 사용할 수 있도록 도와주고 있다. 책 도입부에서는 일이 잘 진행되지 않는 개발 현장의 일례를 보여주고 그 이유와 대책에 대해 설명한다. 그런 다음, 그 대책에 필요한 도구를 소개하고, 이어 버전 관리, 티켓 관리, CI(지속적인 통합) 배포, 회귀 테스트 등의 장을 통해 각 도구의 사용법과 함께 현장 경험이 풍..

Book 2023.04.20

Gerrit와 gitweb과 연동

Ubuntu에서 gerrit을 설치하고, gitweb을 설치해 연동하는 방법이다. 여기서는 gitweb을 위해, 따로 webserver을 설치하지 않고 gerrit의 설정을 그대로 사용하는 방법에 대해서 설명한다. 따로 설정하여 연동하는 방법은 좀 더 복잡하니, https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-GitWeb를 참고해 gitweb을 설치하고, gerrit과의 연동에서 gitweb uri을 추가해 주면 된다. 테스트 환경 Ubuntu 14.04 64bit 설치 방법 gitweb 설치 $ sudo apt-get install gitweb 설치하면 /usr/lib/cgi-bin/gitweb.cgi 파일이 생긴 것을 볼 수 있다. gerrit과 연동,..

Development 2023.04.20

Gerrit에 Label 추가하기

이 글은, 아래 그림에서 "Code-Review:"와 같이, 기본 All-Projects에 Gerrit에 Label을 추가하는 방법을 설명한다. 1. All-Projects를 받아서 config로 checkout 한다. $ git clone ssh://xxxx/All-Projects $ cd All-Projects $ git fetch origin refs/meta/config:config && git checkout config $ vi project.config 2. 추가하고 싶은 Label을 아래와 같이 적는다. 자세한 내용은 Reference를 참고하기 바란다. [label "ABI"] function = NoOp value = 0 Don't run ABI Checker value = +1 Run..

Development 2023.04.19

git/gerrit 저장소의 default branch 변경하는 방법

git/gerrit 저장소의 default branch 변경하는 방법은 4가지 정도가 있다. 1. gerrit ui에서 변경하는 방법 in the Web UI under 'Projects' > 'List' > > 'Branches' UI에서 변경하는 것은 설정에 따라 막혀 있을 수 도 있다. https://gerrit-review.googlesource.com/Documentation/project-configuration.html#default-branch 2. ssh command 이용하는 방법 'ssh' -p 'gerrit set-head' --new-head 필자가 직접 해보진 않았지만 될 것 같다. 3. git/gerrit 서버에 직접 들어가서 변경하는 방법 서버에 관련 저장소 위치에 들어가서 ..

Development 2023.04.18

[도서] Gerrit 코드 리뷰

Gerrit 번역판이 있을까 검색하다가 나온 책이 "Gerrit 코드 리뷰"이다. 쉽고 초보자들이 보기 좋게 써있는 것 같다. 1장: 코드 리뷰 개요 2장 ~ 5장은 초기 셋팅 밑 관리자용 설정 부분 6장 ~ 7장은 Gerrit 사용하는 기본적인 방법 부록 A는 github와 gerrit의 연동 부록 B는 Jenkins와 gerrit 연동 부록 C는 git 기초 에 대해서 소개하고 있다. 단순 설치가 필요 없는 개발자라면5장 ~ 7장, 부록 C를 읽기를 권장한다. 완전 기본서로 아주 맘 편하게 볼 책이라고 생각한다. 참고로 git에 대해서 자세히 알고 싶으면 pro git(한글 번역판 있음)이라는 책을 구입하거나 아래 사이트에 무료로 공개하고 있으니 받아서 봐도 좋을 듯 하다. git 책으로서는 강력 추..

Book 2023.04.18