Làm thế nào để triển khai sau khi xây dựng với TeamCity?


75

Tôi đang thiết lập TeamCity làm máy chủ xây dựng của mình.

Tôi đã thiết lập dự án của mình, nó đang cập nhật chính xác từ lật đổ và xây dựng ổn.

Vậy tiếp theo là gì?

Lý tưởng nhất là tôi muốn nó tự động triển khai đến một máy chủ thử nghiệm, với một triển khai thủ công cho một máy chủ trực tiếp / dàn dựng.

Cách tốt nhất để làm điều này là gì?

Vì tôi đang sử dụng C # / ASP.Net, tôi có nên thêm dự án Triển khai Web vào giải pháp của mình không?


1
Bạn đã xem BuildMaster của Inedo chưa? Một quy trình công việc phổ biến mà tôi thấy là tạo bản dựng được rút ra khỏi TeamCity và triển khai / định cấu hình với BuildMaster cho các máy chủ khác nhau. Nhanh tham khảo bài viết: inedo.com/support/kb/1031/... (từ chối trách nhiệm: Tôi làm việc cho Inedo)
Karl Harnagy

Tôi đã đề xuất tương tự trước đây, nhưng tôi không làm việc cho Inedo. Nó đáng để xem xét.
Damon

Câu trả lời:


61

Bài viết này giải thích cách gọi công cụ WebDeploy của Microsoft từ TeamCity để triển khai ứng dụng web tới máy chủ web từ xa. Tôi đã sử dụng nó để triển khai tới máy chủ web thử nghiệm và chạy các bài kiểm tra selen khi đăng ký.

http://www.mikevalenty.com/automatic-deployment-from-teamcity-using-webdeploy/

  1. Cài đặt WebDeploy
  2. Bật chuyển đổi cấu hình Web
  3. Định cấu hình TeamCity BuildRunner
  4. Định cấu hình sự phụ thuộc của TeamCity Build

Các đối số MSBuild hoạt động cho ứng dụng của tôi là:

/p:Configuration=QA  
/p:OutputPath=bin  
/p:DeployOnBuild=True  
/p:DeployTarget=MSDeployPublish  
/p:MsDeployServiceUrl=https://myserver:8172/msdeploy.axd  
/p:username=myusername  
/p:password=mypassword  
/p:AllowUntrustedCertificate=True  
/p:DeployIisAppPath=ci  
/p:MSDeployPublishMethod=WMSVC

làm cách nào để đặt thông báo qua email sau khi quá trình triển khai hoàn tất?
user384080,

@Michael Valenty: Tôi đã thử giải pháp đã cho MSBuild.exe C:\BuildAgent\work\4c7b8ac8bc7d723e\WebService.sln /p:Configuration=Release /p:OutputPath=bin /p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:MsDeployServiceUrl=https://204.158.674.5/msdeploy.axd /p:username=Admin /p:password=Password#321 /p:AllowUntrustedCertificate=True /p:DeployIisAppPath=Default WebSite/New /p:MSDeployPublishMethod=WMSVC. Nó cho tôi một lỗi `MSBUILD: error MSB1008: Chỉ có thể chỉ định một dự án. Chuyển đổi: WebSite / Mới`
Nevin Raj Victor

14

Tôi đã viết một bài blog khá dài về chủ đề này mà bạn có thể quan tâm:

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

về cơ bản:

  • cài đặt các dự án triển khai web
  • thêm dự án triển khai web vào giải pháp của bạn
  • thiết lập trình quản lý cấu hình giải pháp để có cấu hình bản dựng "Triển khai"
  • đưa thành phố nhóm sử dụng công tắc xây dựng này khi chạy xây dựng
  • uống một cốc bia và tự hỏi trong vinh quang trước sự tuyệt vời tự động của bạn

2
lưu ý, câu trả lời này không còn phù hợp với so với 2013 + vì họ đã xóa Dự án triển khai web
enorl76.

10

Thông thường những gì tôi làm là tạo một trình cài đặt Wix. Một dự án Wix có thể được xây dựng với MsBuild vì vậy bạn sẽ không gặp vấn đề gì ở đó.

Ngoài ra, tôi khuyên bạn nên xem các phần mở rộng MsBuild sau để triển khai tự động:

http://www.codeplex.com/MSBuildExtensionPack
http://msbuildtasks.tigris.org/

Tôi hi vọng cái này giúp được.


10

Chúng tôi đang sử dụng Octopus Deploy để quản lý môi trường của chúng tôi trên thành phố Đội.

Là một Quy trình xây dựng, chúng tôi có Bản phát hành Octopus và Triển khai Octopus Tạo Bản phát hành trong Octupus, sau đó cũng được triển khai tự động;

Vì Octopus đang quản lý Môi trường của chúng tôi nên nó cũng cung cấp các biến mà chúng tôi sử dụng rộng rãi và có thể sử dụng cùng một bản dựng để cùng nhau tạo ra một môi trường mới.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.