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

Conquering Continuous Integration & Deployment

Conquering Continuous Integration & Deployment

Continuous Integration is becoming an important part of the development process. However, to some, the how and why are still a bit fuzzy.

This session talks about the natural progression of a development team and how each important piece of the development process can be automated via Continuous Integration & Deployment. I will also walk through an example WordPress project using Continuous Integration, Delivery & Deployment that implements Sass Compilation, Automated Testing & Deployment to a Server.

Attend. Absorb. And you too can conquer.

Tessa Kriesel

August 18, 2017
Tweet

More Decks by Tessa Kriesel

Other Decks in Programming

Transcript

  1. CONQUERING CONTINUOUS
    INTEGRATION & DEPLOYMENT

    View full-size slide

  2. ABOUT ME
    Agency & Community Engineer

    Instructor
    Founder

    View full-size slide

  3. REACH OUT
    All the socials as
    @tessak22

    [email protected]
    tessakriesel.com

    View full-size slide

  4. CONTINUOUS INTEGRATION

    View full-size slide

  5. “Continuous Integration (CI) is a development
    practice that requires developers to integrate
    code into a shared repository several times a
    day. Each check-in is then verified by an
    automated build, allowing teams to detect
    problems early. By integrating regularly, you
    can detect errors quickly, and locate them
    more easily.

    View full-size slide

  6. CONTINUOUS DELIVERY

    View full-size slide

  7. CONTINUOUS DEPLOYMENT

    View full-size slide

  8. AUTOMATE ALL THE THINGS

    View full-size slide

  9. DAILY TASKS
    ‣ Write some code
    ‣ Compile some Sass
    ‣ Minify some Javascript
    ‣ Complete code reviews
    ‣ Do internal tests or reviews
    ‣ Deploy to staging servers
    ‣ Do some more testing
    ‣ Deploy to production servers
    ‣ Communicate with your team

    View full-size slide

  10. INVEST TIME IN AUTOMATION

    View full-size slide

  11. KEEP YOUR SOFTWARE UP TO DATE

    View full-size slide

  12. BUILD STEPS
    ‣ Setup our containers
    ‣ Install dependencies
    ‣ Complete task runners
    ‣ Run automated tests
    ‣ Behat
    ‣ Coding Standards
    ‣ Visual Regression
    ‣ Deploy to staging or test

    View full-size slide

  13. github.com/tessak22/conquering-ci

    View full-size slide

  14. EXAMPLE BUILD
    There is nothing more exciting
    then finally fixing your build.

    View full-size slide

  15. SETUP CONTAINERS

    View full-size slide

  16. INSTALL DEPENDENCIES

    View full-size slide

  17. TASK RUNNERS

    View full-size slide

  18. AUTOMATED TESTING

    View full-size slide

  19. SERVER DEPLOYMENT

    View full-size slide

  20. SETUP STEPS
    ‣ Fork or download repo in Github
    ‣ Create a free Pantheon site
    ‣ Create free CircleCI account
    ‣ Build Github project
    ‣ Edit project settings
    ‣ Add environment variables
    ‣ Add SSH key
    ‣ Rebuild project
    ‣ Start writing new code!

    View full-size slide

  21. FEEDBACK
    I would love to hear
    what you think!
    tessakriesel.com/feedback
    Anonymous feedback is a-
    okay, none of the form
    fields are required.

    View full-size slide