Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Simple automated deployment

Simple automated deployment

With Jekyll, Github, Travis-CI and Amazon S3. Presented at a monthly Tech Workshop for campus IT staff at UC Santa Cruz on March 26, 2015.

Rob Knight

March 26, 2015
Tweet

More Decks by Rob Knight

Other Decks in Programming

Transcript

  1. Front-end version control consisted of: hoping no one else was

    editing the file you were about to upload to the server. 2008
  2. What we need • Make deployment easy • Facilitate team

    collaboration • Automate repetitive tasks • Enforce a trusted process
  3. Project details • Unique design • Short turnaround • Plenty

    of stakeholders • Display data from events calendar • Focus on agility
  4. Decided on • Jekyll for building the site • Github

    for source control • Amazon S3 for hosting the site
  5. $ git commit -a -m "Change font to Comic Sans"

    $ git push origin master Trung Rob $ git pull origin master $ git commit -a -m "Change font back" $ git push origin master Version Control
  6. Trung Rob $ git commit -a -m "Add unicorns" $

    git push origin master $ git commit -a -m "Add unicorns" $ git push origin master Version Control
  7. Trung Rob $ git commit -a -m "Remove Rob's unicorns"

    $ git push origin master $ git (fix merge conflict) Version Control
  8. Deployment did not rely on version control, making it easy

    to deploy the site without committing changes to Github.
  9. I need to update the site and you're not here

    to push your code to Github.
  10. Focus on writing code. Let Travis CI take care of

    running your tests and deploying your apps. https://travis-ci.org
  11. Step 3 Describe your environment and build (and test) process

    in a .travis.yml file in your repository.
  12. Step 4 Push your local code changes to Github. Travis

    gets notified, runs the process outlined in your .travis.yml file.
  13. Other Possibilities • Drupal theme deployment • Testing! • Databases

    in the tests! • Browser testing! • I don't know, it's Linux in the cloud!
  14. References • Static website deployment to Amazon S3 with Travis-CI


    http://www.paperplanes.de/2013/8/13/deploying-your- jekyll-blog-to-s3-with-travis-ci.html • Travis-CI documentation
 http://docs.travis-ci.com/