Showing posts from June, 2020

Continuous Integration with Jenkins

Continuous integration Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies to a shared mainline several times a day. It was first named and proposed by Grady Booch in his 1991. although Booch did not advocate integrating several times a day. The main aim of CI is to prevent integration problems, referred to as "integration hell" in early descriptions of XP. CI isn't universally accepted as an improvement over frequent integration, so it is important to distinguish between the two as there is disagreement about the virtues of each. In XP, CI was intended to be used in combination with automated unit tests written through the practices of test-driven development. Continuous integration (CI) is an integral part of an agile software development setup. Sprint after sprint, teams strive to "not break the build" while delivering incremental features. But when developers focus completely on adding features, code

Load Balancing usign HAProxy for Openfire

Introduction HAProxy, which stands for High Availability Proxy, is a popular open source software TCP/HTTP Load Balancer and proxying solution. Its most common use is to improve the performance and reliability of a server environment by distributing the workload across multiple servers (e.g. web, application, database). Installing HAProxy $ apt-get install haproxy We need to enable HAProxy to be started by the init script. $ nano /etc/default/haproxy Set the ENABLED option to 1 ENABLED=1 Configuring HAProxy HAProxy's configuration process involves 3 major sources of parameters the arguments from the command-line, which always take precedence the "global" section, which sets process-wide parameters the proxies sections which can further divide as defaults listen frontend backend The configuration file syntax consists in lines beginning with a keyword referenced in this manual, optionally followed by one or several parameters delimited by spaces. 1