CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development...

24
CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT

Transcript of CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development...

Page 1: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT

Page 2: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

ABOUT MEAgency & Community Engineer

Instructor

Founder

Page 3: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

REACH OUTAll the socials as

@tessak22

[email protected]

tessakriesel.com

Page 4: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times
Page 5: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times
Page 6: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

CONTINUOUS INTEGRATION

Page 7: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

“ 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.

Page 8: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

CONTINUOUS DELIVERY

Page 9: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

CONTINUOUS DEPLOYMENT

Page 10: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

AUTOMATE ALL THE THINGS

Page 11: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

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

Page 12: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times
Page 13: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

INVEST TIME IN AUTOMATION

Page 14: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

KEEP YOUR SOFTWARE UP TO DATE

Page 15: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

BUILD STEPS‣ Setup our containers ‣ Install dependencies ‣ Complete task runners ‣ Run automated tests ‣ Behat ‣ Coding Standards ‣ Visual Regression

‣ Deploy to staging or test

Page 16: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

github.com/tessak22/conquering-ci

Page 17: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

EXAMPLE BUILDThere is nothing more exciting then finally fixing your build.

Page 18: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

SETUP CONTAINERS

Page 19: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

INSTALL DEPENDENCIES

Page 20: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

TASK RUNNERS

Page 21: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

AUTOMATED TESTING

Page 22: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

SERVER DEPLOYMENT

Page 23: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

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!

Page 24: CONQUERING CONTINUOUS INTEGRATION & DEPLOYMENT...Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times

FEEDBACKI would love to hear what you think!

tessakriesel.com/feedback

Anonymous feedback is a-okay, none of the form fields are required.