Jenkins: Script Python com argumentos

2

Nota: Nunca usei jenkins antes

Eu tenho um script python que aceita 3 argumentos para ser executado. Através de um terminal você usaria assim:

python script.py arg1 arg2 arg3

Eu quero criar um novo trabalho jenkins que basicamente utiliza esse script e o executa após os 3 argumentos terem sido fornecidos. No entanto, não consigo encontrar exemplos que executem esse trabalho. O script é colocado em um repositório do github para que seu caminho seja assim: https://github.com/username/repo/folder/script.py . Foi o que eu fiz:  1. Eu fui em frente e criei um novo trabalho New Item --> Freestyle Project .  2. Sob GitBucket - > Githubproject Eu adicionei o caminho: https://github.com/username/repo/  3. Eu cliquei em This build is parameterized e adicionei 3 opções     parâmetros que as opções possíveis.  4. Então, sob build eu selecionei execute shell e dei o comando python script.py $param1 $param2 $param3

A minha pergunta é que, no passo 2, eu deveria estar dando o caminho para o script como https://github.com/username/repo/folder/script.py ou está certo do jeito que eu tenho agora.

Todas as sugestões / links para tutoriais serão úteis

    
por newkid101 01.03.2016 / 20:39

2 respostas

1

Se tudo que você precisa é apenas um arquivo em particular - você pode usar somente script de shell

#!/bin/bashwget-q-Osample.pyhttps://raw.githubusercontent.com/Alexhha/hello-world/master/python/sample.py/usr/bin/pythonsample.py${ARG1}${ARG2}${ARG3}

sample.pyéapenasumscriptsimples

importsysprint'Sampleoutput:%s,%s,%s'%(str(sys.argv[1]),str(sys.argv[2]),str(sys.argv[3]))

Executaramostradecompilação

Vocêreceberáalgoparecidocomoseguinte

the script is in a private repo

Se você estiver clonando dentro de um script e precisar evitar os prompts, adicione o token ao URL clone:

git clone https://<token>@github.com/owner/repo.git

ou

git clone https://<token>:[email protected]/owner/repo.git

Nota: Os tokens devem ser tratados como senhas. Colocar o token na URL clone resultará em Git escrevendo para o arquivo .git / config em texto simples. Infelizmente, isso também acontece com as senhas HTTP.

    
por 01.03.2016 / 21:49
0

Parece que tudo que você precisa fazer é adicionar o comando no diálogo do shell exec. As outras configurações soam certas para mim. O que há na saída do console do seu trabalho Jenkins?

Se você adicionou o local do repositório git e o sistema tem acesso adequado a esse repositório, ou se você configurar credenciais no trabalho Jenkins, tente configurar um comando shell de execução adicionando o caminho completo ao Python e o caminho local ao script .

Nossa instalação do Jenkins é executada a partir de um contêiner de espaço de trabalho local para cada trabalho.

Execute o Shell:

/usr/bin/python ./folder/script.py $param1 $param2 $param3
    
por 01.03.2016 / 23:18