gpt4 book ai didi

Ansible : how to create a function like

转载 作者:行者123 更新时间:2023-12-04 03:36:34 26 4
gpt4 key购买 nike

我有一个像这样的重复模式::

- name: =code_01= clone repository
git: repo=gitolite@git.site.net:/code_01
dest=/tmp/code_01
update=yes
force=yes
accept_hostkey=yes
version=master
sudo: true
sudo_user: "{{ user }}"

- name: =code_01= egg build
shell: . {{ home }}/{{ venv_name }}/bin/activate && make egg
args:
chdir: "/tmp/code_01"
sudo_user: "{{ user }}"
sudo: true

- name: =code_01= egg get
command: find /tmp/code_01/dist -type f -iname '*.egg'
register: code_01eggs

- name: =code_01= egg install in {{ venv_name }} venv
shell: . {{ home }}/{{ venv_name }}/bin/activate && easy_install {{ item }}
args:
chdir: "{{ home }}"
with_items: "{{ code_01eggs.stdout_lines }}"
sudo_user: "{{ user }}"
sudo: true

- name: =code_01= cleanup
file: path=/tmp/code_01 state=absent
sudo: true

我与此有关: 代码_02 , 代码_03 , 代码_04 , ..., code_0n

我怎样才能“分解”这个?

最佳答案

您可以将逻辑移至第二个 yml 文件并使用 includewith_items :

- include: factored.yml
with_items:
- code_01
- code_02
- code_03

并在第二个文件中替换 code_01{{ item }} .

有用链接: Ansible docs: Loops and include

注意:如果你有嵌套循环,你可以使用 set_fact 设置外循环项在 Ansible 2.0 之后。有关更多信息,请参阅上述文档。

关于Ansible : how to create a function like,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36520425/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com