'개발'에 해당되는 글 73건

  1. 2014.05.16 CI환경 구축 (05)
  2. 2014.05.15 CI환경 구축 (04)
  3. 2014.05.14 CI환경 구축 (03)
  4. 2014.05.13 CI환경 구축 (02)
  5. 2014.05.12 CI환경 구축 (01)
  6. 2014.02.10 한국 SW회사
  7. 2014.02.08 오픈소스 10선
  8. 2014.02.05 노땅 개발자
  9. 2014.01.29 White Domain 3
  10. 2014.01.28 White Domain 2

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 무혹
,

한국 SW회사

개발 2014. 2. 10. 23:00

실리콘밸리-개발자-눈에-비친-한국-SW회사



사실 위와 같은 회사가 거의 대부분이라고 본다.

왜 남에게 보이기 위해서. .남이 한다니까 하는 문화가 확산되었는지...


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

오픈소스 10선  (0) 2014.02.08
노땅 개발자  (0) 2014.02.05
TDD 비용관점  (0) 2014.01.09
NewSQL vs NoSQL  (0) 2014.01.03
node.js  (0) 2013.12.27
Posted by 무혹
,

오픈소스 10선

개발 2014. 2. 8. 22:19

올 한 해 계속 기억해야 할 오픈소스 수퍼 루키 10선

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

한국 SW회사  (0) 2014.02.10
노땅 개발자  (0) 2014.02.05
TDD 비용관점  (0) 2014.01.09
NewSQL vs NoSQL  (0) 2014.01.03
node.js  (0) 2013.12.27
Posted by 무혹
,

노땅 개발자

개발 2014. 2. 5. 22:00

나이를 먹으면서 필요한것에 대해서 정리해놓은 내용이다.

개발자는 개발만 잘해야 한다고 생각하지 않는다. 

예전에는 어떨지 몰라도 현재는 의사소통능력(커뮤니케이션)이 정말 

큰 영향을 차지한다고 생각한다.


http://mimul.com/pebble/default/2014/01/17/1389943844913.html

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

한국 SW회사  (0) 2014.02.10
오픈소스 10선  (0) 2014.02.08
TDD 비용관점  (0) 2014.01.09
NewSQL vs NoSQL  (0) 2014.01.03
node.js  (0) 2013.12.27
Posted by 무혹
,

White Domain 3

개발/개발일까 2014. 1. 29. 14:55

내가 고민했던 부분은 서브도메인을 White Domain으로 설정하는 경우였다.

우리 회사는 오피스365로 환경을 구성해서 기본 도메인의 SPF가 오피스365로 되어 있다.

그리고 대용량을 위한 메일서버가 따로 서브도메인으로 있다.

따라서 이미 SPF설정이 아래와 같은 형식으로 되어 있었다.

"v=spf1 include:spf.XXX.outlook.com -all" MS=msXXXXX

이 상태에서 어떻게 서브도메인을 설정해야 하는지 알 수 없었다.

시행착오를 겪다가 kisa에 문의하여 해결방법중에 하나를 적용했다.


우선 kisa에서 제시한 방법은 아래와 같다.

1. 현재 설정을 서브도메인기반으로 변경하고 다시 SPF레코드를 원래대로 변경

2. 본 도메인에 include로 서브도메인의 SPF레코드 추가.


이 중에 1번 방법은 변경할때마다 한쪽의 정보가 빠진다는 면에서 2번으로 설정했다.


순서는 다음과 같이 했다.

(예: test.co.kr, mail.test.co.kr )


a. 서브도메인 서버의 TXT값 변경

mail.test.co.kr의 txt값 변경 => v=spf1 ip4:XXX.XXX.XXX.XXX -all


b. 도메인의 txt값 변경

- 이전 : MS=msXXX "v=spf1 include:spf.XXX.outlook.com -all"

- 변경 : MS=msXXX "v=spf1 include:spf.XXX.outlook.com include:mail.test.co.kr -all"


이렇게 변경하면 SPF설정이 정상적으로 완료된다.

그 후에 white Domain을 신청하면 된다.



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

White Domain 2  (0) 2014.01.28
White Domain 1  (0) 2014.01.27
Posted by 무혹
,

White Domain 2

개발/개발일까 2014. 1. 28. 22:30

두가지 경우를 모두 살펴본다.


1. 하나의 메일서버를 등록하는 경우

(예) 도메인이 www.test.co.kr 이라고 가정하고 해당 도메인의 IP가 121,78.156.15라고 가정한다.


1) SPF작성

- Kisa(https://www.kisarbl.or.kr)에서 White Domain 등록에서 SPF작성도우미를 아래와 같이 진행한다.



- 위의 텍스트필드에 도메인을 입력한다. 위의 가정으로 한다면 test.co.kr을 입력한다.




- 다음 화면에서 IP의 텍스트필드에 해당 도메인의 IP를 입력한다. 위의 가정으로 한다면

 121,78.156.15을 입력한다.




- 최종적으로 위와 같은 형식의 결과가 보여진다.

실시간 조회결과에 나오는 설정값(현재는 없슴)과 권고안이 같으면 SPF가 정상설정되었다고 판단하면 된다. 

실시간 조회결과가 없거나 틀리면 버튼을 클릭하여 UnixWindows 시스템에 맞는 설정을 추가하고 확인한다.


2. White Domain등록

위의 설정이 완료되었으면 해당 정보를 이용하여 White Domain 등록 페이지에서 

등록신청을 진행한다.


그 후에는 포털로 보내는 메일들이 정상적으로 수신된다.


서브도메인을 등록하는건 다음 포스팅에서...


















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

White Domain 3  (0) 2014.01.29
White Domain 1  (0) 2014.01.27
Posted by 무혹
,