Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Travis CI Automated Deployment Problems #196

Closed
justinlevi opened this issue Jun 22, 2016 · 3 comments
Closed

Travis CI Automated Deployment Problems #196

justinlevi opened this issue Jun 22, 2016 · 3 comments
Assignees

Comments

@justinlevi
Copy link
Contributor

I've made a ton of progress over the last couple of days figuring out how this project works. I'm a huge fan of pretty much everything in here and the new Drupal-VM integration is working really well for me. Also got everything working on Windows today as well which was kind of a bear...

That being said, I'm struggling with the automated deployment process. I'm deviating from the build/README.md a little just try and grok how it all works.

Here's my build: https://travis-ci.org/justinlevi/bolt/builds/139384098

I'm getting a permissions denied error with the deploy:push remote

project > deploy:push-remote:
     [exec] Warning: Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts.
     [exec] Permission denied (publickey).
     [exec] fatal: Could not read from remote repository.
     [exec] 
     [exec] Please make sure you have the correct access rights
     [exec] and the repository exists.

I'm not sure if this is silly or just not possible, but I'm trying to push back to the develop-build branch if all tests pass successfully, on the same repository. Is this possible on the travis-ci.com (public travis)? There isn't anyplace on travis-ci.com to enter a public ssh key that I could find so I'm wondering if this just isn't possible.

If that's the case, how would someone handle this given it's just a demo and I don't own a personal private travis account? Hopefully what I'm trying to do here makes some sense...

Thanks in advance.

Referencing:
https://github.com/acquia/blt/blob/599acda7adf214d93b78d60c82d7cf44c8b129a5/template/build/README.md

@CashWilliams
Copy link
Contributor

This isn't really possible with a free version of Travis. You need to be able to securely provide access to the ssh key, and only the paid version allows for this.

@justinlevi
Copy link
Contributor Author

@CashWilliams Ahh, that would explain the issue then. Unfortunate that the free version of Travis can't do this. I guess I could just write a cron task, on another server, to check the build status and do a merge back.

Any other workflows for using free version of Travis that would make sense?

@grasmash
Copy link
Contributor

@justinlevi For the Bolt repo itself, we're actually committing an encrypted private key to the repository, which only the Travis worker is able to decrypt. We can then add the corresponding public key to our deployment endpoint.

It's a bit of a PIA, but it works. This line does the bulk of the work:
https://github.com/acquia/blt/blob/8.x/.travis.yml#L27

The actual encryption and the openssl portion of that command is done by the travis binary. See instructions for encrypting files with Travis CI.

We should add a note to the docs indicating that the prescribed workflow only applies to private repos.

grasmash added a commit to grasmash/bolt that referenced this issue Aug 15, 2016
@grasmash grasmash self-assigned this Aug 15, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants