Roots Discourse

Can't deploy -

Your output includes this:

Git repo cannot be accessed. gives a 404, which suggests to me that comp-dev-ar does not have a GitHub account. Could you confirm that this is a real account and repo on the GitHub servers (not just on your local machine)? If it is not, note that you’ll need to create a real account and repo on GitHub servers and list it in wordpress_sites.

You might also compare whether these commands work from your local machine:

ssh 'cd /tmp && git clone'
ssh 'cd /tmp && git clone'

That’s because Im replacing all the real information (IP, users, keys, etc). It’s created and working just fine…
It’s just empty:

ssh 'cd /tmp && git clone'

Cloning into 'trellis-test'... warning: You appear to have cloned an empty repository.

Hmm… I’m guessing you created the comp-dev-ar/trellis-test repo/project using the GitHub GUI but haven’t pushed your actual repo from your local machine. Try this in your local machine Trellis directory:

# add github repo as a remote
git remote add github

# push the latest repo changes up to GitHub
git push github master

# test whether cloned repo is no longer empty
ssh 'cd /tmp && git clone test2'

If that last command just responds Cloning into 'test2'... I think that means success and you can try your deploy again.

If that doesn’t resolve it, could you please do this:

Otherwise, I think the critical debug info is being censored, as per your error message:
FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}


Thanks. I will… may be was obvious that I need to initiate git… :frowning:
I have this:

Do I need to initiate git in directory or in trellis directory?


In the project root folder so Run git init and then git push to push it to GitHub.

Yes, thank you for checking @pushstudio, and for clarifying @swalkinshaw, you’ll be pushing up your repo/project. I was wrong when I suggested pushing from your Trellis directory. You’ll be deploying so that is what you need to push to a git host.

Thanks to all… It was only that. I can’t believe I didn’t see it :frowning:
Thanks. It deploy. The database is empty, so I will read more about that. Thanks to all!


This is what I somehow needed today to deploy my site changes. Committing and adding all changes using git was fine, but when I wanted to deploy I got an error that the repo could perhaps not be reached or that I had to setup proper SSH forwarding. Just adding the key to the keychain seemed to make all work again.


Hi everyone,

I been following this thread, tested the suggestions too.

But I can’t still not deploy to my staging, but my colleague does it and we have tried to solve this now but we are stuck. Getting bored to ask him to deploy for me all the time.

Keep getting this error message at the end:
TASK [deploy : Clone project files] **********************************************************************************

System info:

  Ansible; Darwin

  Trellis at "Normalize `apt` tasks"


Failed to download remote objects and refs:  Permission denied (publickey).

fatal: Could not read from remote repository.

Please make sure you have the correct access rights

and the repository exists.

fatal: []: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}


TASK [deploy : Failed connection to remote repo] *********************************************************************

System info:

  Ansible; Darwin

  Trellis at "Normalize `apt` tasks"


Git repo cannot be accessed. Please

verify the repository exists and you have SSH forwarding set up correctly.

More info:




fatal: []: FAILED! => {"changed": false, "failed": true}

	to retry, use: --limit @/Applications/MAMP/dev/

PLAY RECAP ***********************************************************************************************************              : ok=7    changed=0    unreachable=0    failed=1   

localhost                  : ok=0    changed=0    unreachable=0    failed=0 

Any other suggestions?

Do you have access to the git repo?

I mean the site repo in wordpress_sites.yml:

Yes, I have push code and changes to the repository.

And tested with

ssh -T

And I get access to it, when I test on my terminal.

@ellrod Does ssh-add -l list the private ssh key that grants access to your bitbucket repo? Please try ssh-add or ssh-add -K till it does.

If you’re on macOS Sierra or newer, please ensure your ssh agent isn’t “forgetting” your ssh key. I haven’t read the discussion carefully, but perhaps add this to your ~/.ssh/config`:

Host *
  AddKeysToAgent yes
  UseKeychain yes

If your repo is with bitbucket, then you need to test ssh -T and it is more applicable if run on your server because during deploys it is your server that will initiate the git clone. For example,

$ ssh -o ForwardAgent=yes web@

$ ssh -T

If this last test fails in any way, how about removing /home/web/.ssh/known_hosts from the server then exiting the SSH session and trying your deploy again.


I’m the one that have setup the server in question. And I can’t wrap my head around the problems @ellrod is facing here. It seems he’s able to connect to the server and manually clone the repo, so as far as I can understand, the key is being forwarded.

Could there be some setting within Bitbucket that’s causing this? @ellrod has pushed changes to the repo on Bitbucket which I have later deployed because we have this issue. So access

Me personally can deploy without any issue.

This resolved my issue. Thank you, Scott.

I can’t seem to get my deploy to work. I’ve followed each of the steps listed in this thread and still getting error. I’ve double checked that SSH Agent Forwarding is enabled locally and on the server and that the key is added to the SSH agent both locally on on GitHub account. I’ve tried removing known_hosts from server and re-deploying.

I’ve deployed before on this project with the same repository and now it isn’t working.

We’ll need to see the actual errors you’re receiving in order to help here. Have you provisioned your server before deploying?

Figured it out!

After spinning up a new server and starting fresh it worked fine. So I started looking into differences in server settings between the two.

Turns out that i had changed the folder permissions/ownership of the folders on my server inside /srv/www/. Once I changed the permissions/ownership back to web:www-data it worked perfectly.

Hopefully this helps someone else out in the future.


I am also experiencing this issue. I have double-checked that ssh forwarding is working, ran through the points described by @fullyint:

$ ssh -o ForwardAgent=yes web@[ server ip ]

$ ssh -T

Removed known hosts and re-tried the deploy.

@smashcreative also mentioned he span up a new server and it worked with changing the file permissions to web.www-data. I have double-checked that these permissions are in place on my server and that is the case.

For me, my deployment based on a private repo on bitbucket:

Failed to execute git clone --no-checkout ‘’ ‘web/app/plugins/xxx/’ && cd ‘web/app/plugins/xxx/’ && git remote add composer ‘’ && git fetch composer

Using verbose on the deploy command, I am using the following:

Ansible 2.5.3; Linux
Trellis 1.0.2: March 13th, 2019

Any help regarding this issue would be very much appreciated

I have been having exactly the issue on this thread – it works fine when I start a new server, but after a while the issue always comes back.

The one thing I haven’t tried is this permissions issue identified by @smashcreative.

Here’s my output when I go to view permissions of /srv/www/

lrwxrwxrwx 1 vagrant www-data 40 Jul 30 00:29 current -> /srv/www/
drwxr-xr-x 2 web www-data 4096 Sep 9 06:25 logs
drwxr-xr-x 3 vagrant www-data 4096 Jul 30 00:26 releases
drwxr-xr-x 4 vagrant www-data 4096 Jul 30 00:29 shared

Is that incorrect?

Happy to report that this was the issue on my site!

So, what I did to fix it was this:

ssh root@xxx.xx.xx.xx
cd /srv/www
sudo chown -R web:www-data

And it now deploys fine!