5

Tôi đang thiết lập máy chủ Jenkins để xây dựng các dự án .NET. Chúng tôi sử dụng các biến đổi Web.config của studio trực quan để chuyển đổi các tệp cấu hình của chúng tôi cho từng môi trường (Dev1, Dev2, QA và Release). Tôi đang sử dụng các đối số dòng lệnh sau trong lệnh MSBuild của tôi, và nó đang làm việc với các biến đổi:Cách kích hoạt chuyển đổi web.config qua lệnh batch trong Jenkins

/p:Configuration=Dev1;DeployOnBuild=true;DeployTarget=Package;_PackageTempDir=..\..\deploy\current\Dev1 

Vấn đề là tôi phải xây dựng lại các giải pháp cho từng môi trường, và một số các giải pháp này là khá lớn và dành một chút thời gian để xây dựng. Tôi chỉ muốn xây dựng giải pháp một lần và sau đó kích hoạt chỉ các biến đổi cho các môi trường khác. Có ai biết một cách để làm điều này thông qua một lệnh MSBuild lô, hoặc một cách khác để có được điều này được thực hiện trong Jenkins?

+0

Dường như với tôi rằng bạn nên tìm ra cách để làm điều này mà không cần sử dụng Jenkins (tức là từ dòng lệnh) và một khi bạn chỉ có sau đó kết hợp các giải pháp vào Jenkins. – Bernard

+0

Đồng ý. Đó là những gì tôi đang cố gắng làm. Về cơ bản, Jenkins chỉ thực hiện các lệnh dòng lệnh. –

Trả lời

0

Như bạn đã đề cập, Jenkins chỉ cần chạy lệnh. Hãy xem Nhiệm vụ 5 của số này Exercise from Microsoft. Có một cách tiếp cận khác here.

3

Tôi đã sử dụng số này Config Transform Tool trên CodePlex. Nó đã thực hiện thủ thuật một cách dễ dàng bằng cách cho phép chúng tôi chạy các biến đổi web.config từ một kịch bản dòng lệnh dễ dàng được thực thi bởi một bước xây dựng Jenkins.

+0

Cảm ơn. Điều này thực hiện công việc. Chỉ có điều là kết quả cuối cùng không phải là khá :-). Không chắc chắn tại sao phương pháp này không phải là mặc định. Đã tìm kiếm trên web trong 30 phút qua. – chosenbreed37

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