Instalação do JIRA + Confluence e integração com IIS

Estive durante um curto período a analisar alguns sistemas colaborativos de gestão de projectos, e acabei por escolher o JIRA. O Jira é um gestor de projectos bem orientado a software, com acompanhamento de casos e analise de velocidade de desenvolvimento, com acções colaborativas. Não é o único no mercado, mas é, dentro daquilo que procurava, muito completo e funcional e a um preço bastante acessível (Com os starter packs, são apenas $10 para 10 utilizadores, alojado localmente). Um vantagem que esta aplicação tem é o facto de ter inúmeros módulos interessantes a integrar, nomeadamente o Greenhoper, para uma gestão de projecto Agile, e o Fisheye para integrar o Subversion no sistema.

Ainda da Atlassian, há um sistema de Wiki completo, pássivel de ligar ao Jira, chamado Confluence. Como qualquer dos módulos que mencionei, o curtos do starter pack é de $10, para 10 utilizadores. E por apenas $40, consegue-se um sistema de gestão de projecto muito completo e funcional, que correctamente utilizado, permitirá manter uma visão correcta dos projectos e objectivos.

As aplicações mencionadas são todas web apps, baseado em JSPs, que é uma tecnologia que estou completamente alheio a. Sou todo .NET, e portanto o a configuração e suporte preocupava-me um bocado. Felizmente, o site tem documentação MUITO BOA, o que auxiliou em muito a instalação, e configuração. A instalação do JIRA, com o instalador fornecido, é directo – é só seguir os passos de integração com a base de dados (podendo escolher entre uma série deles, como o PostgreSQL). Já com o Confluence, tive muito mais dificuldades, mas é bem explicado – 1º não estou habituado ao Tomcat e JAVA; 2º porque não segui correctamente as instruções.

Quer o Jira, quer o Confluence, correm em instâncias individuais de um Tomcat Server. Acredito que seja possível integra-las na mesma instalação (deve ser as instalações EAR/WAR mencionados). Para já, no entanto, estão instaladas em instâncias individuais, e como serviços no Windows (o que, no entanto, não me deixa completamente satisfeito porquer cada um desses serviços esta a comer 250 – 300MB de RAM). Porque o IIS não suporta os JSP directamente, a integração possível é o encaminhamento do pedido para os serviço, usando filtros ISAPI.

Porque tive dificuldades com o Confluence, gostava de deixar aqui um pequeno tutorial de como instalar o sistema, pelo menos com uma visão macro, dos passos.

Visão Geral
De uma forma geral, a instalação pode seguir os seguintes passos:

  1. Instalar o Jira standalone (usando o installer, é directo e sem chatices)
  2. Integrar o Jira na base de dados preferido
  3. Instalar o Confluence a partir do zip (por alguma razão não recomendam o uso do standalone) e configura-lo para não colidir com o Jira, a nível de portos de ligação, e para utilizar uma base de dados (que não o HSQL original), e arrancar como serviço do Windows
  4. Nesta fase, deve ser possível aceder às duas aplicações, localmente, no browser, por portos diferentes. Para todos os efeitos, são dois servidores Tomcat activos e independentes a actuar. Agora, para integrar no IIS, é preciso integrar os filtros isapi, que encaminham os pedidos dum site no IIS, para os portos correctos na qual o Tomcat está a ouvir.

  5. Integrar com o IIS

Aquilo que notei neste processo é que TODOS os portos nas instalações tinham de variar. No caso do JIRA, usei:
/Jira/conf/server.xml

  • server : port=8005;
  • Connector coyoteConnector : port=8080 redirectPort=8443
  • Context :
  • Connector AJP : port=8009 redirectPort=8443

Para o Confluence:
/Confluence/conf/server.xml

  • server : port=8006;
  • Connector coyoteConnector : port=8081 redirectPort=8444
  • Context :
  • Connector AJP : port=8010 redirectPort=8444

Depois no conector (jakarta), o uriworkermap.properties tem:

/jira/*=worker1
/confluence/*=worker2

e o workers.properties.minimal tem:

worker.list=worker1, worker2

#for jira
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

#for confluence
worker.worker2.type=ajp13
worker.worker2.host=localhost
worker.worker2.port=8010

Se tudo correr bem.. fica a funcionar! Fora do servidor, não é possível aceder directamente aos ports 8080 e 8081, que por defeito, são bloqueados pela firewall (e bem). Todos os pedidos são necessariamente encaminhados pela porta 80, e resolvidos pelo IIS.

Redução de Ruído de Servidor 1U – Parte 4 – (Conclusão)

Como referi na parte 3 do processo, as dimensões de coolers típicos inabilitavam o cooling directo do processador com ventoinha, especialmente com a ventoinha que veio com o server, inicialmente. A solução que decidi seguir, então foi o uso de uma fonte de alimentação externa (dimensões normais e silenciosa), e a obtenção de uma board (Zotac G31 Value miniATX), processador (DualCore E5300) e memória (2GB) nova para utilizar um cooler correctamente dimensionado (Gelid Silence LGA775).

É incrível o nível de silencio que obtive com esta troca.. é ao ponto de realmente não saber se o server está a trabalhar ou não. Ruído.. zero… mas MESMO zero! O único momento em que o servidor é audível é no arranque, em que há maior rotação das ventoinhas.. a partir desse momento o servidor silencia-se.

Portanto acabei por fazer um género de upgrade ao server, reduzir o ruído produzido e energia consumida, e manter a caixa 1U.

Redução de Ruído de um Servidor 1U – parte 3 (cooling do processador)

Pois é, já vai algum tempo desde o último artigo da saga de redução de ruído. A parte 3 refere-se ao cooling do processador, já que da fonte conseguimos resolver com a ligação externa a uma fonte silenciosa.

Restava, então, arrumar a questão do servidor com o corte de ruído no sistema de arrefecimento do processador, que era composto por um dissipador passivo sobre o processador (Pentium 4) e uma ventoinha que injectava ar nas laminas do dissipador. A ventoinha era, definitivamente o problema já que a rotação criava um nível de ruído na ordem dos 40db (segundo o datasheet da mesma).

Para esta terceira parte, adquiri um dissipador novo – um GELID Silence 775, de baixo perfil. Infelizmente, a board do servidor ( SuperMicro … ) não o suportava. De qualquer forma, antes de tomar qualquer decisão sobre como avançar, decidi fazer uns testes. Fiz uma curta análise sobre os efeitos da ventilação na temperatura do processador. Os processadores P4 são, definitivamente, quentes, o que obriga a um sistema de arrefecimento eficiente para manter o correcto funcionamento. A análise que efectuei foi, simplesmente, ligar o servidor, carregando ou a tela da BIOS, ou um Linux, e analisar a variação da temperatura. Foi realizado em períodos de 10 segundos durante até 5 minutos, e em diversas configurações. Eis os resultados:

cpuTempTests

Inicialmente comecei por testar a temperatura com o estado normal (dissipador passive e ventoinha barulhenta), com caixa aberta e fechada. Esta configuração é estável em termos de temperatura, com a temperatura a variar entre os 31 e 35 graus, em que a tampa fechada representa mais 2 ou 3 graus, imagino pela redução de ar novo. De seguida testei sem a ventoinha. O dissipador claramente não era suficientemente grande para funcionar sozinho, e comprovou-se com um aumento muito rápido da temperatura – cerca de 3º a cada 10 segundos. A chegar aos 2 minutos bateu um ponto critico de 60º e terminei a experiência.

Decidi então efectuar algumas experiências com a redução da frequência do relógio para visualizar o efeito sobre a temperatura. Os primeiros testes forma realizados com a ventoinha no lugar, e denotou-se uma quebra grande na temperatura (abaixo dos 30º) e um crescimento muito lento e estável. A hipótese que punha, tendo em conta a quebra de temperatura com a redução da frequência do relógio é que uma solução passiva poderia eventualmente resultar. A medição seguinte foi realizada sem a ventoinha, mas novamente cresceu rapidamente.

Um último teste – será que uma solução com uma ventoinha “regular” de caixa de 80mm conseguiria arrefecer o processador? eventualmente poderia tentar encaixar um ou vários de modo a criar um fluxo de ar que fosse útil. Eu tinha um disponível (silencioso) de 2000 RPM e fiz a experiência com a ventoinha colocada, ao alto, no lugar da ventoinha do servidor. Nesta posição, a temperatura cresceu a um ritmo regular e terminei a experiência com 55º. Claramente o fluxo de ar era insuficiente. Mas antes de desligar, experimentei colocar a ventoinha directamente sobre o dissipador, extraindo o ar das laminas. A temperatura desceu rapidamente, estabilizando nos 37º. Efectivamente é equivalente ao comportamento “normal” de um dissipador de processador com ventoinha.

A extracção do ar do dissipador, seria uma possibilidade para resolver o barulho. Infelizmente a dimensão do dissipador em conjunto com a ventoinha superavam a altura da caixa 1U. Numa 2U caberia certamente. Haveria certamente outras possibilidades com a abertura de um buraco na tampa da caixa, ou afins, mas por enquanto não quero causar esse tipo de destruição.

O que fazer agora? Bem, efectivamente quero aproveitar a caixa (penso que o preço do conjunto justificava a caixa e discos facilmente). Decidi adquirir uma board (ZOTAC G31 micro ATX) e processador (Dual Core E5300) novos, que à partida permitirão utilizar o dissipador da GELID, e até ter um consumo energético menor que o P4.
Mais testes (e resultados) brevemente!