2009-08-26 45 views
6

Tôi đã đấu tranh với cách sử dụng TFS như một kho mã nguồn để phát triển iPhone.Tôi có thể sử dụng TFS để phát triển iPhone như thế nào?

Ông chủ của tôi sẽ không bao giờ cho phép tôi sử dụng Subversion (hoặc Thiên Chúa cấm Perforce), vì vậy tôi đã bị mắc kẹt với kiểm soát nguồn TFS.

Giải pháp là đi và mua các công cụ để nối Mac với TFS và tôi không cố gắng quảng cáo ở đây, nhưng Teamprise Client Suite dành cho Mac OS X là cầu nối giữa Mac OS X và TFS.

Đối với đăng ký chuẩn và quy trình làm việc của nhà phát triển, không có tích hợp giữa Xcode và TFS. Bạn phải làm tất cả bằng tay thông qua ứng dụng Teamprise Explorer.

Để xây dựng, nó chỉ ra rằng Automator và Teamprise Command Line khách hàng làm các trick.

Có một số Xcode đến cầu TFS không? Bạn đang sử dụng hệ thống kiểm soát mã nguồn nào để phát triển iPhone?

Chìa khóa cho tôi là tập lệnh bash sau được nhúng trong luồng công việc Automator.

% 1 = Thư mục cục bộ để thực hiện kéo mã. % 2 = Tên dự án để thực hiện thao tác kéo.

kịch bản này giả Client Teamprise Command Line được cài đặt vào ~/Teamprise

PATH="$PATH:~/Teamprise:~/Teamprise/lib" 

cd "$1" 
mkdir "$1/logs" 

tf workspace -delete BuildScript -server:http://TFSServer -login:[email protected],password >> $1/logs/wsdelete1.log 

tf workspace -new BuildScript -server:http://TFSServer -login:[email protected],password >> $1/logs/wscreate.log 

tf workfold -map "$/TFSRoot" . -workspace:BuildScript -server:http://TFSServer -login:[email protected],password >> $1/logs/workfold.log 

tf get "$/TFSRoot/$2" -all -recursive -server:http://TFSServer -login:[email protected],password >> $1/logs/get.log 

tf workspace -delete BuildScript -server:http://TFSServer -login:[email protected],password >> $1/logs/wsdelete2.log 

#pump the tfs landing folder to the next step in the Automator script. 
echo $1/Projects/$2 
+0

Là một sang một bên, tôi hiểu rằng Perforce và TFS chia sẻ tổ tiên chung, nếu đó là bất kỳ an ủi –

+0

Có câu hỏi nào không? Tôi không thể nhìn thấy nó! –

+1

Đó là trong tiêu đề – Daniel

Trả lời

7

Vì trạng thái Louis, XCode hiện không cung cấp mô hình trình cắm công khai có thể truy cập cho chúng tôi (Teamprise) để cung cấp tích hợp TFS - đó là điều chúng tôi muốn làm.

Chúng tôi đã thử nghiệm với một vài lỗi - như giả vờ là dòng lệnh Perforce và nói chuyện với TFS thay vào đó, tuy nhiên, bằng chứng nội bộ về khái niệm này cho đến nay chưa được thực hiện tốt - đặc biệt là chúng tôi muốn lý tưởng nhất là có theo dõi mục công việc được liên kết bằng cách nào đó để bạn có thể liên kết đăng ký với các lỗi, v.v.

Hôm nay, phần lớn khách hàng của chúng tôi đang sử dụng Teamprise để nói chuyện với TFS từ XCode đang làm như vậy hoặc bằng cách sử dụng độc lập Công cụ giao diện người dùng (Teamprise Explorer) hoặc đang thực hiện các thao tác Tự động hóa như bạn đề xuất để móc vào số tf command line.

Xin lỗi rằng đây không phải là trải nghiệm tuyệt vời. Tất cả những gì tôi có thể đề nghị là bạn file a bug with Apple để cung cấp một mô hình trình cắm thêm cho các hệ thống SCM để nối vào XCode. Hy vọng rằng nếu có nhu cầu phát triển đáng kể thì chúng tôi có thể có nhiều may mắn hơn là chỉ yêu cầu chúng tôi.

+0

Cảm ơn lời giải thích từ phía Teamprise. Tôi sẽ đánh dấu đây là câu trả lời cho bây giờ, và cũng có thể gửi một lỗi với Apple. Tôi rất hài lòng với bộ Teamprise (một lần nữa, không cố gắng quảng cáo) nó đã đáp ứng nhu cầu của tôi và cực kỳ ổn định với số lượng chức năng. Dựa trên kinh nghiệm WWDC 2009 của tôi, tôi có cảm giác rằng yêu cầu này đối với nhóm Xcode sẽ rơi vào tai điếc. Các mô hình trình điều khiển mã nguồn Xcode không quan trọng bằng các ưu tiên IDE khác của chúng để tạo ra các công cụ cho phép các nhà phát triển tạo ra các ứng dụng iPhone/Mac OS X siêu ổn định. – Batgar

+0

Tôi đồng ý với bạn về các ưu tiên XCode có khả năng - tuy nhiên nếu chúng tôi không yêu cầu chúng tôi không nhận được :-) Thêm hỗ trợ XCode là điều chúng tôi muốn thực hiện, tôi sẽ khuyến khích mọi người phàn nàn cho đến khi có thể để chúng tôi thêm nó :-) –

+0

Tôi đã bình chọn cho nó! (bug report) –

3

Trong khi nội bộ Xcode đang sử dụng một hệ thống plugin để hỗ trợ các hệ thống kiểm soát phiên bản khác nhau, nó không phải là công khai hoặc tài liệu. Ngoài hỗ trợ tối thiểu như chạy một số tập lệnh dòng lệnh, không có cách nào được hỗ trợ để sử dụng bất kỳ hệ thống kiểm soát phiên bản nào ngoại trừ những tàu Xcode có.

Bạn nên file lỗi với Apple yêu cầu hỗ trợ gốc cho TFS hoặc hệ thống plugin VCS được hỗ trợ cho Xcode.

Dù sao, trong ngắn hạn, tôi không nghĩ rằng bạn sẽ tìm thấy một giải pháp thỏa đáng cho vấn đề của bạn.

3

Nếu bạn phải tích hợp với máy chủ TFS, tuyến đường tốt nhất của bạn tại thời điểm này là sử dụng SVNBridge và sau đó kết nối với cầu thông qua chức năng lật đổ được tích hợp sẵn của Xcode.

Ngoài ra, cài đặt máy chủ VisualSVN lần đầu tiên mất ít hơn 15 phút để cài đặt cơ sở và mười cấu hình người dùng khác và nhận chứng chỉ SSL có chữ ký của chứng chỉ gốc của công ty chúng tôi. Hãy thử nó, nó thực sự dễ dàng.

+0

Tôi có một đội ngũ nội bộ của các trình thuật sĩ TFS, những người quá tải và thiếu kinh nghiệm. Nếu tôi đề cập đến việc triển khai, duy trì, sao lưu và theo dõi một máy chủ SVN riêng biệt ... thì nó sẽ trở nên xấu xí. Các giải pháp dựa trên Teamprise đặt các onus của công việc trên các nhà phát triển, nhưng nó có các bộ phận chuyển động ít nhất. – Batgar

+0

Điều đó có ý nghĩa; thêm một dịch vụ SVN bổ sung chỉ là sẽ làm cho bảo trì nhiều hơn cho họ. – rpetrich

Các vấn đề liên quan