Skip to main content

· 3 min read

이런저런 연유로 SVN Server에 직접 접근은 불가능하고 mount를 이용해 file로 접근 가능한 방법을 찾아야만 하는 상황이 생겼다.

그래서 사용하게 된 방법이 SVN mirroring.

미러링에도 여러가지 방법이 있으나 그 중에서 svnsync를 사용하기로 했고 아래처럼 해서 성공.

원격에 있는 SVN 저장소를 $REPO라고 가정하고

로컬에 미러링할 경로를 $MIRROR라고 하자.

1. 우선 빈 저장소를 하나 생성한다.

svnadmin create $MIRROR

2. 오류없이 생성되었다면 $MIRROR/hooks 경로에 pre-revprop-change 라는 파일을 하나 생성한다.

hook에 가보면 임시 파일도 있으니 이용해도 되고 exit 0; 으로 종료되는 파일을 생성해줘도 된다.

pre-revprop-change 라는 파일은 revision 정보가 바뀔 때 실행되는 파일로 보이는데 svnsync 자체를 제한한다거나 하는 용도로 이용 가능.

예를 들어 아래와 같은 내용을 추가해두면 svnsync를 userA 이외에는 사용 못하게 할 수 있다.

(userA가 아닌 경우 실행시 메세지를 출력하고 1을 리턴하면서 실패로 종료됨)

#!/bin/sh USER="$3" if [ "$USER" = "userA" ]; then exit 0; fi echo "Only the userA user can change revprops" >&2 exit 1

3. 그 이후에 실행 권한을 부여한다.

chmod +x $MIRROR/hooks/pre-revprop-change

4. 그 다음은 svnsync 초기화 작업. (원격 SVN 저장소와의 초기화)

svnsync init --username userA file://$MIRROR $REPO

5. 마지막으로 동기화하라고 아래처럼 명령을 내리면 원격 저장소에 있는 내용과 동기화를 하게 된다.

svnsync sync file://$MIRROR

 

문제 중 하나는 sync 명령을 내릴 때만 동기화를 하지 자동으로 동기화를 진행하지는 않는다는건데

post-commit을 이용해 commit 발생시 동기화를 시키도록 스크립트를 만들던지 크론탭 등의 스케줄러를 이용하는 방법을 이용해야 할 것으로 보임.

· 2 min read

Linux에서 파일을 생성할 때 갖게 되는 권한의 default 값이 있다.

git을 사용하고 있어서 서버에 원격저장소를 하나 두고 있는데 어떤 사용자가 파일을 생성하거나 수정한 후 다른 사용자가 해당 파일을 수정하지 못하는 문제가 발생했다. 확인해보니 objects 디렉토리에 있는 파일들 (아마도 파일 변경사항에 대한 데이터로 추측됨)의 권한이 모두 644로 설정되어 있는 상태. 파일들 생성시마다 기본 권한을 group도 쓰기가 가능하도록 만들어야 했기 때문에 umask 명령을 사용했다.

umask는 un masking을 의미하며 기본값은 022로 설정되어 있는데 파일은 666, 디렉토리는 777 권한에서 022로 un masking 한 결과를 파일 생성시 권한으로 설정하는 것 같다. 나의 경우엔 group 구성원들에게 쓰기권한을 부여할 수 있도록 umask 002로 설정했는데, 설정이 유지되는 것 같지는 않다. (로그아웃 후 다시 로그인해서 확인해보면 022로 초기화 되어있음)

그래서 일반적인 linux 시작 스크립트 (나의 경우엔 /etc/profile)에 추가해서 해결.

· 3 min read
  • 모스버거 머겅 두번머겅 (@ 모스버거 (MOS BURGER)) http://t.co/qgimKL2O #
  • @marie_ming ㅎㅎㅎㅎ 버거 흡입했네요 5분 정도 걸림 in reply to marie_ming #
  • 사적인 일 하나가 괴롭히길래 나머지도 터트려 버렸다. 괴롭지만 터졌으니 아물 일만 남은거다. #fb #
  • 재밌겠다~~~ 웹서비스 개발, 시작부터 런칭까지 http://t.co/rdiy7TpP #
  • 맛있어요!! "@ohudong: 1968년에 오픈한 닭곰탕집 다락투. 부래란 이름에서 홍대로 옮기며 다락으로 이름을 바꿨다. 생닭만 쓰며 삶아서 찢을 때 보풀이 이는 닭고기가 좋은 것이라고. 닭칼국수도 일품이다. http://t.co/pkWmX3Vy" #
  • PhoneGap과 Appspresso 중에서 선택을 해야할지도 몰라서 간단히 사용해봤는데 재밌다. 비슷하면서도 다르네. 폰갭은 지원 디바이스에 따라 라이브러리만 제공하고 앱스프레소는 애초에 두 가지 디바이스에만 환경이 맞춰져 있다. #fb #
  • 아 오늘 겁내 덥다 #fb #
  • 칫! VirtualBox도 결국은 그냥 VMWare 같은 거였어. 재미없음. 항상 그랬듯이 구형 맥북에서는 맥을 못추니까. #fb #
  • 여행을 왜 가는걸까? 뭘 위해서? 갑자기 의미가 사라지려고 한다. #fb #
  • @doornot 제자리...제 자리...아직 그걸 모른다면 방황인거겠군요 ㅎㅎ in reply to doornot #
  • 오늘 참 많이 꼬이는구나 힘든 하루다 #fb #
  • 우여곡절이 많다 ㅎㅎ (@ 제주국제공항 (CJU - Jeju International Airport) w/ 5 others) http://t.co/vIAgYkDp #
  • 늦은 저녁. 여기 엄청 멋지게 잘 해놨네. (at 가산토방) — http://t.co/LOYMD9tq #

Powered by Twitter Tools

· 2 min read

사용중인 Bamboo가 3.2 버전이었는데 최신 버전인 4.1.1로 upgrade 할 일이 생겼다.

Upgrade 방법을 알기 위해 검색해보니 공식 매뉴얼이 있는데 하위 버전별로 upgrade 방법이 다른 것처럼 기술되어 있다.

https://confluence.atlassian.com/display/BAMBOO/Bamboo+4.1+Upgrade+Guide

몇 개 링크를 눌러보니 링크가 잘못 걸린건지 하위버전에서 4.1로의 upgrade가 아니라 하위 버전으로 upgrade 방법들이 나와있어서 Bamboo generic upgrade guide만 참조.

가이드 문서만 따라해도 문제없이 진행은 된다.

과정을 요약하면

1. export / data (bamboo-home) 백업

2. 최신버전으로 재설치

3. properties 파일을 설정에 따라 수정

4. start

새로 설치된 파일이 같은 data (bamboo-home) 경로를 참조하길래 혹시나 문제가 없을까 했는데 다행히 깨지거나 인식을 못하는 문제는 없어보인다.

3.2와는 다르게 4.1.1은 시작 주소를 http://ip:8085 가 기본이다. 3.2의 경우엔 뒤에 /bamboo란 path를 넣었었고 다른 Atlassian tool들이 해당 경로를 참조하도록 설정되어 있었기 때문에 ${bamboo_install_path}/conf/wrapper.conf 파일을 수정.

기타 LDAP 등의 설정도 해줘야 하지만 현재는 User 정보를 모두 JIRA에서 땡겨오도록 되어있기 때문에 skip 했다.

· 2 min read

Atlassian의 Bamboo를 사용중인데 얼마전 서버의 root 계정 대신 특정 계정에 sudo 설정을 한 이후에 문제가 발생했다.

bamboo.sh 실행시 start 옵션을 주면 시작하게 되어있는데 시작했다는 로그와 pid 값은 뿌려지지만 실제 프로세스는 실행되지 않았다. 실행시에 기록되는 로그파일을 열어서 확인해보니 java 프로세스 자체를 시작하지 못하는 것으로 보였다. 그래서 bamboo.sh 파일을 열어 내용을 확인해보니

export JAVA_HOME

이라고 환경변수를 export 하고는 있었으나 실제 파일 어느 곳에도 JAVA_HOME이 설정된 부분은 없었다. 그래서 추가.

왜 이전엔 잘 되다가 갑자기 JAVA_HOME 설정이 빠진건지 이해가 되지 않는다.

어쩌면 file 자체는 변경사항이 없었으나 (원래 비어있는 상태) root 계정에서는 원래 서버에 환경변수로 잡혀있는 JAVA_HOME을 인식하는지도 모르겠다. 왜 그럴까?

· 5 min read
  • 우리집용 알바 고민중. 재밌는거 만들어 드릴까 생각중인데 찾아보니 적당한 보드가 가격이 좀 되네. lcd랑 wifi 되는 더 저렴한 보드 없나? http://t.co/rbHHOCI3 #fb #
  • 이것저것 생각하면서 주말에 집 네트웍 환경을 좀 손봤다. 총알 두둑하면 airport extreme 부터 이것저것 사고 싶지만 어쩔 수 없지. 죽 있으면 죽먹고 밥 있으면 밥 먹어야 하니까. #fb #
  • 상하이 치킨버거 흡입. 진짜 흡입. 씹느라 턱이 피곤했었음. (at 맥도날드 (McDonald's)) — http://t.co/v7LedFA3 #
  • 오랜만에 영화. 잠시 후 프로메테우스. 블레이드 러너 이상을 기대하겠소. (at MEGABOX 코엑스) — http://t.co/yJX1vMZb #
  • 겁내 먹자 사람은 빵만으론 살 수 없다 (at 돈가우가) — http://t.co/OVOuaxH7 #
  • OS X는 JDK 설치되는 경로도 독특하구나~ root 패스워드 설정 안되어 있다는걸 오늘 알았구나~ 맥을 찝쩍대며 요런걸 다 몰랐어도 어느정도 개발이 되었다는게 애플이 잘 만든건지 내가 무신경한건지... #fb #
  • 티셔츠땜에 맥에 또. JIRA is hot, the dragon is not! I've completed stage 1 of the Atlassian Dragon Quest #AtlassianDragons http://t.co/uptSYLSX #fb #
  • github을 써볼까해서 봤는데 오픈소스를 제외하곤 호스팅 비용을 받는다. 그래서 오픈소스로 해서 써보자 하구 가입하려 했더니 이미 했었네. 이히히 ㅡㅡ;; #fb #
  • 궁금해서 github과 bitbucket을 비교해 봤는데 github은 repository 갯수에 대해 비용부과.bitbucket은 사용자수 기준. github은 오픈소스에, bitbucket은 atlassian 연동 편의성에 주안점을 둔 듯. #fb #
  • 내가 있는 이 곳에서 트위터를 막아 놓은 것이 분명하다. 왜 계속 오류여!! Teamviewer 사이트도 접속오류가 떠! 집에선 잘 되고 원격으로도 잘 되는디... #fb #
  • 지속적인 통합이 중요하다고 하지만 언급되어 왔던 통합이 사실은 개발자와 테스터 사이에서만의 작은 통합이었는지도 모르겠다. 디자인과의 통합은 어떻게 진행해야하나... 어려운 문제다. 그리고 중요하다. 좋은 방법이 없을까? #fb #
  • 임베디드 환경에서 불스아이로 커버리지 파일 뽑는 방법 아시는 분? 리눅스에서는 잘 되는데 보드 안에서는 생성이 안되네 ㅠㅠ #fb #
  • 막내랑! 여긴 참 잘한다 (@ 영심이와 Second Bar) http://t.co/vCBr4XYa #
  • @doornot 프로메테우스를 보셔야 겠는데요? ㅎㅎ in reply to doornot #
  • 한달 정도 빌드만, 아니 빌드도 하게 됐다. 대규모 통합환경에서 제대로 되는 꼴을 본 적이 없는데(이론상 기본인데도), 이번엔 제대로 해보겠어. 16년동안 빌드만 하신 컴파일에러 김병만 선생처럼 되겠다. #fb #
  • Kpop 열기가 뜨겁다고 하는데 샌프란시스코에서 생중계하네. Kpop 보다 관심이 가는건 mbc와 google 이 얘기 되었다고 youtube로 중계한다는 내용. 이제 전세계 live는 네트웍으로 하는구나. #fb #
  • @doornot 어둠의 경로는 잘 모르겠네요. 에일리언도 그렇지만 구성이나 색감, 내용 다 괜찮았습니다. 근본적인 호기심에 대한 설정도 좋았구요 in reply to doornot #
  • 친구 생일. 횟집에서 케잌을 잘라주겠다! (@ 어랑어랑(활어회직판장)) http://t.co/uiw2SNX1 #
  • 완전 재밌었음 :) (@ 영심이와 Second Bar w/ @hwanie07) http://t.co/cXzHJ6og #

Powered by Twitter Tools

· 2 min read

특정 사이트의 글을 쉽게 공유하기 위해 Facebook에서 몇 줄만으로 공유 기능을 적용할 수 있도록 코드를 제공하고 있다.

Title과 URL 등은 쉽게 Sharer에 Parameter로 입력가능하도록 되어 있으나 Thumbnail 설정은 공유하고자 하는 페이지 소스 내에 메타태그를 하나 추가해야 한다.

이런저런 시도를 해보니 Image URL은 상대경로로 지정하면 안되고 꼭 URL 전체 경로를 입력해야 가능한 듯 싶다. (http:// 포함, 왜 이렇게 불편하게 했을까?)

위의 메타태그를 추가했는데도 공유시에 Thumbnail이 뜨지 않는다면 아래의 페이지에 접속해서 메타태그가 추가된 페이지 주소를 입력해본다.

https://developers.facebook.com/tools/debug

(여기저기서 https://developers.facebook.com/tools/lint 로 가라고 하는데 결국은 위의 주소로 넘어가게 됨)

입력한 메타태그가 문제가 있다면 오류 내용을 보여주고 없다면

아래 그림처럼 Thumbnail이 보이게 되며 이 때 부터는 지정한 Thumbnail이 공유시에 나타난다.

왜 이런 불편한 과정을 거쳐야 할까?

이유는 명확하지 않으나 추측하건데 facebook 서버쪽에 반영이 잘 되지 않는 듯 싶다.

lint에서 한 번 검사를 하면 그 때서야 반영이 되는 것 같고...

Facebook 이니까 머지않아 개선된 기능을 보여줄거라고 기대해본다.

· 2 min read
  • 에너지 충전. 새로운 생각과 시도는 언제나 나에게 의욕이란 걸 만들어준다. #fb #
  • 의욕을 갖게 되면 꼭 의욕을 꺾어버리는 사건들이 연달아 생긴다. 그리곤 술이 땡기지. 그렇게 의욕은 술 한 잔과 함께 날라가버리나? 악순환은 끊어야 하는데 지친다. #fb #
  • 생각해보니 예전엔 잔인한 몇 월 몇 월 그런 말을 가끔씩이라도 했던 것 같은데 지금은 전혀 하지 않는다. 왜지? 나도 궁금허네 #fb #
  • 네이버 앱 알림이 떴길래 뭔가 했는데 내가 쓰지 않은 글에 댓글이 달렸다. 내가 작성한 것으로 되어있는 글은 광고성 스팸글. 등록시간은 2010.02.22 22:02. 네이버 로그인 자체를 거의 하지 않는데 유출이 내 실수라고 우기지는 말자. #fb #
  • 이젠 밤새는 것도 지겹다. 타이핑 조차 귀찮다. #fb #
  • 버스에 흐르던 절절한 곡이 뭔가 했는데 더듬어보니 europa 였구나. 요새를 반영하는 곡이다. #fb #
  • 여기 라면 최고! 교자도 좋음 (@ 大阪王将 (OSAKA OHSHO)) http://t.co/hWVEzMq8 #
  • 막국수는 여기가 최고 (@ 시골막국수) http://t.co/NZkdnV0g #

Powered by Twitter Tools

· One min read
  • 월든을 읽으며 부질없음을 다시 느낀다. Love you and good bye #fb #
  • 얼굴이 벌건 30대 후반의 아저씨가 20대 정도로 보이는 사람에게 말한다. 자기가 시애틀 주립대학에서 박사하다 왔다고. 공대 무용과 졸업했단 얘기만큼 즐겁다. 그리고 민망함. #fb #

Powered by Twitter Tools

· 3 min read
  • 어떤 건에 대해서 책임소재가 불분명해지면 공백이 생긴다. 그 책임은 누가 져야할까? #fb #
  • 난 여기서 무엇을 하는가 나의 역할은 무엇인가 #fb #
  • @incubate81 @William_PMG 패스워드는 술 마시고 입력해야 제맛이지 in reply to incubate81 #
  • @incubate81 @William_PMG 잃어버리거나 잊어버려야 맛인데... 씁쓸한 맛 in reply to incubate81 #
  • 많은 것들을 처리하고 집으로 돌아가는 발걸음이 왜 이리 허무한지 알 길이 없었는데 허기까지 느껴지니 그 때문인가 싶다. 식후 4시간에 난 허무를 느끼는구나. #fb #
  • 허무인지 허기인지 모를 그것 땜에 늦게까지 작업. 스스로 약간은 보상받았다 자위하지만 무언가 부족하고 아쉽고 또 불안하다. 그러다 지친다는 느낌도 들고... 요즘 가끔씩 이래. 잠깐 분위기 전환하러 어디 다녀와야겠다. #fb #
  • Science vs Engineering. 진행했던 일들. 앞으로 가야할 길과 갖추어야 할 덕목들. 지금 이순간 생각하고 있는 것들을 확장하고 다듬으면 나에겐 중요한 또 다른 출발점이 될 것이다. #fb #
  • 사람의 마음은 예측하기 힘들다. 하지만 어떤 규칙성도 갖고 있다는 생각이 든다. 대중이라는 말이나 여론 같은 것도 예측하기 힘든 사람들의 규칙성을 보여주는 예가 되지 않을까? 내가 너무 퉁치는 것 같기도... #fb #
  • @William_PMG 여긴 더워지고 있어. 거긴 추워지겠구나 싶다. in reply to William_PMG #
  • 그간 느꼈던 감정과 관련된 거의 모든 이야기를, Raw data가 아닌 기준에 맞춰 정리된 그것을 친구에게 쏟아냈다. 나의 job과 비슷하기에 어느정도 공감을 얻었고 힘을 내서 나아가련다. 힘들지만 고맙고 어려워도 사랑해. 포기는 너무 쉽다. #fb #

Powered by Twitter Tools