svn tutorial source code management using subversion
Subversion (SVN)을 사용한 소스 코드 관리 소개 :
Subversion (SVN) 시리즈에 오신 것을 환영합니다. 이 유익한 SVN 자습서는 소프트웨어 버전 관리 개념의 기본 사항과 SVN이 개발 팀에 어떻게 유용 할 수 있는지 설명합니다.
SVN이란?
SVN은 소프트웨어 프로젝트의 모든 단계에서 사용할 수있는 간단한 오픈 소스 라이선스 소프트웨어 구성 관리 (SCM) 도구입니다.
- SVN은 스크립트 저장소에서 모든 프로젝트 아티팩트를 유지하는 데 도움이되는 Subversion 제어 도구입니다.
- 소프트웨어 버전 관리 및 개정 관리 시스템을 관리하는 데 도움이되는 무료 / 오픈 소스 도구입니다.
- 다른 도구에 비해 이해하기 쉽고 빠르게 작동합니다 ( 예를 들어 GIT, 수은).
시리즈의 첫 번째 자습서를 읽어보십시오. 파괴 다음 단계로 넘어 가기 전에 철저히.
이 Subversion 시리즈의 자습서 목록 :
튜토리얼 # 1 : SVN 튜토리얼 : Subversion을 사용한 소스 코드 관리
튜토리얼 # 2 : SVN 저장소를 설정하고 Tortoise SVN 클라이언트를 설치하는 방법
튜토리얼 # 3 : Tortoise SVN 자습서 : 코드 리포지토리의 개정
튜토리얼 # 4 : SVN 저장소에서 콘텐츠를 삭제하는 방법
Subversion 시리즈의 튜토리얼 개요 :
튜토리얼 번호 | 배울 것 |
---|---|
튜토리얼 _ # 1 : | SVN 튜토리얼 : Subversion을 사용한 소스 코드 관리 이 유익한 SVN 자습서는 소프트웨어 버전 관리 개념의 기본 사항과 SVN이 전체 팀에 어떻게 유용 할 수 있는지 설명합니다. |
튜토리얼 _ # 2 : | SVN 저장소를 설정하고 Tortoise SVN 클라이언트를 설치하는 방법 이 튜토리얼에서 무료 서버 저장소와 무료 Tortoise SVN 클라이언트 UI를 설정하여 저장소로 코드를 가져오고 내보내는 방법을 배웁니다. |
튜토리얼 _ # 3 : | Tortoise SVN 자습서 : 코드 리포지토리의 개정 이 튜토리얼에서는 Tortoise SVN 클라이언트를 사용하여 저장소에서 코드를 체크 아웃하고 쉽게 이해할 수있는 간단한 실제 예제를 통해 코드를 체크인하는 방법에 대해 간략히 설명합니다. |
Tutorial_ # 4 : | SVN 저장소에서 콘텐츠를 삭제하는 방법 이 SVN 자습서는 저장소에서 코드 콘텐츠를 제거하는 방법을 알려줍니다. SVN은 프로젝트 버전을 지정하는 데 도움이됩니다. |
학습 내용 :
기본 용어
자세한 내용을 살펴보기 전에이 자습서에서 사용할 기본 용어를 이해하겠습니다.
저장소: (디자인, 소스 코드, 문서, 테스트 케이스)와 같은 모든 프로젝트 아티팩트가 저장되는 중앙 위치 또는 저장소입니다. 개별 사용자는 로컬 컴퓨터에서 파일을 로컬로 체크 아웃하고 작업 할 수 있습니다.
특정 아티팩트의 모든 이력 정보를 유지하므로 사용자는 로그로 돌아가서 'Who & When & Why'가 변경되었는지 확인할 수 있습니다.
SVN 체크 아웃 : 중앙 저장소에서 로컬 머신으로 프로젝트 아티팩트를 가져 오는 프로세스입니다. 사용자는 수정을 수행하고 변경 사항을 로컬에 저장할 수 있습니다.
범하다: 로컬 컴퓨터의 변경 사항을 중앙 저장소에 저장하는 프로세스입니다. 커밋하는 동안 다른 사용자가 쉽게 이해할 수 있도록 의미있는 커밋 메시지를 제공해야합니다.
이제 우리는 SVN의 기본 용어를 이해했습니다. 일상 업무에서 어떻게 작동하는지 예를 살펴 보겠습니다.
SVN 워크 플로
팀 리더가 자동화 스크립트가 포함 된 프레임 워크 스켈레톤을 생성 한 시나리오를 고려하십시오. 이제 그는 'Automation Script Repository'라는 중앙 위치에 업로드하려고합니다.
팀 구성원은 저장소에서 로컬 머신으로 자동화 스켈레톤 스크립트를 확인할 준비가되었습니다. 스크립트 변경이 완료되면 돌아가서 중앙 저장소에 커밋 할 수 있습니다.
SVN 다운로드
1 단계: Google 웹 사이트를 방문하여 'Download SVN'을 입력합니다.
2 단계: 웹 사이트에서 'Download Tortoise SVN'링크를 클릭합니다. 거북이 SVN
3 단계 : 시스템에있는 OS에 따라 Tortoise SVN 1.9.6 – 64 비트 / 32 비트 링크를 선택합니다.
4 단계 : 각 링크를 클릭하면 다운로드가 시작되고 화면 하단에 .msi 설치 파일이 표시됩니다.
5 단계 : .msi 파일을 클릭하고 다음 버튼을 클릭하여 설치 마법사를 실행합니다.
Tortoise SVN 설치가 오류없이 성공적으로 완료되었습니다.
Java Eclipse를 통해 Tortoise SVN을 작동하는 플러그인
Eclipse IDE에서 Subversion을 지원하려면 Eclipse Team provider 또는 Subclipse Plugin이라는 플러그인을 설치해야합니다.
1 단계: 다음으로 이동 도움 메뉴에서 Eclipse IDE 환경 그리고 클릭 ‘Eclipse Marketplace’ .
2 단계: 유형 서브 클립 스 찾기 텍스트 상자에서 이동 버튼 .
첫 번째 링크 인 Subclipse 4.2.3을 선택한 다음 설치 단추.
3 단계 : 아래와 같은 대화 상자가 표시됩니다. 클릭 확인 버튼을 눌러 설치 프로세스를 계속합니다.
4 단계 : Subclipse 소프트웨어 라이센스에 동의하고 끝 단추.
Subclipse 플러그인이 Eclipse IDE에 성공적으로 추가되었습니다.
Java Eclipse에서 프레임 워크 생성
POM (Page Object Model) Java 디자인 패턴을 사용하는 'Hybrid_Framework'라는 샘플 프레임 워크 디자인이 생성됩니다. src / test / java 폴더에 작성된 모든 소스 코드로 Maven 프로젝트가 생성됩니다.
이름이 com.qspiders.Pages 및 com.qspiders.Tests 인 두 개의 패키지가 생성됩니다.
여기서 우리는 로그인 작업을 수행하려고합니다. 로그인에 성공하면 다음 페이지로 이동합니다. ‘EnterTimeTrack’ .
- 모든 조치 및 검증은 com.qspiders.Pages 꾸러미.
- 특정 페이지의 개체 생성 및 스크립트 실행은 com.qspiders.Tests 꾸러미
저장소 생성
1 단계: 저장소 생성을 위해 프로젝트가 저장된 폴더로 이동하고 Tortoise SVN을 마우스 오른쪽 버튼으로 클릭합니다. 그리고 선택 ‘여기에 저장소 만들기’ 선택권.
2 단계: 지정된 경로에서 리포지토리 생성이 성공적으로 완료되었습니다.
3 단계 : 프레임 워크 (POM_Framework) 생성시 아이콘 변경을 확인할 수 있습니다.
프레임 워크를 저장소로 푸시
1 단계: 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 팀-> 프로젝트 공유 .
2 단계: 고르다 SVN 다음을 클릭하십시오.
3 단계 : 고르다 ‘새 저장소 위치 만들기’ 다음을 클릭하십시오.
4 단계 : 저장소 생성을 위해 제공 한 URL을 제공하고 끝 단추.
5 단계 : 리포지토리 폴더에 프레임 워크를 성공적으로 추가했습니다.
SVN 체크 아웃
아래 단계에 따라 프로젝트 폴더 POM_Framework를 체크 아웃하려고합니다.
1 단계: 폴더 경로 외부를 마우스 오른쪽 버튼으로 클릭하고 SVN 체크 아웃 .
2 단계: 저장소 경로를 선택하고 확인을 클릭하십시오.
3 단계 : 프로젝트 폴더가 언급 된 경로에서 성공적으로 체크 아웃되고 자동으로 개정 번호가 설정됩니다.
범하다 :아래 코드가 LoginTests.java 파일에 추가되었으며 저장소에서 커밋하려고합니다.
소스 코드:
Package com.qspider.Tests; Public class LoginTests { Public static void main(String args()) { WebDriver driver = new FirefoxDriver(); driver.get('file:///E:/Uma/Selenium%20Programs/mypage.html'); WebElement txtFirstName = driver.findElement(By.id('txtfirstname')); txtFirstName.sendKeys('Uma'); WebElement txtLastName = driver.findElement(By.name('txtLastname')); txtLastName.sendKeys('Srinivasan'); WebElement txtPassword = driver.findElement(By.className('pi')); txtPassword.sendKeys('UmaPassword'); driver.findElement(By.tagName('a')).click(); driver.navigate().back() } }
1 단계: 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 팀-> 커밋 .
.
3 단계 : 이제 파일 / 폴더가 저장소에 성공적으로 체크인합니다.
왜 SVN이 필요한가요?
Selenium 자동화 프로젝트를 개발하는 중이라고 가정하십시오. 이 프로젝트에 세 명의 팀원이 있다고 가정 해 보겠습니다. Tester A, Tester B, Tester C.
숙련자를위한 핵심 자바 인터뷰 질문
이제 작성해야하는 15 개의 자동화 테스트 스크립트가 있다고 가정합니다. 그래서이 3 명의 팀원은 각자 5 개의 스크립트를 나누고 자동화를 시작합니다. 이제 결국 그들은 모두 코드를 병합하고 최종 코드가 작성됩니다. 아래 그림의 파란색 원형은 최종 병합 코드를 나타냅니다.
'테스터 A'가 자신의 코드를 수정하기로 결정하면 아래 그림과 같이 수정할 수 있도록 병합 된 코드 전체를 로컬 작업 공간으로 가져와야합니다. 작업 공간은 간단한 Selenium 프로젝트를 의미합니다.
마찬가지로 'Tester B'도 테스트 케이스를 변경하려면 전체 코드를 작업 공간으로 가져와야합니다.
그러나 발생할 문제는 이제 모든 사람이 서로 다른 버전의 작업 공간을 갖게된다는 것입니다. 'Tester A'가 자신의 작업 공간에서 수행 한 변경 사항은 아래와 같이 'Tester B'가 가지고있는 작업 공간에는 표시되지 않습니다. 팀 구성원간에 작업 영역 동기화가 없습니다.
새 팀원이 합류하여 로컬 작업 공간을 설정하려는 경우 어떤 테스터가 작업 공간을 제공해야하는지에 대해 충돌이 발생합니까? 따라서 혼란이있을 것입니다. 여기서 우리는 세 명의 테스터에 대해 이야기하고 있습니다. 많은 테스터로 구성된 대규모 자동화 프로젝트를 진행하고 있다면 어떨까요?
따라서 이러한 코드 동기화 문제를 해결하고 팀의 모든 사람이 동일한 페이지에 있도록하기 위해 Subversion SVN을 사용합니다.
소스 코드 관리에 도움이되는 기타 도구가 시장에 많이 나와 있습니다. CVS (Concurrent Versioning System), RCS (Revision Control System), Git과 같은 무료 (오픈 소스)는 거의 없습니다. 일부는 Rational ClearCase와 같은 라이센스를 받았습니다.
SVN 리포지토리 란 무엇이며 어떤 역할을합니까?
SVN 저장소는 프로젝트 및 / 또는 소프트웨어의 버전을 제어 할 수있는 관리 시스템을 제공합니다.
따라서 중앙 집중식 서버 저장소가 있어야합니다 (서버는 Windows, Unix, Linux 기반 등일 수 있음). 최종 병합 된 코드를이 서버에 넣을 것입니다.
이제 '테스터 A'가 저장소라고하는 중앙 서버에서 코드를 체크 아웃한다고 가정 해 보겠습니다. 원하는대로 코드를 변경 한 후 업데이트 된 코드를 저장소에 다시 체크인합니다. 이제‘Tester B’가 코드를 확인하면 저장소에서 최신 코드를 가져옵니다.
마찬가지로 모든 사람이 각자의 변경 사항을 수행 한 다음 저장소의 코드를 업데이트 (체크인)합니다.
따라서 모든 사람이 동기화되고 동일한 페이지에 있습니다.
결론
이 튜토리얼은 SVN의 기본 개념을 이해하는 데 도움이되었습니다. SVN의 기본 용어로 시작한 다음 설치, 플러그인 구성, 프레임 워크 디자인 및 저장소 생성으로 이동했습니다. 또한 저장소가 무엇이며 어떤 역할을하는지 살펴 보았습니다.
마지막으로 프레임 워크를 저장소 및 파일 체크 아웃 및 커밋으로 푸시하는 방법을 배웠습니다.
다가오는 튜토리얼에서는 우리 자신의 무료 저장소를 설정하는 방법을 볼 것입니다.
추천 도서
- 초보자를위한 심층 이클립스 튜토리얼
- Tortoise SVN 자습서 : 코드 리포지토리의 개정
- JIRA 및 SVN 통합 튜토리얼
- SVN 저장소를 설정하고 Tortoise SVN 클라이언트를 설치하는 방법
- Bugzilla 튜토리얼 : 결함 관리 도구 실습 튜토리얼
- SVN 저장소에서 콘텐츠를 삭제하는 방법
- AWS CodeBuild 자습서 : Maven 빌드에서 코드 추출
- SVN에서 IBM Rational Team Concert로 마이그레이션 튜토리얼