반응형
반응형

git bash등을 켜서, 디렉토리로 이동한 후 git init을 해주면, 로컬에 Repository가 생김.

 

webapp기준 target/폴더 등은 올라가 필요가 없으므로,

.gitignore파일을 생성하여 추적에서 제외시켜준다.

 

commit 까지 해준다. (git add, git commit) 

 

이제 원격지에 push를 해야 한다.

gerrit을 설치해서 gerrit에 push를 할 것이기 때문에, 다음 포스트는 gerrit 설치 및 연동이 될 것 같다. 

반응형
,
반응형

처음에는 네트워크 상황이 좋지 않아서 타임아웃이 발생했겠구나 싶었는데..

고작 500 line밖에 안되는 텍스트 문서가 타임아웃이 발생하는 건 좀 아닌 것 같고 해서 찾아보니..

역시나 Gerrit의 버그였다.

 

Gerrit 2.9.x 기준으로 해결방법은,

Old Screen -> new Screen으로 설정에서 바꿔주면 발생하지 않는다.

 

처음엔 New Screen이 복잡해보여서 사용을 안했었는데,

Diff 해주는 UI라던지, 코드 리뷰 점수, Submit등 화면이 안넘어가고 한 화면에서 누를 수 있어서

더 편한듯..?

반응형

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

[Git] 설치  (0) 2016.06.11
[Git] Repository 만들기  (0) 2016.06.11
[Git Bash] git push 명령어 만으로 Gerrit Master에 push하기  (0) 2016.06.11
[Gerrit] download-commands Plugin 설치  (0) 2016.06.11
[Git] Git bash public key 추가  (0) 2016.06.11
,
반응형

각 프로젝트에서 vi .git/config로 파일을 열어서

[remote "origin"] 항목에 한줄을 추가한다.


push=HEAD:refs/for/master 


위와 같이 설정을 바꾸어 두면, git push origin HEAD:refs/for/master로 gerrit에 push하던 것을

git push 만으로 가능하게 해준다.

반응형
,
반응형

Eclipse -> IntelliJ로 IDE변경 작업을 하면서,

mylyn에서 제공하던 IDE 자체 리뷰 기능을 사용하지 못해서 아쉬워하던 중..


IntelliJ에서도 gerrit plugin을 지원하여, IDE 자체에서 리뷰 기능을 제공하도록 하고 있었다.


gerrit 플러그인을 설치하고, 새로운 patchSet을 업로드 해보았는데.. 수동으로 검색하기 전까지 목록이 뜨지 않았고

아래와 같은 에러가 발생하였다.


Cannot fetch changes: No fetch information provided. If you are using Gerrit 2.8 or later, you need to install the plugin 'download-commands' in Gerrit.


대충 구글링하여 원인 파악을 해보니, IntelliJ에서 Gerrit으로 보내는 다운로드 프로토콜이 맞지 않아서 발생하는 에러라고 한다.


이 문제는 Gerrit에서 download-commands 플러그인을 설치하여, 다운로드 프로토콜을 추가 지원하면 해결이 된다.

설치 방법은 Gerrit이 설치된 Path의 bin폴더에 가서 아래 명령어를 입력하면 설치가 된다.


java -jar gerrit.war init -d {Gerrit Home 경로} --install-plugin=download-commands

반응형
,
반응형

AWS에 Git 서버가 들어있는 경우 인증키 문제 관련된 내용


Eclipse 같은 경우는 General - Network Connection - SSH2 에서 private key로 ppk든 pem이든 추가를 해주면,

인증 문제가 해결이 되지만, Git Bash같은 경우는 기본적으로 사용자 폴더 밑에 .ssh 폴더에 있는 Key를 참조하기 때문에

Eclipse에서 세팅을 했다고해도 인증 문제가 발생한다.


이런 경우, AWS 인증키(ppk or pem파일)를 이용하여 public key를 직접 생성해주어야 한다.


1. puttygen 프로그램 (구글링 하면 바로 나옴)을 실행하여 ppk파일을 Load해준다.


2. 상단 메뉴 중 Conversions - Export OpenSSH Key 메뉴를 선택 후 발생하는 팝업에서, id_rsa 라고 적어준다.


3. Save public key 버튼을 눌러 id_rsa라고 적어준다. (id_rsa.pub 파일이 생성됨)


4. 생성된 두 개의 파일 (id_rsa, id_rsa.pub)을 Windows 사용자 폴더\.ssh 경로에 복사해준다.

반응형
,
반응형

SSL 인증키 검사때문인데, 그냥 검사하지 않도록 세팅하면 된다.


git config --global http.sslVerify false


반응형
,
반응형

참고 링크 : 

http://www.nigeldunn.com/2011/12/11/libevent-2-0-so-5-cannot-open-shared-object-file-no-such-file-or-directory/

 

32비트 머신에선 아래와 같이 /usr/lib로 심볼릭 링크를 걸면 되고, 

ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5


64비트 머신에선 /usr/lib64로 심볼릭 링크를 걸면 해결. 

ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5


반응형

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

[Memcached] Windows 버전 설치  (0) 2016.06.11
[Memcached] Jave Client - XMemcached  (0) 2016.06.11
[phpMemcachedAdmin] Memcached를 위한 WebUI tool  (1) 2016.06.11
,
반응형

windows 버전 memcached를 제공하는 사이트가 있었다. 

 

http://blog.elijaa.org/index.php?post/2010/08/25/Memcached-1.4.5-for-Windows

 

받아서, 해당 경로로가서 cmd창 열어서 memcached.exe -d install 입력하면

뭔가 에러라고 나오긴하는데, 그냥 무시해도 정상동작 한다. 

반응형
,
반응형

기존에 세션 데이터 캐싱을 위해 사용하던, TwemProxy - Multiple Redis 구조가

Redis 중 하나가 죽으면, TwemProxy에서 죽은 Redis를 제거해주기 까지, 서비스가 불안정한 문제가 있어서,

Moxi - Multiple Memcached 로 바꿔봤는데.. 역시나 동일했다.

 

그러다보니 발견 한게, XMemcached라는 라이브러리 였고, 해당 라이브러리에 failover를 자체 지원하는 옵션이 있었다.

 

Moxi, Redis, Twemproxy 모두 드러내고, Memcached만 여러개 띄워서,

XMemcached를 이용하기로 하였다.

 

아래 library는 메이븐 중앙저장소에서도 검색이 된다.

이거 하나만 있으면 됨. 

 

<dependency>
    <groupId>com.googlecode.xmemcached</groupId>
    <artifactId>xmemcached</artifactId>
    <version>2.0.0</version>
</dependency>


 

아래는 간단한 설정. Spring 설정이다. detroyMethod도 제공해줌. 

 


    @Bean(destroyMethod="shutdown")
    public MemcachedClient memcachedClient() throws Exception {
        XMemcachedClientBuilder memcachedClientBuilder = new XMemcachedClientBuilder(messageSourceAccessor.getMessage("memcached.host")); // IP:Port IP1:Port1 IP2:Port2 형식으로 띄어쓰기로 여러대의 서버를 등록이 가능함.
        memcachedClientBuilder.setConnectionPoolSize(50);
        // Command protocol 정의 (기본 : Text Protocol) - Binary가 Text보다 10배 더 빠르다는 결과가 있음.
        memcachedClientBuilder.setCommandFactory(new BinaryCommandFactory());        
        
        // Hashing 방식 지정 (기본 : ketama) - 분산 처리(sharding)를 위한 옵션 (이걸 등록하지 않으면 한 곳으로 부하가 몰린다.)
        KetamaMemcachedSessionLocator sessionLocator = new KetamaMemcachedSessionLocator();    
        // fail over를 할 것인가, 말 것 인가
        sessionLocator.setFailureMode(true);        
        memcachedClientBuilder.setSessionLocator(sessionLocator);
        
        memcachedClientBuilder.setTranscoder(new SerializingTranscoder());   
        
        return memcachedClientBuilder.build();
    }

 

일단 이렇게 서비스하고, 서비스 중 memcached가 한대도 죽지 않는다면,

앞에 Moxi를 붙여서 사용하는 것도 나쁘지 않을 것 같다.  

하지만, XMemcached에도 addServer, removeServer등의 API가 있어서 동적으로 서버를 추가가 가능하기 때문에, 오히려 이게 안정적일 것도 같은데..

이건 유저가 더 많아지면 생각해 볼일 같다.  

 

jmx연동하여 모니터링도 가능하고, phpMemcacheAdmin이라는 툴로 Web UI에서 데이터 확인도 가능 한 것 같은데..

이건 조만간 추가로 진행해봐야 되겠다. 

반응형
,
반응형

Binary Protocol을 사용하다보니깐, 값을 확인하기가 어렵고,

Redis처럼 redis-cli같은것이 있는 것도 아니다 보니깐, memcached에 들어가 있는 값들을 확인할 수가 없어서 찾아보니

아래와 같은 Web UI 툴이 있었고, 모니터링까지 지원을 한다.

 

apache, php5만 설치되어 있으면, DocumentRoot에 걍 가져다 놔도 제대로 작동을 한다. (phpRedmin과는 좀 다른듯;;;)

역시 memcached는 쓰는 사람이 많으니, 이런 좋은툴이 넘쳐나는 것 같다;;

 

설치 법은 매우 간단하니, 아래 링크를 참고하면 됨. 

https://code.google.com/p/phpmemcacheadmin/ 

반응형
,
반응형