Roll your own Continuous Integration System (C.I.S.)
Content:
As we said in the previous post, we are building our C.I.S. in the top of a Tomcat 6.x, it is not the best server in the world, but it is open, free and widely supported by a vast community and thousand of different running project all over the world, so, it is not that bad either.
There is no point to explain deeply how to install Tomcat, I will write my own installation in order to reproduce all steps in the future if necessary. You may also use this for a easy set-up of your system.
Pre-Requisites: Java JRE 1.5 (No matter what implementation, I have proofed both Sun and OpenJDK virtual machines with the same problems :P ).
For Windows XP:
Download: http://apache.rediris.es/tomcat/tomcat-6/v6.0.30/bin/apache-tomcat-6.0.30.exe
Execute it!
1) Accept Welcome
2) Accept License
3) Minimum installation: Tomcat and Manager
4) Select execution port (8080 in my case), user and pass manager (tomcat/tomcat, of course), and role (let manager-gui).
5) Select your JRE 1.5 installation path.
6) Select your desired installation path for Tomcat.
7) Confirm install.
If you want to see your Tomcat running, you have to get "Apache Tomcat 6.0" menu. (Start->Applications in Windows XP), then execute "Configure Tomcat".
And press "Start" button. Then you will be able to see Tomcat running at http://localhost:8080
Change "Startup type" from "Manual" to "Automatic" in order to get it as a service. Windows will run Tomcat every time you boot Windows.
For CentOS 5.5
Easier than Windows :P
(log as root)
cd /etc/yum.repos.d/
wget http://www.jpackage.org/jpackage50.repo
yum --disablerepo=jpackage* install jpackage-utils
yum install tomcat6 tomcat6-webapps tomcat6-admin-webapps
Beware with permissions, due to your TOMCAT_HOME will be /usr/share/tomcat6, so you will need to change the owner of that directory if you want to write into, next post I will explain a good configuration.
For OpenSuse 11.3
Easier impossible:
(log as root)
zypper install tomcat6 tomcat6-admin-webapps tomcat6-webapps.
Beware with permissions, due to your TOMCAT_HOME will be /usr/share/tomcat6, so you will need to change the owner of that directory if you want to write into, next post I will explain a good configuration.
We will use and modify this installation a few times before finishing this tutorial. Be patient, the result will be worthy it.
This blog is written for teaching about Java technologies and best-practices. I will talk about patterns, Maven, J2EE, Artifactory, Hudson, Sonar, and so on.
Mostrando entradas con la etiqueta continuous integration. Mostrar todas las entradas
Mostrando entradas con la etiqueta continuous integration. Mostrar todas las entradas
martes, 25 de enero de 2011
domingo, 19 de diciembre de 2010
Roll your own Continuous Integration System (C.I.S.): Abstract.
Roll your own Continuous Integration System (C.I.S.)
Content:
http://looking4q.blogspot.com/2011/01/roll-your-own-continuous-integration.html
This is the very first goal for the followers of this blog.
For those who doesn't know what a Continuous Integration System is, you could take a look at wikipedia, but, summarizing with an example, is a software that every night downloads your code, compiles it, executes unitary testing and deploys it in your server or in your dependency repository.
That's not all. It could pass several control checks like code style, testing code coverage, code quality, it makes a report and send it to your email, and other for the guilty developer that wrote some code that generates lots of warnings.
This information is processed for cyclic dependencies, copied&pasted code, percent of commented code, percent of tested code... reports and more reports.
Some of this reports are also postprocessed in order to evaluate each developer independently. Then it creates a dashboard with scores for each participant, trying to motivate the team for a better code.
Appealing enough?
I have selected some tools that I use in my company. This list might be modified in near future:
Code Repository: We are using Subversion
Dependencies manager: Maven
Dependencies repository: Artifactory, which understands Maven among others.
C.I.S Manager: Hudson: which understands Maven and SVN among others.
Extra: Sonar as quality of code reporter.
Extra: Wiki or CMS
And Tomcat6 as the container of everything or almost everything.
In next articles, I will try to explain how to install and deploy each tool in order to get something similar to my example in your own company or at home.
See you soon!
Content:
http://looking4q.blogspot.com/2011/01/roll-your-own-continuous-integration.html
This is the very first goal for the followers of this blog.
For those who doesn't know what a Continuous Integration System is, you could take a look at wikipedia, but, summarizing with an example, is a software that every night downloads your code, compiles it, executes unitary testing and deploys it in your server or in your dependency repository.
That's not all. It could pass several control checks like code style, testing code coverage, code quality, it makes a report and send it to your email, and other for the guilty developer that wrote some code that generates lots of warnings.
This information is processed for cyclic dependencies, copied&pasted code, percent of commented code, percent of tested code... reports and more reports.
Some of this reports are also postprocessed in order to evaluate each developer independently. Then it creates a dashboard with scores for each participant, trying to motivate the team for a better code.
Appealing enough?
I have selected some tools that I use in my company. This list might be modified in near future:
Code Repository: We are using Subversion
Dependencies manager: Maven
Dependencies repository: Artifactory, which understands Maven among others.
C.I.S Manager: Hudson: which understands Maven and SVN among others.
Extra: Sonar as quality of code reporter.
Extra: Wiki or CMS
And Tomcat6 as the container of everything or almost everything.
In next articles, I will try to explain how to install and deploy each tool in order to get something similar to my example in your own company or at home.
See you soon!
Suscribirse a:
Entradas (Atom)
Etiquetas
maven
logstash
vrr
logback
json
matrix
artifactory
cis
configuration
CheckStyle
developers
devops
filebeat
ops
elasticsearch
importance
installation
java
priority
severity
tomcat
SpringSource
book of the month
critical
debug
important
log
low
plugin
What if
code repository
curator
dependencies
essential readings
essentials
structured arguments
Eclipse
Formatter
Tunning
apache
basic
best practices
codegen
continuous deployment
continuous integration
contract-first
deploy
gradle
jenkins
kibana
lombok
manager
nexus
opinion
performance
persistence
pom.xml
slf4j
storage
svn
testing
401
409
ChekStyle
Error
Homogeneous
JavaMelody
Managing
Monitoring
Scrum
Solution
Style
Trenches
XP
advantages
algorithm
ansible
architecture
aws
bitbucket
cabotrafalgar
cd
chargers
cheap
chef
ci
comparison
cons
cow
cvs
dependences
disk
distribution
docker
docker-compose
documentation
eb
ecs
elastic
elk
ender's game
enforcing
essential tools
estimation
external
fail
findbugs
folders
git
github
grok
html
hudson
ide
inheritance
javadoc
jcl
jmr
jmx
kv
libvirt
lifecycle
load
log4j
logbacl
logger
low cost
mdc
memory
multiple files
mysql
nature
nifty-gui nifty-flow
organization
permissions
pmd
pragmatic programmer
profiles
pros
puppet
q outside the office
release
remote
reporting
save
security
several files
simulated annealing
site
snapshot
sonar
standard
strategies
stress
suppressions
surveillance
tale
throughput
unit
upload
usvn
vagrant
versioning
war
wires