mrsixw / concourse-rsync-resource

concourse.ci resource for persisting build artifacts on a shared storage location with rsync and ssh.
Apache License 2.0
18 stars 40 forks source link

Command Rsync not found 👀 #10

Open chris-aeviator opened 7 years ago

chris-aeviator commented 7 years ago

Hi there! I try to use your docker image with concourse ci, strangly the wanted behaviour (rsync) is not available. The task fails with bash: rsync: command not found.

Config

resource_types:
- name:                      rsync-resource
  type:                      docker-image
  source:
      insecure_registries:   ["172.18.0.5:5000"]
      repository:            172.18.0.5:5000/concourse-rsync
      tag:                   master
[…]
- name:                      srv-awesomeproject-local
  type:                      rsync-resource
  source:
    server:                  172.18.0.6
    user:                    root
    base_dir:                /tmp/nido
    private_key:             |
         -----BEGIN RSA PRIVATE KEY-----
        […]
         -----END RSA PRIVATE KEY-----
jobs:
- name:                      awesomeproject-docker
  public:                    true
  plan:
  - get:                     awesomeproject-drupal
    trigger:                 true
  - task:                    web-app-tests
    config:
      platform:              linux
      image_resource:
          type:              docker-image
          source:            
            registry_mirror: http://quay.io
            repository:      aptible/alpine  
            tag:             3.4
      run:
          path:              echo
          args:              ["`date`"]
  - put:                     srv-awesomeproject-local 

Concourse Output

[…]
DISABLE_VERSION_PATH=1
Agent pid 32
nidobirds-deploy-36
10b6ff96a96064029810a4dfe7c814e1
/tmp/nido/10b6ff96a96064029810a4dfe7c814e1
ssh -i ~/.ssh/server_key -p 22 root@172.18.0.6 mkdir -p /tmp/nido/10b6ff96a96064029810a4dfe7c814e1
Warning: Permanently added '172.18.0.6' (ECDSA) to the list of known hosts.
rsync -Pav -e 'ssh -i ~/.ssh/server_key -p 22' /tmp/build/put// root@172.18.0.6:/tmp/nido/10b6ff96a96064029810a4dfe7c814e1
bash: rsync: command not found

P.S. I had to push your image to my own registry, the image 172.18.0.5:5000/concourse-rsync is a clone of your concourse-rsync-resource

chris-aeviator commented 7 years ago

after digging deeper into the OUT script, i found out that you run rsync from the target machine rather from the host (which is controlled by this image). I suppose to change the behaviour to rsync from source to destination

mrsixw commented 7 years ago

Have you rebuilt the docker image to host on your repo? Did the build fail? Have you tried to use the dockerhub hosted image directly?

Sent from my iPhone

On 24 Aug 2017, at 15:31, chris-aeviator notifications@github.com wrote:

Hi there! I try to use your docker image with concourse ci, strangly the wanted behaviour (rsync) is not available. The task fails with bash: rsync: command not found.

Config

resource_types:

  • name: rsync-resource type: docker-image source: insecure_registries: ["172.18.0.5:5000"] repository: 172.18.0.5:5000/concourse-rsync tag: master […]
  • name: srv-awesomeproject-local type: rsync-resource source: server: 172.18.0.6 user: root base_dir: /tmp/nido private_key: | -----BEGIN RSA PRIVATE KEY----- […] -----END RSA PRIVATE KEY----- jobs:
  • name: awesomeproject-docker public: true plan:
    • get: awesomeproject-drupal trigger: true
    • task: web-app-tests config: platform: linux image_resource: type: docker-image source:
      registry_mirror: http://quay.io repository: aptible/alpine
      tag: 3.4 run: path: echo args: ["date"]
    • put: srv-awesomeproject-local

Concourse Output

[…] DISABLE_VERSION_PATH=1 Agent pid 32 nidobirds-deploy-36 10b6ff96a96064029810a4dfe7c814e1 /tmp/nido/10b6ff96a96064029810a4dfe7c814e1 ssh -i ~/.ssh/server_key -p 22 root@172.18.0.6 mkdir -p /tmp/nido/10b6ff96a96064029810a4dfe7c814e1 Warning: Permanently added '172.18.0.6' (ECDSA) to the list of known hosts. rsync -Pav -e 'ssh -i ~/.ssh/server_key -p 22' /tmp/build/put// root@172.18.0.6:/tmp/nido/10b6ff96a96064029810a4dfe7c814e1 bash: rsync: command not found

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

mrsixw commented 7 years ago

It should run in docker but i don't think the guaranteed to run on the same physical host as other jobs if you have multiple workers. I might be wrong but I think this is the case.

Sent from my iPhone

On 24 Aug 2017, at 15:45, chris-aeviator notifications@github.com wrote:

after digging deeper into the OUT script, i found out that you run rsync from the target machine rather from the host (which is controlled by this image). I suppose to change the behaviour to rsync from source to destination

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.