I've written about Travis CI before. I've reported a bug that makes it fairly easy
to see environment variables in Travis CI or even unintentionally transfer
them if you transfer your repository. I build this blog using Travis CI. I've
used Travis CI to set up an OpenShift application. SmokeDetector uses it to
manage it's blacklists. In short, I have experience with Travis CI.
I was surprised when I saw a course being offered for free recently on Udemy that
deals with Travis CI. Since it was free and only a couple hours long, I figured I'd
give it a shot. I enrolled in the course.
This is my review of Travis CI Tutorial by Vaga Notes.
This course starts with no instructor introduction, no explanation of what
the course is about, or goals for the course. If you don't know what Travis CI is,
don't expect to learn that here. You are expected to know what it is and what
it does. Honestly, you should probably have used it before too.
All coding done for this course is gone in the GitHub web editor. This bothered
me initially, but after thinking about it, not so much. Most of the "real code"
needed for this course is simply editing the .travis.yml file and the instructor
saves a lot of time by not dealing with git and GitHub more than necessary.
Unfortunately, I think that is going to be the last good thing I have to say
about this course. The rest can be summed up with one word: Inconsistent.
The sound is inconsistent. From one lesson to another, the instructor goes from
being whisper quiet at highest volume to so loud it hurts. The microphone being
used picks up static and most annoyingly, the instructor keeps coughing into the
mic. Sound within a lesson is also inconsistent. In one lesson - Lesson 13 "Build Stages" -
it went from quiet to loud and back multiple times.
Testing of the course material was inconsistent. The instructor recording their
videos an hour after they had done it the first time, in some cases. This
short time between doing it the first time and recording it for the tutorial
is seen in how the instructor handles unexpected delays and failing builds.
The presentation is inconsistent. On several videos, the instructor obviously
spent time making an intro and outro for the lecture. It's a few second animation
and sound effect that encapsulates the lesson. On others, they jump right into the
material or awkwardly end the lesson. If the instructor had spent more time
giving the course a unified look and feel through the entire course, it'd come
across as more polished. Instead, it looks like it was thrown together haphazardly.
Which brings me to the content. This is also inconsistent. There are points where
the instructor didn't have a script at worse and only high level bullet points
at best. They mumble their way through an explanation or series of interface
options. They live code - with typos - their way through set up. They navigate to
GitHub using Google Search, but accidentally click to quickly and get a previous
search result (that could have been embarrassing).
Along with the live coded examples and an after thought of an explanation of
what each step means, there is very bad advice given in some locations.
The first example of this is setting up environment variables (see my post
on Travis CI environment variables). While setting up the GitHub token, so
that Travis can deploy GitHub Pages, the advice given is to "just give it all
the access". NO! NO NO NO NO NO! NO!. Especially when combined with the next
step they took, which isn't even described.
The instructor moves over to Travis CI from GitHub to put in the environment variable.
They put in the name of the variable and the value. Then they change the "Display
this value in build log" from the default "Off" to "On" and don't say why!.
Moments later a build is pushed, the Travis CI log is shown, and there is the
GitHub token that had "all the access" displayed in the build log. Anyone can
come along and use that token to do anything to your GitHub repository.
This course is now listed for $20. It's not worth it. Go find something on YouTube,
look at another repository that is already using Travis CI or Google for an example.
Any of those options are going to be more useful to you - and more consistent - than
this course. With the bad sound, half finished video introductions, and horrible
advice on token generation the only thing you'll be doing if you take this course is
play with your volume constantly and learn the wrong way to set up environment variables.
This course feels like it was recorded while the instructor was home sick with a
minor cold and got bored with their video editing software.