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

Improve Deploy Process #35

Open
artasparks opened this issue Jun 1, 2016 · 8 comments
Open

Improve Deploy Process #35

artasparks opened this issue Jun 1, 2016 · 8 comments
Milestone

Comments

@artasparks
Copy link
Member

artasparks commented Jun 1, 2016

Everyone would really like to improve the deploy process. Currently, the process looks like:

  • ssh into the machine.
  • apt install docker/docker machine
  • DL the container[s] and run them.

This process could probably be improved. @duckpunch mentioned using Ansible script to provision the machine. A middle ground might be using Ansible with docker: https://www.ansible.com/docker

I would also personally love it if Green travis builds automatically initiated deploy process. This isn't trivial, however, and would doubtless require the building of a custom travis script and adding encrypted credentials to the travis script.

@artasparks artasparks added this to the Beta Launch milestone Jun 1, 2016
@brilee
Copy link
Contributor

brilee commented Jun 1, 2016

It's a bit worse than this actually; docker-compose build is being executed on the deploy target machine, so the container built by the dev on his local machine, and the container built on the deploy target machine are only theoretically the same. (I did this just to see if I could get things up and running; hadn't had time to look further into it.) I think fixing this is as simple as registering an account on the public Docker registry and uploading/downloading from there.

@artasparks
Copy link
Member Author

Ah, I see. It should be a relatively straight forward to fix that.

@duckpunch
Copy link
Collaborator

Green travis builds automatically initiated deploy process

How well is Travis built for CD? Have you used it? How deep was your usage of it?

Other (open source) options include:

  • Concourse
  • go.cd - somehow seems appropriate for this project?
  • Jenkins - I hear its garbage but I haven't used 2.0 - the version that has the CD features.

@artasparks
Copy link
Member Author

How well is Travis built for CD? Have you used it? How deep was your usage of it?

I haven't used it, but I've been doing some reading here and there on it over the last couple of days. I'm totally open to ideas (thanks for the links!) From looking at the other options mentioned, it looks like most of these would require setting up a separate deployment server, correct?

@duckpunch
Copy link
Collaborator

Yep. It would make CI more complicated for the various CD features (push button deploys, pipelines, logs, access controls, etc)

@artasparks
Copy link
Member Author

Note that images are now automatically built and pushed when changes are merged into the 'release' branch. Then, these images automatically get pushed to the USGO docker hub repo: https://hub.docker.com/u/usgo

@artasparks
Copy link
Member Author

artasparks commented Aug 22, 2016

Still to do:

  • Tag the images in an intelligent way
  • Automatically check for new release images and redeploy them
  • Integrate with docker compose

@artasparks
Copy link
Member Author

Ok, tagging is done to my satisfaction for now. Still have:

  • Automatically check for new release images and redeploy them
  • Integrate with docker compose

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