Eu sou novo no Hudson / Jenkins e queria saber se existe uma maneira de verificar os arquivos de configuração do Hudson para o controle de origem.
Idealmente, desejo poder clicar em algum botão na interface do usuário que diga 'salvar configuração' e ter os arquivos de configuração do Hudson registrados no controle de origem.
version-control
hudson
jenkins
jenkins-plugins
Yuval Roth
fonte
fonte
Respostas:
Resposta mais útil
Existe um plug-in chamado plug-in de configuração do SCM Sync .
Resposta original
Dê uma olhada na minha resposta para uma pergunta semelhante. A idéia básica é usar o sistema de arquivos-scm-plugin para detectar alterações nos arquivos xml. Sua segunda parte seria confirmar as alterações no SVN.
EDIT: Se você encontrar uma maneira de determinar o usuário para uma alteração, informe-nos.
EDIT 2011-01-10 Enquanto isso, há um novo plug-in: o plug- in de configuração do SCM Sync . Atualmente, ele funciona apenas com subversion e git, mas o suporte para mais repositórios está planejado. Estou usando-o desde a versão 0.0.3 e funcionou bem até agora.
fonte
Observe que Vogella tem uma opinião recente (janeiro de 2014, comparada à pergunta do OP de janeiro de 2010) e uma opinião diferente sobre isso.
Considere que o plug-in de configuração do SCM Sync pode gerar muitas confirmações.
Portanto, em vez de depender de um plug-in e de um processo automatizado, ele gerencia o mesmo recurso manualmente:
Armazenando as informações de trabalho de Jenkins no Git
Alberto realmente recomenda adicionar também (em
$JENKINS_HOME
):config.xml
),hudson*.xml
) eusers/*/config.xml
)fonte
config.xml
?Para gerenciar manualmente sua configuração com o Git, o seguinte arquivo .gitignore pode ser útil.
Veja este GitHub Gist e esta publicação no blog para obter mais detalhes.
fonte
Há um novo plug-in de configuração de sincronização do SCM que faz exatamente o que você está procurando.
Na verdade, eu ainda não tentei isso, mas parece promissor.
fonte
Você pode encontrar arquivos de configuração na pasta inicial do Jenkins (por exemplo
/var/lib/jenkins
).Para mantê-los no VCS, primeiro faça o login como Jenkins (
sudo su - jenkins
) e crie suas credenciais git:Em seguida, inicialize, adicione e confirme os arquivos básicos, como:
considere também criar
.gitignore
com os seguintes arquivos a serem ignorados (personalize conforme necessário):Em seguida, adicioná-lo:
git add .gitignore
.Quando terminar, você pode adicionar arquivos de configuração do trabalho, por exemplo
Finalmente, adicione e confirme quaisquer outros arquivos, se necessário, e envie-o para o repositório remoto onde deseja manter os arquivos de configuração.
Quando os arquivos Jenkins são atualizados, é necessário recarregá-los ( Recarregar configuração do disco ) ou executar a
reload-configuration
partir da Jenkins CLI.fonte
*.xml
não altera a regra e o git ignora todos os arquivos xml, incluindoconfig.xml
dojobs
diretório,git status
ignorando silenciosamente qualquer novo projeto.A maneira como prefiro é excluir tudo na pasta inicial do Jenkins, exceto os arquivos de configuração que você realmente deseja que estejam no seu VCS. Aqui está o
.gitignore
arquivo que eu uso:Isso ignora tudo (
*
), exceto (!
).gitignore
, os trabalhos / projetos, o plug-in e outros arquivos importantes e de configuração do usuário.Também vale a pena considerar incluir a
plugins
pasta. Plugins irritantemente atualizados devem ser incluídos ...Basicamente, essa solução facilita as futuras atualizações do Jenkins / Hudson porque novos arquivos não estão automaticamente no escopo. Você acabou de escutar o que realmente quer.
fonte
Um mais preciso
.gitignore
, inspirado na resposta da nepa :Ele ignora tudo, exceto os
.xml
arquivos de configuração e.gitignore
ele próprio. (a diferença para nepa 's.gitignore
é que ele não faz 'unignore' todos os diretórios de nível superior (!*/
) comologs/
,cache/
, etc.)fonte
A resposta de Mark ( https://stackoverflow.com/a/4066654/142207 ) deve funcionar para SVN e Git (embora a configuração do Git não funcione para mim).
Mas se você precisar trabalhar com o repositório Mercurial, crie um trabalho com o seguinte script:
fonte
Eu escrevi um plugin que permite que você verifique suas instruções Jenkins no controle de origem. Basta adicionar um
.jenkins.yml
arquivo com o conteúdo:e Jenkins fará isso:
fonte
Fiz o check-in inteiramente no hudson, você pode usar isso como ponto de partida https://github.com/morkeleb/continuous-delivery-with-hudson
Existem benefícios em manter Hudson inteiro no git. Todas as alterações de configuração são registradas e você pode testar a testagem facilmente em uma máquina e atualizar as outras máquinas usando git pull.
Usamos isso como um padrão para nossa configuração de entrega contínua da Hudson no trabalho.
Atenciosamente Morten
fonte