Đó là môi trường tôi đã thiết lập trong công ty của mình và hiện đang làm việc với.
Mô tả môi trường
Chúng tôi là một nhóm gồm 4 nhà phát triển , làm việc trong một dự án máy tính để bàn Java . Mã nguồn nằm dưới Mercurial , với repo chính được lưu trữ trên máy chủ phát triển của chúng tôi. Chúng tôi chủ yếu sử dụng TortoiseHg để làm việc với Mercurial. Các dự án mà chúng tôi mở nguồn là trên BitBucket . Dự án được xây dựng với Maven . IDE chúng tôi sử dụng là Netbeans , hoạt động rất ấn tượng với Maven (nó cũng hoạt động tốt với Mercurial).
Máy chủ dev của chúng tôi chạy Archiva , một kho lưu trữ Maven proxy. Chúng tôi sử dụng maven để xây dựng dự án, nhưng chúng tôi cũng sử dụng nó để thực hiện nó (mvn exec), để triển khai các tạo phẩm được tạo ra cho Archiva (phát hành mvn) và để tạo ra một hội đồng từ các tạo phẩm được lưu trữ bởi Archiva (lắp ráp mvn).
Chúng tôi cũng có một bugtracker Redmine , và nó biết về repos Mercurial. Chúng tôi sử dụng máy khách RSS để được thông báo về hoạt động của dự án (từ Redmine và Mercurial). Chúng tôi cũng có một máy chủ Jabber để gửi tin nhắn và tệp cho nhau.
Chúng tôi thiết lập một máy chủ Hudson (tích hợp liên tục) và máy chủ Sonar (số liệu mã). Nhưng trong thực tế, chúng tôi không thực sự sử dụng nó.
Chúng tôi có quyền lựa chọn sử dụng Windows hoặc Linux
Các bước để phát hành
Ví dụ để phát hành phiên bản 1.1.3
# tags the VCS, updates all the version numbers in the maven config file
mvn --batch-mode release:prepare -DreleaseVersion=1.1.3 -DdevelopmentVersion=1.1.4-SNAPSHOT
# performs a clean build, runs all tests, deploys to the server
mvn release:perform
# creates a unique jar (the final product) from the previously deployed artifacts (no recomilation involved)
<update the version number in a config file to 1.1.3>
mvn assembly:assembly