docker - 如何使用 ansible 将文件从 Jenkins Workspace 上传到远程 dest
问题描述
我需要使用 ansible 将 Docker-compose 文件从我的 Jenkins 工作区复制到远程机器。这就是我现在所拥有的
---
- hosts: [...].es
tasks:
- name: copy Docker Compose files
copy:
remote_src: ~/docker-compose.yml
dest: ./opt/ydilo/ydilo-acalls/
- name: Run container
become: True
shell:
cmd: "docker-compose up"
chdir: ./opt/ydilo/ydilo-acalls/
它正确连接到主机,因为 docker-compose up 命令已经完成。但我无法正确复制文件。我已将 remote_src 中的 ~ 更改为 - 但它并没有改变任何东西。
解决方案
在您的 ansible 游戏中,复制任务
- name: copy Docker Compose files
copy:
remote_src: ~/docker-compose.yml
dest: ./opt/ydilo/ydilo-acalls/
remote_src属性不正确;remote_src根据 ansible docs here,应该是 yes 或 no,它会影响执行复制任务时的行为;但是,您需要添加定义要复制的文件路径的src属性。
应该是这样的(假设您在本地和远程主机上都提供了正确的路径)
- name: copy Docker Compose files
copy:
src: ~/docker-compose.yml
dest: ./opt/ydilo/ydilo-acalls/
推荐阅读
- javascript - 页面滚动到 div
- download - 接受检索的字段少于 MARS Web API 中请求的字段吗?
- php - Wordpress - 重写网址
- r - 如何在ggplot2中的水平条形图之外进行注释
- ios - Metal iOS 中的遮罩
- microsoft-graph-api - Microsoft Graph 异常 SubscriptionCountReached
- c++ - char c = 255 的值转换为 int
- xml - XSLT 转换后在 XML 中保留名称空间
- c++ - 使用 cppunit 进行代码覆盖的机制
- parse-platform - 解析 findObjectsInBackground 返回空数组