官术网_书友最值得收藏!

Benefits of Hudson

Hudson can be used to improve project health and automate much of the build and deployment process. Hudson adoption can benefit multiple roles in an IT organization. It is important to note that even though Hudson is written primarily in Java, it can be used to build and test a wide variety of projects, including but not limited to: iOS apps, Android apps, JavaScript apps, and Rails applications.

Hudson can improve project health

Hudson was first designed as a continuous integration server, a fact that is still evident in the project's web address: http://hudson-ci.org. Continuous integration is one of the practices in Extreme Programming. The goal of continuous integration is to identify and resolve integration problems early in the development process instead of later, when they are more difficult to resolve. Similarly, Hudson can be used for continuous deployment, which can help identify and resolve deployment problems early in the development process. By identifying integration issues earlier in the development process, the software design can be improved and problems can be dealt with before they grow even more difficult to resolve.

Test-driven Development is another one of the practices in Extreme Programming. By ensuring that a project follows the Test-driven Development practice or, at the very least, has sufficient test coverage, Hudson can provide feedback in the form of test reports and notifications if a build or test fails.

Analysis of the project code can be accomplished using Checkstyle, PMD, FindBugs, and Sonar plugins. These plugins ensure that the project follows the defined coding conventions and detects common bugs in the application's source code. Having the project code follow common coding standards makes the code easier for new team members to understand and easier to maintain. Finding and fixing software defects is much easier and less time consuming earlier, rather than later in the development process.

Hudson can automate the build and deployment process

The build process can, over time, become very large and complicated with many steps. A common problem that can arise is that a build will work on one developer's computer, but not on another's. A Hudson job can be seen as a formalization of the build process. The Hudson job creates build artifacts at scheduled times or manually, based on the user request. Having the build process formalized forces the IT team to keep it up-to-date with any changes in the application that is being developed. This creates a build that is repeatable and portable and removes the "but it builds on my computer" problem.

Plugins for the deployment of build artifacts to an application server and publishing them to a repository are available. Using these plugins, the deployment process can also be formalized and automated. This will allow users to identify and correct deployment issues early in the development process.

主站蜘蛛池模板: 五指山市| 子长县| 北碚区| 雷山县| 灵川县| 和龙市| 克拉玛依市| 吉首市| 鄂托克旗| 玉山县| 宁南县| 韩城市| 杭锦后旗| 封丘县| 大足县| 潞西市| 榆林市| 漾濞| 鸡泽县| 化德县| 太仆寺旗| 开封市| 商河县| 苏州市| 浦东新区| 双牌县| 淳安县| 新安县| 扬州市| 哈尔滨市| 辽宁省| 涿州市| 通海县| 类乌齐县| 长泰县| 栖霞市| 兴和县| 吉木乃县| 惠州市| 温州市| 安宁市|