'git'에 해당되는 글 8건

  1. 2014.05.21 CI환경 구축 (08)
  2. 2014.05.20 CI환경 구축 (07)
  3. 2014.05.19 CI환경 구축 (06)
  4. 2014.05.16 CI환경 구축 (05)
  5. 2014.05.15 CI환경 구축 (04)
  6. 2014.05.14 CI환경 구축 (03)
  7. 2014.05.13 CI환경 구축 (02)
  8. 2014.05.12 CI환경 구축 (01)

CI환경 구축 (08)

개발/CI 2014. 5. 21. 22:00

1. TortoiseGIt 설치

GUI환경에서 Git을 사용하기 위해 TortoiseGit을 설치한다.

Git Window PC에서의 UI제어를 지원하는 툴로서 CVS에서의 TortoiseCVS, SVN에서의 TortoiseSVN과 동일한 역할을 한다.


아래 링크에서 설치파일을 다운받는다.

http://code.google.com/p/tortoisegit/

다운로드된 설치파일을 실행하여 설치를 진행하는데 이 문서에서는 아래 버전을 사용한다.

TortoiseGit-1.8.5.0-64bit.msi


TortoiseGit-1.8.5.0-64bit.msi 파일을 더블클릭하여 설치파일을 실행한다.

아래 화면에서 Next버튼을 클릭한다.




라이선스 및 정보 확인창에서 정보를 확인하고 Next버튼을 클릭한다.



SSH선택 창인데 윈도우환경이므로 Default인 TortoiseGitPLink를 그대로 선택하고 Next버튼을 클릭한다.



설치위치와 기능은 기본인 상태에서 Next버튼을 클릭한다.



Install버튼을 클릭하여 설치를 실행한다.




설치가 완료되면 Finish버튼을 클릭하여 설치를 완료한다.




아무 폴더에서나 마우스 오른쪽 키를 눌러서 확인하면 아래와 같이 Git관련 메뉴가 보인다.








'개발 > CI' 카테고리의 다른 글

CI환경 구축 (10)  (0) 2014.05.23
CI환경 구축 (09)  (0) 2014.05.22
CI환경 구축 (07)  (0) 2014.05.20
CI환경 구축 (06)  (0) 2014.05.19
CI환경 구축 (05)  (0) 2014.05.16
Posted by 무혹
,

CI환경 구축 (07)

개발/CI 2014. 5. 20. 22:00

1. 클라이언트 GIt 설치

윈도우에서 GIt을 설치하므로 아래 링크에서 설치파일을 다운받는다.

http://msysgit.github.io/

다운로드된 설치파일을 실행하여 설치를 진행하는데 이 문서에서는 아래 버전을 사용한다.

Git-1.8.4-preview20130916.exe



Git-1.8.4-preview20130916.exe 을 더블클릭하여 설치파일을 실행한다.



Next 버튼을 클릭한다.



라이선스 확인창에서 Next 버튼을 클릭한다. 



설치위치가 보여지는데 기본위치를 사용하기로 하고 Next 버튼을 클릭한다.




옵션설정 창이 나오는데 기본적으로 설정된 내용으로 Next 버튼을 클릭한다.




시작메뉴에 추가할 폴더명을 선택하게 되는데 변경없이 Next 버튼을 클릭한다.




아래 화면에서 원하는 옵션을 선택하고 Next 버튼을 클릭한다.

- Use Git Bash only : Bash Prompt를 사용하는 옵션으로 cygwin을 사용해야 함

- Run Git from the Windows Command Prompt : Windows Command Prompt 사용

- Run Git and Included Unix tools from the Windows Command Prompt :

Windows Command Prompt에서 Unix 명령어까지 사용하나 윈도우 실행파일이 변경됨




다음 화면에서 line encoding방식을 선택하고 Next 버튼을 클릭한다.




최종적으로 아래 화면이 보여지면 설치가 완료된다.




정상적으로 설치가 완료되면 아래와 같은 메뉴 화면이 보여진다.













'개발 > CI' 카테고리의 다른 글

CI환경 구축 (09)  (0) 2014.05.22
CI환경 구축 (08)  (0) 2014.05.21
CI환경 구축 (06)  (0) 2014.05.19
CI환경 구축 (05)  (0) 2014.05.16
CI환경 구축 (04)  (0) 2014.05.15
Posted by 무혹
,

CI환경 구축 (06)

개발/CI 2014. 5. 19. 22:00

1. Gitblit의 윈도우 서비스 등록

Gitblit Root 디렉토리에서 installService.cmd를 편집기로 오픈한다.


@rem arch = x86, amd64, or ia32

수정전 : SET ARCH=amd64

수정후 : SET ARCH=x86



default keystore password를 변경한 경우에는 아래의 파라미터를 변경한다.

--StartParams-“—storePassword;gitblit;--baseFolder;%CD%\data”

위의 비밀번호를 다음과 같이 변경한 비밀번호로 변경한다.

--StartParams-“—storePassword;password;--baseFolder;%CD%\data”


윈도우 서비스로 등록하기 위해 명령행창을 관리자 권한으로 실행한다.

installService.cmd를 실행한다.




서비스가 정상적으로 등록되면 아래와 같이 보여진다.




서비스 등록후에는 gitblit Root 폴더의 gitblitw를 실행하면 설정변경 및 서비스 시작 및 종료를 할 수 있다. (관리자권한으로 실행해야 함)




(오류 확인)

윈도우 서비스로 등록시 포트중복 등 여러가지 원인으로 오류가 발생할 수 있다.

이 경우 gitblit Root 아래의 logs폴더를 확인하면 서비스 실행 및 기타 오류를 확인하여 조치할 수 있다.


(오류 종류)

포트 중복 : 타 서비스와 포트가 중복되는 경우 발생함


식별자 오류 : Gitblit 키스토어 패스워드에 $가 포함되는 경우에 발생함

오류 메시지 : Was passed main parameter ‘$’ but no main parameter was defined


(keystore 위치)

%GITBLIT_HOME%\data\certs\caKeyStore.p12



'개발 > CI' 카테고리의 다른 글

CI환경 구축 (08)  (0) 2014.05.21
CI환경 구축 (07)  (0) 2014.05.20
CI환경 구축 (05)  (0) 2014.05.16
CI환경 구축 (04)  (0) 2014.05.15
CI환경 구축 (03)  (0) 2014.05.14
Posted by 무혹
,

CI환경 구축 (05)

개발/CI 2014. 5. 16. 22:00

1. 저장소 생성 및 권한 설정


저장소 메뉴를 선택한다.




새 저장소 메뉴를 클릭한다.




일반탭에 필요한 내용을 기술하고 접속권한에 필요 권한을 설정한다.








'개발 > CI' 카테고리의 다른 글

CI환경 구축 (07)  (0) 2014.05.20
CI환경 구축 (06)  (0) 2014.05.19
CI환경 구축 (04)  (0) 2014.05.15
CI환경 구축 (03)  (0) 2014.05.14
CI환경 구축 (02)  (0) 2014.05.13
Posted by 무혹
,

CI환경 구축 (04)

개발/CI 2014. 5. 15. 14:20

1. Gitblit 계정 추가

관리자로 로그인하고 상위 메뉴중 "유저"를 클릭한다.



사용자 추가 메뉴를 클릭한다.




계정생성을 위해 필요한 정보를 입력하고 저장버튼을 클릭한다.




2. 클라이언트 인증서 생성


Gitblit에 계정을 추가하고 authority.cmd를 실행시키면 해당 계정을 인식한다.

(SSL을 사용하기를 원하지 않으면 아래에 진행되는 클라이언트 인증서 생성은 진행할 필요가 없다.)




클라이언트 인증서를 생성하려는 사용자를 선택한다.




새 인증서 버튼을 클릭하여 인증서 생성을 진행한다.



keystore 비밀번호를 입력하여 인증서 생성을 완료한다.













'개발 > CI' 카테고리의 다른 글

CI환경 구축 (06)  (0) 2014.05.19
CI환경 구축 (05)  (0) 2014.05.16
CI환경 구축 (03)  (0) 2014.05.14
CI환경 구축 (02)  (0) 2014.05.13
CI환경 구축 (01)  (0) 2014.05.12
Posted by 무혹
,

CI환경 구축 (03)

개발/CI 2014. 5. 14. 22:00


SSL 서버 인증서 생성을 위해 authority.cmd를 명령창에서 실행한다.

 

실행되어진 창에서 인증서 생성버튼을 클릭한다.




팝업창에서 hostname이나 IP를 입력하고 이 인증서로 https제공을 체크한 후에 OK버튼을 클릭한다.




바뀐 화면에서 키스토어 패스워드를 입력한다.




입력한 서버주소를 위한 새 서버 인증서를 생성했다는 메시지가 보인다.





완료되면 gitblit를 재시작한다.



'개발 > CI' 카테고리의 다른 글

CI환경 구축 (06)  (0) 2014.05.19
CI환경 구축 (05)  (0) 2014.05.16
CI환경 구축 (04)  (0) 2014.05.15
CI환경 구축 (02)  (0) 2014.05.13
CI환경 구축 (01)  (0) 2014.05.12
Posted by 무혹
,

CI환경 구축 (02)

개발/CI 2014. 5. 13. 22:00

1.     Git Server 선정과정

-       Git은 분산환경이므로 중앙저장소가 필요없다고 하지만 회사내에서 여러명이 사용하려면 중앙저장소가 필요하다. 이모저모 확인해보니 2가지로 나눌 수 있었다.

우선 서버제공방식 : 유명한 곳이 github인데 (이외에 몇군데 더 있더라) 무료인 경우에는 소스를 오픈해야 하며(오픈소스) 본인의 소스를 private하게 관리하면 비용이 필요하다.

           비용은 아래 캡처한 바와 같다.



비싼 가격은 아니라고 생각하지만 매달 적지만 계속 비용이 나간다고 회사에 말하기가 싫었다.

그래서 설치형으로 직접 설치하려고 조사를 해서 몇가지를 확인했다.

윈도우서버를 대상으로 하니 Bonobo Git ServerGitblit2가지가 나왔다.

우선 Bonobo Git Server를 설치해보았는데 권한설정등의 기능이 미약해서 Gitblit으로 설치했는데 원하는 기능이 모두 지원되었다. 한가지 아쉬운점은 branch별 권한이 설정되지 않는 부분이었지만 그정도로 만족하기로 했다. (서핑하다 보니 branch별 권한도 설정할 수 있는 설치형 git server가 있다고 본 것 같다. 하지만 이제는 귀찮다.)

 

2.     Git Server 설치

Gitblit의 홈페이지( http://gitblit.com )에서 설치파일을 다운받는다.

 



 

다운로드받은 압축파일을 설치를 원하는 위치로 이동하고 압축해제한다.



 

 

설치디렉토리 아래의 data/gitblit.properties 파일을 수정한다.



 

server.httpPort = 원하는 포트

server.httpsPort = 원하는 포트

 

server.httpBindInterface = 서버 URL

server.httpsBindInterface = 서버 URL

 

server.certificateAlias = 서버 URL

 

 

 

 

 

authority.cmd 또는 java –cp gitblit.jar com.gitblit.authority.Launcher –baseFolder data를 명령행창에서 실행한다. (컴퓨터에 자바가 설치되지 않은 경우 설치함)

(주의) 실행시에 비밀번호 7자 제한에 대한 경고가 아래와 같이 보일 수 있다.



 

비밀번호 제한을 해제하려면 아니오를 선택하여 JCE를 다운받는다.



 



unlimitedJCEPolicyJDK7.zip을 압축해제하고 jre/lib/security에 넣는다.

 

 

 

실행된 창에서 키스토어를 생성한다.

생성시 사이트 주소를 입력한다.

() www.aaa.co.kr

 

창에서 설정하기를 원하는 키스토어 비밀번호를 입력한다.

() 1234

 

data\gitblit.properties 파일에서 아래 부분을 위에서 설정한 키스토어 비밀번호로 변경한다.

변경전 : server.storePassword = gitblit

변경후 : server.storePassword = 1234

 

 

gitblit.cmd를 실행한다.

 

 

서버의 주소로 연결을 시도한다.

-       연결 실패시 위에서 설정한 포트를 방화벽에서 열어준다.

 

 

 

 

 

 

최초에 admin계정이 생성되어 있으므로 admin/admin을 입력하고 로그인 버튼을 클릭하여 로그인한다.



 

'개발 > CI' 카테고리의 다른 글

CI환경 구축 (06)  (0) 2014.05.19
CI환경 구축 (05)  (0) 2014.05.16
CI환경 구축 (04)  (0) 2014.05.15
CI환경 구축 (03)  (0) 2014.05.14
CI환경 구축 (01)  (0) 2014.05.12
Posted by 무혹
,

CI환경 구축 (01)

개발/CI 2014. 5. 12. 22:00

1.     지속적인 통합

CI (Continuous Integration) : 정의로서의 의미는 링크걸려있는 위키백과를 보면 되겠다. 내가 생각하는 의미는 개발시 단위 모듈별로 빌드 및 테스트를 계속 반복하여 버그(자체 버그 및 모듈간 연동 버그)를 조기에 발견하는데 적합하다. 점점 복잡도가 올라가는 현재 개발환경에서는 선택이 아닌 필수라고 생각된다.

CI를 하겠다고 해서 그냥 자동으로 되는 것은 아니며 (그렇다면 좋으련만) 물리적인 부분과 감정적(?)인 부분이 필요하다.

감정적인 부분이야 필요성을 조직원들이 인지하고 협업하면서 문화를 정착해나가는 부분이므로 글로 써봐야 소용이 없다. (CI를 글로 배웠나?)

그래서 관련 솔루션 구축 및 설정등의 물리적인 부분을 위주로 적으려고 한다.

 

2.     연관 솔루션

l  소스관리 : 모든 소스를 하나의 Repository에서 관리하기 위한 툴이다.

소스관리시에는 몇가지 원칙이 있다. 우선 빌드를 위한 모든 내용을 빼먹지 말아야 한다.

오픈소스 라이브러리를 사용하고 있다면 동일 버전의 해당 라이브러리를 소스와 동일 Repository에서 관리해야 한다. 이렇게 하지 않는 경우의 단점은 말하지 않아도

반대로 Repository에서 빌드를 통해 생성할 수 있는 실행파일등은 관리대상에서 제외한다.

언제나 생성할 수 있는 결과물을 저장하여 생기는 용량의 증가와 이해의 어려움을 방지하기 위함이다.

소스관리 툴은 아래와 같이 여러가지 종류가 있다.

-       cvs : 예전부터 사용되던 오픈소스 버전관리툴로서 지금도 사용하는 곳이 있는지는 모르겠다. 오픈소스로서 비용부담없이 사용할 수 있어서 소스관리가 퍼지는데 큰 도움을 주었다. 지금은 더 좋은 툴들이 많아서 점유률이 점점 낮아지는중. 업그레이드도 안되는 것 같다.

-       svn : cvs를 개선한 툴로서 cvs를 만든 사람들이 단점을 보완해서 개발했다고 한다.

지금도 여러곳에서 사용하지만 git의 화려한 명성에 밀리고 있어 보인다.

개인적으로는 분산개발환경이 아니라도 git이 좋다고 생각한다. branch의 비용 때문에.

-       git : 이 문서에서 채택한 툴로서 DVCS(Distributed Version Control System)이다.

리눅스의 버전관리툴로 사용되며 유료/무료 호스팅도 많이 있으며 흔한 말로 대세이다.

빠른 속도, 단순한 구조, 비선형적인 개발, 완벽한 분산을 추구한다.

그외 Mercurial, Perforce등의 툴들이 있다고 하는데 이름만 들어봤다.

 

l  이슈 트래커

프로젝트 내의 모든 이슈를 처리하기 위한 툴이다. 하나의 Repository에서 모든 이슈를 관리하므로 처리이력이나 이슈간 관계를 처리하기 좋다.

이슈 트래커의 종류는 다음과 같다.

-       Mantis : 파이선으로 만들어진 이슈트래커로 이슈관리에 특화되어 있다.

가볍게 쓰기에 좋은 툴이다.

-       Jira : 아틀란시안의 툴로서 해당 회사의 제품을 쓴다면 사용하기 좋다. 10명까지는 가격도 싸고.. 하지만 그 이상의 사용자를 쓰려면 비용이 기하급수적으로 늘어난다.

-       Redmine : Ruby로 만들어진 이슈트래커로서 오픈소스 진영에서 가장 많이 사용하는 툴이라고 생각된다. 여러 플러그인을 통해 기능이 많이 확장된다. 거의 안되는게 없을 정도.

-       그외에 bugzilla, trac등이 있다. ,

 

l  CI

소스관리툴과 연동하여 지속적으로 빌드 및 단위테스트를 수행하는 툴이다.

종류는 다음과 같다.

-       cruisecontrol : 몇번 사용해보기는 했지만 왠지 어색했다. 사용한지 오래되기는 했지만 버그도 좀 있었던것으로 기억된다.

-       Bamboo : jira를 만든 회사에서 만들었으므로 jira와 찰떡궁합. 역시 유료

-       Hudson : sun의 지원을 받다가 oracle의 지배를 받게 된 툴

-       Jenkins : hudson 개발자들이 oracle에게서 독립을 선언하고 새롭게 만든 툴로서 기능도 많고 사용하기 좋은 툴이다.

-       그외에 Anthill, Teamcity등이 있다.

 

 

 

3.     솔루션 선정

-       여기서는 소스관리에 Git, 이슈트래커에 Redmine, CI툴에는 jenkins를 사용하기로 했다.

선정사유는 별다른거 없고 가장 hot한 솔루션위주이다.

       -    윈도우 환경에서 설정하는 경우를 사례로 작성했다.

 

 

 

 

 

'개발 > CI' 카테고리의 다른 글

CI환경 구축 (06)  (0) 2014.05.19
CI환경 구축 (05)  (0) 2014.05.16
CI환경 구축 (04)  (0) 2014.05.15
CI환경 구축 (03)  (0) 2014.05.14
CI환경 구축 (02)  (0) 2014.05.13
Posted by 무혹
,