- [Instructor] So far, we've addressed a few of the ways
you can handle continuous testing in your Agile projects.
The next question is how do we handle integrating code
from multiple developers
so that our code base doesn't fragment?
As our problem suggests,
we need something that can handle code integration
and later deployment
with multiple developers working concurrently.
Enter continuous integration.
Continuous integration is the answer to a question.
How can a project with multiple developers committing code
be efficiently and thoroughly tested
without having to throw major time at it?
Ideally, whatever CI tool you use,
the process goes something like this.
Every time a new commit
is pushed to your project repository,
it's tested against a defined test suite.
And if it passes muster, it's deployed
to either a testing platform or released to the public.
I like to think of this process as taking a TDD approach
to the next level,
one that automates and supports team development.
Now, if this sounds like something perfectly suited
to Agile development, well, you're right.
We're not going to go too deep into this topic,
but I'll just leave you with some suggestions
for good efficient CI tools.
Some of these support continuous integration and deployment.
Some only integration, and most are done in the cloud
so you don't have to tie up a machine
every time you want to run tests or release a new build.
It's also a major plus that these CI tools
all integrate with GitHub right out of the box.
If you're using SVN or some other version control,
you'll need to look into other alternatives.
So here are my top CI recommendations:
GitLab, CircleCI, and Travis CI.
You can find all their documentation online
to get you up and running.