윈도우 프로젝트 필수 유틸리티 Subversion, Trac, CruiseControl.NET 책의 원고를 모두 공개합니다.

책이 절판되면 출판사의 권리가 사라진다는 것을 최근에야 알았습니다. 좀더 빨리 알았더라면 하는 아쉬움이 있습니다. 책이 절판된 후에도 구입을 원하는 메일이 간간히 왔지만 딱히 도와드릴 수가 없었습니다.

책은 2008년에 출간되었고, 지금은 2014년입니다. 6년 사이에 개발 환경이 너무나도 많이 바뀌었습니다. 윈도우 XP를 주로 쓰던 시절에서 윈도우7을 거쳐 윈도우 8.1까지 나왔고, 이제는 Subversion 대신 Git이 대세가 된 것 같습니다(요즘은 저도 Git을 더 많이 쓰고 있네요). 그리고 PC 위주의 환경에서 완전히 모바일 세상이 되었습니다.

원고 내용을 지금 상황에 맞게 수정하려 했지만, 분량이 너무 많아 책을 거의 다시 쓰는 수준이 되어버려서 일단은 원고를 그대로 웹에 옮기는 것만 했습니다. 오래된 내용이지만 부분부분 아직 유용한 내용이 있으리라 생각합니다.

Subversion 설치 및 서버 구축 부분은 Subversion 사용 HOWTO, 윈도우에서 Subversion 서버 운영하기 문서에 최신 내용으로 업데이트하였으니, 이 문서들을 보시면 됩니다.



  • 전체 목차
  • 1장 - 소프트웨어 개발 자동화
    • 일하기 편한 환경 만들기
    • 버전 관리 시스템
      • 버전 관리 시스템의 필요성
      • 버전 관리 시스템의 유형
      • CVS vs. Subversion
      • CVS와 비교한 Subversion의 장점들
      • 주요 버전 관리 시스템들
      • 버전 관리 시스템의 용어들
      • Subversion 저장소에 대한 이해
      • Subversion 저장소의 디렉터리 배치
    • 이슈 관리 시스템
      • 이슈 관리 시스템의 필요성
      • 이슈 관리 시스템의 종류
    • 빌드 자동화 시스템
      • 빌드 자동화 시스템의 필요성
      • 빌드 자동화 시스템의 종류
  • 2장 - Subversion으로 소스코드 관리하기
    • Subversion 설치
      • Subversion 다운로드
      • Subversion 설치
      • TortoiseSVN 설치
        • TortoiseSVN 언어팩 설치하기
        • TortoiseSVN 언어팩 사용하기
    • 저장소 만들기
      • 저장소 만들기
      • 저장소 설정
    • Subversion 서버 사용하기
      • 일반 모드로 사용하기
      • 서비스 모드로 사용하기
    • Subversion 명령 사용 방법
      • 기본 에디터 지정하기
      • 기본 디렉터리 생성
      • 프로젝트에 파일 추가하기(Import)
      • 저장소에서 소스 가져오기(Checkout)
      • 프로젝트에 파일 추가하기(Add)
      • 변경사항을 저장소에 반영하기(Commit)
      • 최신 소스 받아오기(Update)
      • 로그 보기(Log)
      • 수정된 부분 확인하기(Diff)
      • 수정된 것 되돌리기(Revert)
      • 수정한 사람 보기(Blame)
      • 파일, 디렉터리 잠그기(Lock), 잠금 풀기(Unlock)
      • 파일, 디렉터리 이름 바꾸기(Rename)
      • 소스만 가져오기(Export)
      • 브랜치(Branch)와 태그(Tag)
        • 브랜치(Branch)와 태그(Tag) 전환하기(Switch)
      • 관리도구
        • 저장소를 파일로 백업하기(Dump)
        • 파일을 저장소로 복원하기(Load)
  • 3장 - PowerShell로 자동화하기
    • PowerShell이란?
      • PowerSHell의 주요 특징
      • PowerShell로 작성하는 주요 스크립트
    • PowerShell 설치
      • .NET Framework 설치
      • PowerShell 설치
    • 기본 문법
      • PowerShell의 기본 기능과 주요 cmdlet의 사용 방법
      • PowerShell 스크립트 문법
  • 4장 - Subversion과 Symbol 파일 연동
    • 들어가기
    • Debugging Tools for Windows 설치
    • ActivePerl 설치
    • Subversion Symbol Indexing 사용
      • exampe 저장소 만들기
      • trunk, branchses, tags 디렉터리 만들기
      • example 프로젝트 체크아웃하기
      • 프로젝트를 저장소에 추가하기
      • svnindex.cmd
      • Subversion 저장소 정보를 인덱싱하기
        • Subversion 저장소 정보 인덱싱에 실패한 경우
      • srctool
  • 5장 - CruiseControl.NET으로 빌드 자동화하기
    • CruiseControl.NET 기본 개념과 설치
      • CruiseControl.NET 다운로드
      • Windows XP에 IIS 설치
      • Windows Server 2003에 IIS 설치하기
      • CruiseControl.NET 설치
      • CCTray 설치
    • CruiseControl.NET 빌드 스크립트 익히기
      • Labeller로 빌드 넘버 표시하기
      • Source Control
      • Task
        • Visual Studio
        • VCBuild
        • MSBuild
        • Executable
        • Build Publisher
        • Trigger
    • 빌드 자동화 실습
      • example 프로젝트 체크아웃하기
      • ccnet.config 파일 수정하기
      • ccnet.exe 실행
      • cctray.exe 실행
      • Force Build 버튼으로 강제 빌드
  • 6장 - Apache와 Subversion 연동
    • Apache 설치 및 기본 설정
      • Apache 설치
      • Apache와 IIS 동시에 사용하기
    • Subversion 설치 및 기본 설정
    • Apache와 Subversion 연동 설정
      • 사용자 ID, 패스워드 설정 및 권한 관리
      • http
      • https
  • 7장 - Trac
    • 설치 및 설정
      • Python
      • svn-python
      • Genshi
      • setuptools
      • mod_python
      • pysqlite
      • enscript
      • Trac
        • http 프로토콜을 사용하려고 할 경우
        • https 프로토콜을 사용하려고 할 경우
    • 플러그인 설치 및 설정
      • Ini Admin Plugin
      • Account Manager Plugin
    • Trac 사용 전 기본 설정
    • Subversion Hook Script 활용
      • Hook 스크립트의 종류
      • Hook 스크립트로 메일 전송하기
        • IIS SMTP 서버로 메일 보내기
        • Windows XP에 SMTP 서버 설치하기
        • Windows Server 2003에 SMTP 서버 설치하기
        • IIS SMTP 서버 설정
        • Gmail 계정 연동
      • 로그 수정 사항을 메일로 보내기
      • 커밋 로그와 티켓 연동
    • 티켓 변경 사항을 이메일로 통보받기
      • IIS SMTP 서버를 사용할 때
      • Gmail 계정을 사용할 때
    • Trac 관리 스크립트
      • 프로젝트 생성 스크립트
      • 권한 설정 스크립트
      • 전체 프로젝트 권한 설정 스크립트
      • Subversion 저장소 - Trac 동기화 스크립트
    • RSS Reader 활용
  • 8장 - CruiseControl.NET
    • 들어가기
    • 기본 프로젝트 설정
    • 프로젝트에 버전 리소스 추가하기
      • 프로젝트의 저장소 주소 설정하기
      • 자동 버전 업데이트 스크립트
    • Trac에 버전을 자동으로 등록하기
      • Symbol Server, Subversion Indexing 연동
  • 9장 - Release Server
    • 빌드 서버 설정
    • 웹을 통한 배포
    • FTP를 통한 배포
    • Trac을 통한 배포
  • 10장 - 백업
    • 운영 중인 Trac을 안전하게 백업하기
      • 운영 중인 Subversion 저장소를 안전하게 백업하기
    • 원격지의 Subversion 저장소 백업하기
  • 11장 - Subversion 관련 도구
    • VisualSVN (Visual Studio 플러그 인
    • SVNSERVE Manager로 svnserve.exe를 쉽게 사용하기
    • SVN Notifier으로 업데이트 상태를 실시간으로 확인하기
    • ViewVC로 Subversion 저장소를 웹에서 보기
    • WebSVN으로 Subversion 저장소를 웹에서 보기
      • PHP 설치
      • 설정
      • MultiViews 사용하기
  • 12장 - 문서화
    • Trac Wiki
      • 새 위키 페이지 만드는 방법
      • 위키 문법
    • Doxygen으로 소스 코드 문서화 하기
      • Doxygen 설치
      • Graphviz 설치
      • Doxygen으로 문서화하기
      • 기타 doxygen용 주석 작성 방식
    • 윈도우 도움말 파일(CHM) 만들기
    • HTML Help 파일 설치
      • index.chm 파일 생성
  • 13장 - 프로젝트 준비
    • 개발 프로세스
    • 프로젝트 생성 및 설정
      • 프로젝트 생성
      • 프로젝트 기본 설정
        • 사용자 생성
        • 사용자별 권한 관리
        • 티켓 설정
        • 최초 소스 업로드
        • 빌드 스크립트 작성
  • 14장 - 프로젝트 진행
    • 들어가기
    • 기능 구현
    • 버그 보고 및 해결
    • Symbol Server의 활용
  • 15장 - 실전에서 발생하는 문제들
    • 충돌 해결
    • 커밋한 것 되돌리기
    • Trac 프로젝트, 저장소 이름 바꾸기
  • 부록
    • 날짜를 버전으로 사용하기
    • 다국어 리소스에서 자동 버전 업데이트 스크립트 사용
    • CC.NET에서 Subversion Indexing을 사용할 때 Exception 문제 해결
    • VisualSVN Server로 authz 설정하기
      • VisualSVN Server 설치
      • VisualSVN Server 사용 방법
    • ccnet.config를 Subversion으로 관리하기
    • Visual Studio 6.0을 사용하려면
    • Visual Studio 2008을 사용하려면
    • CruiseControl.NET으로 윈도우 드라이버 빌드하기
    • Trac 인덱스 페이지 꾸미기
    • 자동 빌드하지 않는 방법
    • Subversion 저장소 합치기
      • 내용이 다른 프로젝트
      • 내용이 이어지는 프로젝트
    • Subversion 저장소 나누기
      • trunk 디렉터리 아래에 각 프로젝트의 디렉터리가 위치할 때
      • 각 프로젝트의 디렉터리 저장소의 최상위 디렉터리로 위치할 때
    • Subversion에서 외부 저장소 연결하기
    • MS 오피스 파일과 TortoiseSVN
    • User Mode Process Dumper 사용하기
    • CVS에서 Subversion으로 이전하기

저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

19 July 2014

Tags