Com minha tarefa Ansible que cria symlink
ramificações específicas, vejo que ela adiciona espaços em branco e aspas ao arquivo symlink
.
- name: "Symlink to git branch"
file:
src: "{{ repository }}/{{ application }}"
dest: "/path/to/my/{{ symlink_name }}"
state: link
vars:
symlink_name: >-
{% if git_branch == 'development' %}
my-development
{% elif git_branch == 'master' %}
newest
{% elif git_branch == 'hotfix' %}
my-hotfix
{% endif %}
Isso resulta em:
root# ls -lha
' my-development ' -> /path/to/my/symlink
É baseado no development
branch. Tentei adicionar antes e depois dos symlink_name
diferentes sinais, infelizmente sem sucesso.
As aspas são apenas uma maneira do seu sistema operacional indicar que o link simbólico contém espaços e não fazem parte do link.
Os espaços, no entanto, vêm da sua expressão Jinja, devido ao espaçamento introduzido pelos blocos de declaração Jinja, todos em novas linhas.
Lembre-se de que seu uso da sintaxe YAML dobrada (
>-
) causa isso: ele substitui novas linhas por espaços!Uma maneira fácil de resolver isso é usar o controle de espaço em branco do Jinja:
Outra maneira, sem dúvida mais compacta, de resolver isso é criar um dicionário dos ramos e seus links simbólicos equivalentes:
(Você deve usar a opção de dicionário por β.εηοιτ.βε)
Opcionalmente, você pode aparar a corda
Por favor teste isso
dá