TeamCity 는 소프트웨어 빌드 자동화 프로그램입니다. 잘 알고지내는 지인으로부터 추천 받아 설치 해서 배포까지를 테스트 해보았습니다.
간단한 설명은 Git이나 Svn과 같은 버젼컨트롤 시스템과 연동하여 웹서버를 돌려 버젼컨트롤시스템에 Commit이 있을경우 자동빌드하여 배포까지 하고 Email로 알림까지 받을 수 있게 자동화 할수있어 잦은 배포가 필요한 프로젝트 일 경우에 편리함을 제공합니다.
설치방법을 소개 합니다.
- TeamCity를 다운 받습니다.
- https://www.jetbrains.com/teamcity/
- 저는 집에서 테스트하는 관계로 윈도우즈버젼 10.0으로 다운 받았습니다.
- 버젼컨트롤연동 준비
- 저는 Svn을 주로 사용하니 Svn을 버젼컨트롤로 사용하는 Teamcity프로젝트를 생성하겠습니다.
- 팀시티에서는 여러가지 프로젝트를 진행할 수 있기때문에 Git을 사용하는 프로젝트도 추가로 등록할 수 있습니다.
- Svn유저등록을 우선 유저명 teamcity, password 1234로 svn에 등록합니다.
- TeamCity에서 사용할 DB 설정
- 팀시티에서 사용할 DB를 미리 설정합니다.
- 저의경우 postgresql이 설치되어있어서 postgresql에 teamcity라는 이름으로 Db를 생성했습니다.
- Teamcity가 사용할 User 를 db에 동록해줍니다.
- 관리자 계정인 postgres / 관리자 계정비번을 그냥 사용할 경우 유저등록은 하지 않아도 됩니다.
- 설치과정
- TeamCity 설치마법사로 진행하다보면 TeamCity에서 사용할 Port번호를 넣으라고 할때 80포트가 막혀있다면 다른 포트번호를 넣어서 진행합니다.
- 진행과정중에 Select Service Account for Server, Select Service Account for Agent 에서는 아래처럼 설정~
- 그리고 계속 진행하여 설치를 마치면 localhost:8001/mnt가 표시됩니다.
- TeamCity First Start 화면에서 C:\ProgramData/JetBrains/TeamCity의 경로를 그대로 두고 Proceed눌러 진행
- Database connection setup 화면에서는 postgresql을 사용하기로 했으니 아래처럼 설정합니다.
- 사용할 db를 선택하는 항목에서 PostgreSQL을 선택하고 Postgres가 사용하는 Port번호 5432혹은 직접다른것으로 설정했다면 해당 postgres포트번호를 기입하고 접속가능한 계정/Pass를 기입한후 진행합니다.
- PostgreSQL JDBC 드라이버가 필요하다고 하니 홈페이지로가서 다운받아 설명하는 경로에 옮겨둡니다.
- Create Administrator Account 에 관리자용 유저명과 패스워드를 설정하고 진행합니다.
- 설치가 다 되었다면 서비스에 TeamCity Build Agent 와 TeamCity Server가 시작되어있습니다.
- 본인컴퓨터 일 경우 http://localhost:8001/profile.html 로 접속하여 유저를 추가합니다.
- 프로젝트 추가
- 위와 같이 Repository URL로 추가를 하면 버젼컨트롤의 URL로 프로젝트를 추가할수있습니다.
- Manually로 추가해도 버젼컨트롤은 따로 설정해야 하니 비슷합니다.
- 기입항목중에 Username과 Password항목에 버젼컨트롤에 접속할수있는 Id와 Pass를 기입합니다. 아까 버젼 컨트롤연동준비항목에서 등록하둔 svnid와 패스워드를 기입하고 진행합니다.
- 위와같이 Build Configuration Setting항목을 설정합니다.
- General Settings 설정
- Name: 프로젝트의 이름을 설정합니다.
- Artifact paths : 이것은 apk가 생성된 경로를 지정해 둡니다.
- 나중에 테스트시 상대경로가 잘안되서 절대경로로 변경하니 잘작동합니다.
- Version Control Settings 설정
- 위에서 URL로 추가해서 들어왔다면 한가지가 등록되어있을것이고 그렇지 않다면(Manually)로 들어왔다면 +Attach VCS Root 을 클릭하여 버젼컨트롤과 연동시킵니다.
- Type of VCS 에 Subversion으로 선택하면 아래 Svn에 대한 설정항목이 나옵니다.
- VCS root name에 구별가능한 이름을 기입합니다.
- URL에 svn의 주소를 기입합니다.
- Username과 passward항목에 Svn에 접근할수있는 id, pass(미리준비해둔)을 기입합니다.
- Test Connection버튼을 눌러 연결이 정상적인지 확인합니다.
- Build Steps에 +Add build step 를 클릭합니다.
- 아래쪽 붉은색인 Advance옵션을 클릭하여 추가 옵션을 넣을수있게 합니다.
- Runner type : 에 Gradle 을 선택합니다. (Android Studio 는 Gradle Build를 사용)
- Step name : 표시될 구별가능한 이름을 설정합니다. 저는 BuildApk라고 적었습니다.
- Gradle tasks : 에 assembleRelease 라고 기입합니다.
- Gradle build file: 항목에 build.gradle을 선택합니다.
- Working directory: 항목에 svn체크아웃된 경로를 지정합니다.
- Save하고 나서 페이지 1시방향에 있는 작은 Run, Action버튼중 Run을 클릭하여 정상작동하는지 확인합니다.
- 아래처름 빌드과정도중에 문제가 없으면 파란색으로 그렇지 않다면 빨간색으로 표시됩니다. Artifacts에 View라고 표시가 되면 Artifacts경로가 정상적으로 작동해서 apk가 웹상에 올라가있음을 볼수있습니다.
- Email 로 결과를 받기위해서 Email 설정을 합니다.
- Administration -> Email Notifier항목에서 저는 저의 gmail smtp를 이용해서 보내는걸로 테스트 했습니다.
- gmail로 테스트하기위해선 gmail 보안수준을 낮춰야 합니다.(알려지지 않은 앱이 어쩌구저쩌구)
- Test connection 을 실행한후 받을 email을 입력한후 에러가 없는지 확인합니다... 저는 여기서 받을 email주소를 잘못입력해서 =-= 괜한 삽질을 좀 했습니다.
'Programing' 카테고리의 다른 글
MongoDB 윈도우에 설치하기 (0) | 2016.12.22 |
---|---|
안드로이드 inapp 영수증 서버검증 C++ (8) | 2016.12.21 |
서버 죽을때 간단하게 자동 재실행 시키기 (0) | 2016.12.21 |
MonngoDB C++ 드라이버 설치하기 (0) | 2016.12.21 |
Cocos2d-x(3.13),Gpg 2.1 GooglePlayGameService C++ SDK 붙이기 (0) | 2016.12.21 |