Git
Resumo
- Execute ações em um repositório git.
Requisitos
- Git >= 1.7.1
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
accept_hostkey | boolean | Escolhas: - false (default) - true | |
archive | string | | Especifique o caminho do arquivo compactado com extensão. Se especificado, cria um arquivo do formato especificado contendo a estrutura em árvore da árvore de origem. Formatos de arquivo permitidos ["zip", "tar.gz", "tar", "tgz"]. |
archive_prefix | string | | Especifique um prefixo para adicionar a cada caminho no arquivo. Requer que o arquivo seja especificado. |
bare | boolean | Escolhas: - false (default) - true | Se true, o repositório será criado como um repositório simples, caso contrário, será um repositório padrão com um espaço de trabalho. |
clone | boolean | Escolhas: - false - true (default) | Se false, não clone o repositório, mesmo se ele não existir localmente. |
depth | string | | Crie um clone superficial com um histórico truncado para o número especificado ou revisões. O valor mínimo possível é 1, caso contrário, ignorado. Precisa de git> = 1.9.1 para funcionar corretamente. |
dest - required | string | | O caminho de onde o repositório deve ser verificado. Este parâmetro é obrigatório, a menos que clone seja definido como não. |
executable | string | | Caminho para o executável git a ser usado. Se não for fornecido, o mecanismo normal para resolver caminhos binários será usado. |
force | boolean | Escolhas: - false (default) - true | Se true, todos os arquivos modificados no repositório de trabalho serão descartados. |
gpg_whitelist | list / elements=string | Valor padrão: [] | Uma lista de impressões digitais GPG confiáveis para comparar com a impressão digital do commit assinado por GPG. Usado somente quando verify_commit = true. O uso deste recurso requer Git 2.6+ devido à sua confiança no sinalizador --raw do git para verify-commit e verify-tag. |
key_file | string | | Especifique um caminho de arquivo de chave privada opcional, no host de destino, para usar para o check-out. |
recursive | boolean | Escolhas: - false - true (default) | Se false, o repositório será clonado sem a opção --recursive, pulando os submódulos. |
reference | string | | Repositório de referência (consulte "git clone --reference ..."). |
refspec | string | | Adicione um refspec adicional a ser obtido. Se a versão for definida como SHA-1 não alcançável de qualquer ramificação ou tag, esta opção pode ser necessária para especificar o ref que contém o SHA-1. Usa a mesma sintaxe do comando 'git fetch'. Um exemplo de valor poderia ser "refs/meta/config". |
remote | string | | Nome do branch remoto. |
repo - required Aliases: name | string | | Endereço do repositório git. SSH ou HTTP (S) do repositório git. |
separate_git_dir | string | | O caminho para colocar o repositório clonado. Se especificado, o repositório Git pode ser separado da árvore de trabalho. |
ssh_opts | string | | Cria um script de wrapper e exporta o caminho como GIT_SSH, que o git usa automaticamente para substituir os argumentos ssh. Um exemplo de valor poderia ser "-o StrictHostKeyChecking = no" (embora esta opção específica seja melhor configurada por meio de accept_hostkey). |
track_submodules | boolean | Escolhas: - no (default) - yes | Se true, os submódulos rastrearão o último commit em seu branch master (ou outro branch especificado em .gitmodules). Se não, os submódulos serão mantidos na revisão especificada pelo projeto principal. Isso é equivalente a especificar a sinalização --remote para git submodule update. |
umask | string |
| O umask a ser definido antes de fazer qualquer verificação ou qualquer outra manutenção de repositório. |
update | boolean | Escolhas: - no - yes (default) | Se não, não recupere novas revisões do repositório de origem. Operações como o arquivo funcionarão no repositório existente (antigo) e podem não responder às mudanças nas opções de versão ou remoto. |
verify_commit | boolean | Escolhas: - no (default) - yes | Se sim, ao clonar ou fazer check-out de uma versão, verifique a assinatura de um commit assinado por GPG. Isso requer a versão do Git> = 2.1.0 para ser instalado. O commit DEVE ser assinado e a chave pública DEVE estar presente no chaveiro GPG. |
version | string | Valor padrão: "HEAD" | Qual versão do repositório deve ser retirada. Pode ser a string literal HEAD, um nome de branch, um nome de tag. Também pode ser um hash SHA-1; nesse caso, refspec precisa ser especificado se a revisão fornecida ainda não estiver disponível. |
Notas
- Se a tarefa parece estar travada, primeiro verifique se o host remoto está em known_hosts. O SSH solicitará que o usuário autorize o primeiro contato com um host remoto.
- Para evitar esse prompt, uma solução é usar a opção accept_hostkey.
- Outra solução é adicionar a chave pública do host remoto em /etc/ssh/ssh_known_hosts antes de chamar o módulo git, com o seguinte comando:
ssh-keyscan -H remote_host.com >> /etc/ssh/ssh_known_hosts.
Exemplos
# Exemplo: Checkout de um repositório
- git:
repo: 'https://foosball.example.org/path/to/repo.git'
dest: /srv/checkout
version: release-0.22
# Exemplo: Checkout com permissão read-write
- git:
repo: [email protected]:mylogin/hello.git
dest: /home/mylogin/hello
# Exemplo: Garantindo que existem checkouts no repositório
- git:
repo: 'https://foosball.example.org/path/to/repo.git'
dest: /srv/checkout
update: no
# Exemplo: Obtenha informações sobre o repositório, independentemente de já ter
# sido clonado localmente ou não.
- git:
repo: 'https://foosball.example.org/path/to/repo.git'
dest: /srv/checkout
clone: no
update: no
# Exemplo: Checkout de um repositório github e uso de refspec para buscar
# todas as solicitações pull
- git:
repo: https://github.com/atmosphere/atmosphere-examples.git
dest: /src/atmosphere-examples
refspec: '+refs/pull/*:refs/heads/*'
# Exemplo: Criar arquivo git a partir do repositório
- git:
repo: https://github.com/atmosphere/atmosphere-examples.git
dest: /src/atmosphere-examples
archive: /tmp/atmosphere-examples.zip
# Exemplo: Clonar um repositório com diretório git separado
- git:
repo: https://github.com/atmosphere/atmosphere-examples.git
dest: /src/atmosphere-examples
separate_git_dir: /src/atmosphere-examples.gitValores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
after | string | Sucesso | Última revisão de commit recuperada durante a atualização. |
before | string | Sucesso | Revisão de commit anterior à atualização, o valor é "null" para novos repositórios. |
git_dir_before | string | Sucesso | Contém o caminho original do diretório .git se ele for alterado. |
git_dir_now | string | Sucesso | Contém o novo caminho do diretório .git se ele for alterado. |
remote_url_changed | boolean | Sucesso | Contém True caso a URL tenha sido alterada ou False, caso continue a mesma. |
warnings | string | Erro | Lista de avisos se os recursos solicitados não estiverem disponíveis devido a uma versão git antiga. |