Skip to content

Instantly share code, notes, and snippets.

@marocchino
Created January 23, 2013 13:49
Show Gist options
  • Save marocchino/4605800 to your computer and use it in GitHub Desktop.
Save marocchino/4605800 to your computer and use it in GitHub Desktop.

Github:E Casual Talk

이전의 세션은 늦게와서 적지 못했습니다.

Cookpad - GHE and AWS and me

  • 질문 타임 정도에 들어왔다.
  • 파비콘이 혼동하기 쉬워서 확장플러그인을 만듬
  • 방금 발표한 내용을 오픈소스로 만들 계획은 아직없음.

하테나 - GHE에 자연스럽게 이관하기

@hakobe

  • 쿄토에서 왔음

  • 자연스럽게 못하는 역사적이유가 있다.

  • svn 2008/05 부터 이관

  • 700개의 레포지터리

  • self hosting

  • Neo Asika / CodeFridge 레포지터리뷰어 만들어쓰고 있었음

  • 깃허브의 시대

  • 개발자로부터 풀리퀘스트 쓰고싶다는 리퀘스트가 생김

  • 프로젝트가 너무 많아서 선택해서 옮기는게 힘듬

  • 어떤팀은 원하지 않았음

목표

  • 양쪽다 사용가능

  • 이관프로세스를 간단하게 함

  • GHE가 떨어져도 괜찮게 시스탬을 구성해야함

  • 서버스팩을 매우 높게 잡음

  • 기존 : Hatena Repo -> Deploy

  • 신규 : GHE ->(미러링) Hatena Repo -> Deploy

미러링 셋팅

  1. 페어를 만듬
  2. 미러링 컨피그
  3. 푸쉬금지 훅
  4. 미러링 훅

순서

  1. ghm이라는 내부 웹서비스에서 미러링 관리, 페어를 기록 해둠
  2. mirror = true 로 해두면 git remote update 에 모든걸 replace하게 설정해둠
  3. 하테나 레포지터리에는 직접푸쉬는 금지

내부 메크로

git hatena mirror git hatena sync

결론

  • 미러링을 사용
  • 내부 매크로
  • 하이스팩 서버

현황

  • 2012/08에 시작
  • 80%팀은 사용
  • 25%레포지터리는 아직 레거시

나머지는 시간 관계상 생락합니다!

질문

  • 스팩높으면 그래프 기능 쓸수 있는가? -> 시간은 걸리지만 서버는 떨어지지 않아요
  • 깃허브가 떨어진 적은 없는가? -> 아직은 없어요!

페이퍼보이 - 조금 이상한 깃허브 사용법

  • 이 발표는 블로그에 있는 내용

  • mizzy, @goshkenator

  • 아이 5명!

  • 테크니컬 메이져

  • 회사에서 엔터프라이즈는 사용하고있지않음

  • paper-sqale프로젝트에서 github사용하기시작

  • 서비스별로 서비스 어카운트를 받음

  • 엔터프라이즈는 비싸서 안씀

  • 전부 깃허브 서비스를 쓰고있지는 않음

  • 어떤 서비스는 이슈만 사용한다던가

  • 엔터프라이즈 쓰고싶다는 움직임이 없음

  • 오늘 아침부터 엔터프라이즈 사용하기 시작

이상한 사용법이란?

기술자의 인사평가에 사용함

  • 평가문서를 markdown 으로 적어서 풀리퀘스트 함
  • 이슈를 면담 리뷰툴로 사용
  • 면담 종료떄 머지함
  • 평가 결과를 이유로 적음

디자인 프로세스 공유

  • 스크린샷 공유를 위한 레포지터리
  • 이슈베이스로 공유
  • 담당자를 어싸인해서 누가 담당자인지 보기 쉽게 해둠
  • 재작과정을 러프 -> 포토샵 -> 완성 공유
  • 아이콘, 포스터 등을 샘플로 보여주심
  • 디자이너는 프로세스가 보이지 않아서 평가하기 힘들다는 이유부터 출발함

게시판으로써 이슈를 사용

  • 이벤트를 어떻게 처리할까등등

질문

  • 레드마인이나 지라같은건 안쓰세요? -> 블랙로즈? 쓰고 있었지만 아이콘, 그림문자가 깃허브쪽이 더 좋았다.
  • 디자이너는 어떤 툴을 쓰나요? -> 맥에서는 커맨드라인에서 주로 합니다. 윈도우에서도 ssh로 들어가 커맨드라인으로 입력합니다. 설명서는 있고, 개발팀에서 서포트 하구요.

DeNA - e운영연금술

  • takuma yoshida
  • paygent의 인프라
  • 오늘 github의 사용법은 설명하지 않습니다.

도입전

  • 트랙으로 이슈관리
  • svn git공존
  • 통합하고 싶어서 깃허브 엔터프라이즈 도입

도입후

  • 지라
  • 엔터프라이즈
  • irc로 연동
  • 디플로이 자동화
  • 장애대응
  • 프로젝트 관리

반대로말하면

  • 깃허브가 죽으면 치명적이다!

운영 팁, 백업, 시큐리티

  • 서버부하는 전혀 문제가 안됨

  • 메모리 20g정도면 됨

  • 디스크io 10k sas 3테라

  • 1대로 충분함

  • 네트워크 부하는 전혀 문제 안됨

  • 몇십bps정도

  • 동영상을 커밋하는경우는 예외

병렬구성하기 힘듬

  • 팩키지로 재공돼기떄문에 내부 커스터마이징이 안됨
  • vm ha솔류션을 쓰면 되지만 비쌈
  • 루트권한 기합만 있으면 커스터마이징 됨

어드민 유저로 ssh로그인 부터 시작

  • 디폴트 로그인 불가
  • 이게 없으면 서버장애일떄 아무것도 할수없음
  • 메니지먼트 콘솔에서 ssh키 입력해서 가능

루트영역 확장부터

  • 10GB
  • rescue.log 가 많아서 서버떨어지기도 함
  • ghe-grow-root

로그를 볼것

  • ghe-logs-tail
  • 트러블대응에 필수 업션 붙일수 있음

백업

vmware스냅샷

  • 추천 안함
  • 자동화가 힘듬
  • 부하가 많음
  • 좀비파일이 생기고 점점 넓어짐 vmware자체가 죽을 수도있음

커맨드라인 유틸리티쓰세요! mysql, redis,

ghe-export-mysql -> 디비덤프 디비 록이 걸림 ghe-export-repositories -> tar scp 에 시간이 너무 많이 걸림 그래서 조금 해킹해서 rsync 를 사용하고있음

ghe-logs-tail -a 인증에 관련 된 로그(공격에 대비 가능) 로그가 7일로 사라져서 그전에 백업 따둠

유저가 퇴직할떄의 처리 ghe-user-suspend 로 재워둠

결론

  • 메니지먼트콘솔만으로 운영은 가능함
  • 재대로 운영할려면 내부구조를 알아야함
  • 500에러와 친해질것

질문

  • 지금 인식하고 있는 과제는? -> 서비스훅의 장에에 곤란해하고 있습니다. 프로세스가있는데 전혀 움직이지 않음, 로그도 안나옴 감시하는 로직을 넣음. 타임스탬프의 차가 어느정도 이상이되면 통지함
  • 지라 플러그인의 적는 방법 너무 복잡하지 않은가? -> 아직 거기까지 가지않아서 잘모르겟습니다.

github - 특별강연 not just coding

  • 깃허브 스티커필요하면 나한테 오세요
  • 깃허브 특산 위스키입니다
  • @dreww
  • 엔터프라이즈 서포트
  • 내일 맥주파티있음
  • 채용중 : 아시안 서포터 필요함

깃허브 엔터프라이즈란?

  • 소프트웨어를 위한 프로덕션 시스템
  • 협업에 최적화
  • 일하는 방법에대한 가이드라인을 재공
  • 같이 하는게 혼자하는거보단 쉬움
  • 단순한 기능도 큰효과를 낼수있음
  • 브라우저에서 깃작업을 할수있음.
  • 거의 모든 사람과 협업할수있음
  • 디자인, 작가, 마케터, 인사, ...
  • 미래엔 모든것이 버전 컨트롤 될거같다.
  • github/legal
  • 추가기능
  • 컨트리뷰션 그래프
  • 풀리퀘스트 마지이후에 브랜치 지우기 기능
  • 태그의 tar.br
  • 날리기전에 채크 가능
  • 셋팅 세이브하는게 좀더 편해짐
  • 기능은 만들었는데 아직 문서화안함
  • 리포지터리 복원 기능
  • 멀티 ssh키
  • mysql덤프가 락 안걸게 하기

질문

  • 추천하는 서버구성이 있나요? -> 돈 얼마나 있니? 8기가, 12기가 이상, 디스크 io 중요 cpu는 그렇게 중요하지 않음
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment