Posts tagged with eclipse

Hook do SVN para criar um novo job no Jenkins não está funcionando com o Eclipse

Mar 18, 2013 in eclipse, jenkins, subversion | blog

Havíamos preparado um build pipeline usando SVN, hooks e Jenkins. Além do tradicional hook para disparar jobs no Jenkins, havíamos criado um hook para criar novos jobs no Jenkins, baseados em um template Groovy para cada branch. Basicamente, este script estava casando o commit log do Subversion com “^A new branch”. Estava funcionando bem, exceto para desenvolvedores Eclipse. Novos branches criados com o Eclipse não estavam disparando o hook corretamente. Depois de debugar um pouco, descobrimos que o Eclipse usa comandos diferentes para criar novos branches no SVN.

Em caso você tenha um pipeline semelhante, você será forçado ou a utilizar diferentes expressões, ou pedir aos desenvolvedores que utilizem a linha de comando para criar novos branches (adotamos a opção #2 :=)

SVN hook to create a new job in Jenkins not working with Eclipse

Mar 18, 2013 in eclipse, jenkins, subversion | blog

We had prepared a build pipeline using SVN, hooks and Jenkins. Besides the traditional hook to trigger jobs in Jenkins, we had created a hook to create new jobs in Jenkins, based on a Groovy template for every new branch. Basically, it was matching the Subversion commit log against “^A new branch”. It was working nice, except for Eclipse developers. New branches created with Eclipse weren’t triggering the hook correctly. After a little debug, we found out that Eclipse uses different commands to create a new branch.

In case you are creating similar pipeline, you’ll be forced to either use different expressions or ask the developers to use the command line to create new branches.

Escrevendo scripts Groovy para o Jenkins usando o Eclipse com auto complete

Jan 17, 2013 in jenkins, eclipse, groovy | tutorials

Groovy é uma linguagem dinâmica e simples de usar. Ele é baseada no Java (mas mais simples) e roda dentro da JVM. Assim, você consegue executar trechos de código dentro da sua JVM e modificar objetos em tempo de execução, sem nem precisar compilar seus scripts.

O Jenkins utiliza Groovy de diversas maneiras. Quando você escreve plug-ins, você pode usar Groovy tanto para o código quanto para a UI (a vantagem disso é que você pode depurar a tela, diferente do Jelly). Há também diversos plug-ins que permitem que você execute Groovy ou algum DSL com Groovy (como o Job DSL Plug-in). E há também o CLI do Jenkins, um cliente que permite que você execute diversos comandos no Jenkins, entre eles o groovysh, um shell para Groovy, e o groovy, que permite que você envie um script para o Jenkins executar no master.

Há um exemplo que vem com o Jenkins de um script groovy bem simples, que imprime todos os plug-ins instalados:

println(Jenkins.instance.pluginManager.plugins)

pluginManager é o responsável por gerenciar plug-ins no Jenkins, e é um membro da classe Jenkins. Você pode ver mais sobre esta classe lendo o Javadoc do projeto. Ou se você utilizar Eclipse (ou outro IDE) você pode utilizar auto complete e ir escrevendo seu código Groovy com auxílio do IDE :o).

No vídeo acima você aprenderá como configurar seu Eclipse. O segredo é criar um projeto Maven + Groovy (com o plug-in Groovy para Eclipse) e incluir uma dependência para o projeto do Jenkins no seu pom.xml. Assim o Eclipse, utilizando Maven e Groovy, consegue usar o auto complete no seu código. Você pode digitar o começo do nome de uma classe e apertar CTRL + TAB para o Eclipse mostrar as opções e auto completar, ou clicar F3 e ver o código-fonte no projeto Jenkins ou CTRL + T e ver a hierarquia (de onde herda, quem estende essa classe, etc).

Aproveite este começo de ano (já que alguns dizem que o ano começo depois do carnaval) e automatize aquelas tarefas chatas como verificar se todos os jobs estão usando time-out (com o Build Timeout Plug-in) ou para realizar migrações ou atualizações em plug-ins, jobs ou slaves.