quarta-feira, 23 de setembro de 2015

Ubuntu Server 14.04 sem add-apt-repository

Estava eu fazendo testes em uma VM Ubuntu server 14.04, quando me deparei que não conseguia instalar um ppa. Não utilizo ppa's normalmente, pois não utilizo Ubuntu em casa (apenas no trabalho). Por isso só descobri esses dias que o Ubuntu Server 14.04 não tem o comando add-apt-repository.

Não sei se isso ocorre na versão desktop também ou é só na versão server. Bom vamos lá então, o que fazer se o comando não funciona?

Simples:
sudo apt-get install software-properties-common

Se por algum motivo já tiver instalado, experimente reinstalar:
sudo apt-get install --reinstall software-properties-common

E é isso ai, deve resolver.
Até a próxima!

domingo, 20 de setembro de 2015

Java Mission Control com Wildfly


Ao tentar usar o JMX console "Start JMX Console" para monitorar em tempo real, aparece um erro:

java.lang.IllegalStateException: JBAS019905: Should not get called
    at org.jboss.as.jsr77.managedobject.J2EEDeployedObjectHandlers$J2EEModuleHandler.queryObjectName

Não irei colocar o full stack trace, pois irá atrapalhar.

Ao procurar no google por "JBAS019905: Should not get called", é encontrado muitos erros relativos ao MBean no JConsole.

Ao tentar: "JBAS019905: Should not get called" JMC, menos resultados são encontrados

Ainda aparece páginas relacionadas ao JConsole, meu problema é com o Java Mission Control.

O problema relacionado ao JConsole já é um bug reportado
https://issues.jboss.org/browse/WFLY-838

Com status resolved, para a versão 9.0.0.Alpha1

O que me leva a pensar que este bug pode ser o mesmo que afeta o JMC pois também está relacionado ao MBean e JMX.

Como não achei nada relacionado ao JMC com este erro resolvi escrever, para ajudar outras pessoas, caso encontrem esse mesmo problema.


Se você utilizar a versão 9 ou superior do Wildfly e ocorrer este mesmo problema, deixe seu comentário.






Até a próxima!


quarta-feira, 16 de setembro de 2015

Jenkins Redmine Plugin (Versão em Português)

Para quem usa Jenkins este é o link do plugin:
https://wiki.jenkins-ci.org/display/JENKINS/Redmine+Plugin

Aqui vai o meu relato:
- Um dos problemas é não saber como usá-lo e não há grandes explicações sobre ele (documentação?)
- Ele cria um link para o projeto no jenkins para o redmine porém bem simples.
- Existe o Post-build "Aggregate Redmine tickets metrics", porém não falam nada sobre e nem vi como configurar, pelo menos é bem simples, coloquei a API key do repositório para ver no que dava, sem versão e nem nada.
- Ele colocou um novo link para Ticket Metrics e um gráfico, mas e daí?
(aguardo uma mudança no código para dar build?)
- Após um build: deu problema de permissão (legal e onde coloco login e senha?)
- Encontrei em Manage Jenkins -> Configure Global Security -> Access Control -> Security Realm -> Redmine User Auth

Mas está tão desatualizado que só tem até o Redmine 1.2.0 e 1.1.3
Além disso o que fazer quando o redmine não está no mesmo servidor que
o Jenkins? Pois nesse esquema ele iria utilizar os mesmos usuários do
redmine para autenticação no Jenkins
No fim das contas só estou utilizando o redmine plugin para ter um
link no redmine mesmo

Descobertas:

Foi instalando o Plugin do Redmine no Sonar Qube, que possui uma melhor documentação sobre o plugin, descobri que a API key é a chave do usuário, pois assim ele não precisará de usuário e senha, o Redmine User Auth não tem haver com isso, provavelmente só serve para autenticação mesmo.

E como pegar a API key do usuário?
  1. Log in no Redmine com um admin
  2. Vá para Administration > Settings > Authentication
  3. Habilite Enable Rest Web Service API
# Para não usar o admin foi criado uma conta para o sonar e jenkins, e adicionado aos projetos apenas como reporter
  4. Log como o usuário sonar.
  5. Vá para página "My Account" (/my/account) e crie uma nova API key no painel da direita da tela
  6. Copie a API key para usar na configuração do plugin

Após isto será possível utilizar o Ticket Metrics

Este Redmine User Auth é uma feature então, porém só é vantajoso se
eles estiverem no mesmo servidor