Ansible
Ansible 是否提供了一種在控制節點上建構/編譯,然後部署到託管節點的方法?
有沒有辦法讓Ansible在控制節點上本地執行建構腳本,然後將生成的工件部署到各個託管節點?
如果我遺漏了什麼,請告訴我,但我查看了
shell
,command
和script
模組的文件,它們似乎都只允許在託管節點上執行。我真的很驚訝我找不到在控制節點上執行命令的方法。也許這不在 Ansible 的駕駛室裡?您是否應該使用其他一些工具
Make
來進行建構,然後 Ansible 只處理將其複製到伺服器的想法?
對於 Ansible,要在一組不同的主機上執行一個東西,請嘗試開始一個新的遊戲。
- name: Build thing # localhost is the node running Ansible # By default, this already is connection local # exec instead of ssh hosts: localhost tasks: # Assuming make based build scripts # make module reports not changed if nothing to do - make: chdir: /home/builduser/source/thing/ - name: Install thing hosts: various tasks: - copy: # copy is an action plugin that handles the copy from localhost to remote for yoy src: /home/builduser/source/thing/output/thing.rpm dest: /tmp/thing.rpm # TODO Use custom repo for content management rather than copying one-off packages - package: name: /tmp/thing.rpm
儘管您可以在 CI/CD 管道或其他任何方式中執行 Ansible,並且它可以執行任何您喜歡的方式,但 Ansible 作為建構系統並不令人驚奇。它不是面向工件的。