WEBVTT

1
00:00:01.240 --> 00:00:04.540
<v Jonas>All right, so let's now finally set up</v>

2
00:00:04.540 --> 00:00:07.773
the continuous integration with Netlify.

3
00:00:09.370 --> 00:00:13.323
And to do that, let's go back to our Netlify dashboard.

4
00:00:14.540 --> 00:00:17.460
So right here, and we are still

5
00:00:17.460 --> 00:00:22.460
here in the settings part of this site, okay?

6
00:00:22.720 --> 00:00:26.033
And so then let's go here to build and deploy.

7
00:00:27.220 --> 00:00:28.190
And then from here,

8
00:00:28.190 --> 00:00:33.190
we can choose the option link site to git, all right?

9
00:00:33.200 --> 00:00:35.120
Now, we could also do this

10
00:00:35.120 --> 00:00:37.390
right from the beginning like this,

11
00:00:37.390 --> 00:00:41.410
so without the manual deploy that we did in the beginning.

12
00:00:41.410 --> 00:00:44.503
So that would be like in the very beginning,

13
00:00:45.370 --> 00:00:48.683
we could simply create new site from git.

14
00:00:49.820 --> 00:00:52.530
But in this case we already have this site,

15
00:00:52.530 --> 00:00:56.640
and so we can now simply change this here

16
00:00:56.640 --> 00:00:58.363
to continuous integration.

17
00:00:59.350 --> 00:01:00.840
Now, in a nutshell,

18
00:01:00.840 --> 00:01:03.740
what continuous integration means

19
00:01:03.740 --> 00:01:08.740
or continuous deployment as Netlify apparently calls it,

20
00:01:09.000 --> 00:01:13.350
that basically is to connect a site to a git repository,

21
00:01:13.350 --> 00:01:17.160
and then whenever we change the code in our repository,

22
00:01:17.160 --> 00:01:19.410
then that will automatically trigger

23
00:01:19.410 --> 00:01:22.000
a new deployment of our site.

24
00:01:22.000 --> 00:01:25.550
And so then everything happens really automatically.

25
00:01:25.550 --> 00:01:28.430
So all we will have to do then is to basically

26
00:01:28.430 --> 00:01:33.030
build our code locally, committed to our git repository,

27
00:01:33.030 --> 00:01:35.390
then push that git repository

28
00:01:35.390 --> 00:01:37.980
to or remote repository on GitHub,

29
00:01:37.980 --> 00:01:39.110
and then from there,

30
00:01:39.110 --> 00:01:43.130
the site will automatically be built and deployed.

31
00:01:43.130 --> 00:01:45.560
So let me show you how that works.

32
00:01:45.560 --> 00:01:46.983
So link site to git.

33
00:01:48.130 --> 00:01:52.280
Then here, we can select the git provider that we want.

34
00:01:52.280 --> 00:01:53.990
And so, as I mentioned before,

35
00:01:53.990 --> 00:01:57.600
there are actually more services beside GitHub,

36
00:01:57.600 --> 00:02:00.070
like GitLab and Bitbucket,

37
00:02:00.070 --> 00:02:02.333
but we will use GitHub, of course.

38
00:02:03.870 --> 00:02:07.560
Then here we have to authorize the access to GitHub,

39
00:02:07.560 --> 00:02:10.280
which in my case here was already done,

40
00:02:10.280 --> 00:02:14.430
but you will probably have to authenticate yourself again.

41
00:02:14.430 --> 00:02:17.080
And then here we have all the repos

42
00:02:17.080 --> 00:02:19.580
that I have in my GitHub account,

43
00:02:19.580 --> 00:02:22.280
and so let's now search for forkify, okay?

44
00:02:26.800 --> 00:02:30.710
And so this here is the one that I just created previously.

45
00:02:30.710 --> 00:02:32.760
So forkify-course-video

46
00:02:32.760 --> 00:02:35.300
is exactly this one that we created

47
00:02:35.300 --> 00:02:37.870
in the last video, right?

48
00:02:37.870 --> 00:02:41.820
And of course yours will have to have a different name,

49
00:02:41.820 --> 00:02:45.770
but simply select that one then right here, all right?

50
00:02:48.330 --> 00:02:52.290
Then we can change which branch we want to deploy,

51
00:02:52.290 --> 00:02:55.870
and so we have these two, right?

52
00:02:55.870 --> 00:02:59.480
But of course we want the master branch.

53
00:02:59.480 --> 00:03:02.490
But now here comes the question.

54
00:03:02.490 --> 00:03:06.730
So where is the code that we actually want to deploy?

55
00:03:06.730 --> 00:03:07.563
Right?

56
00:03:07.563 --> 00:03:11.450
Because remember, the code that we do want to deploy

57
00:03:11.450 --> 00:03:15.130
is in the disc folder of our code.

58
00:03:15.130 --> 00:03:17.050
So if you go back here,

59
00:03:17.050 --> 00:03:19.660
the code that we manually deployed before

60
00:03:19.660 --> 00:03:21.890
was this disc folder.

61
00:03:21.890 --> 00:03:26.890
However, this disc folder is not in our repository, right?

62
00:03:27.090 --> 00:03:29.430
But that's not a problem at all,

63
00:03:29.430 --> 00:03:32.260
because we can now tell Netlify here

64
00:03:32.260 --> 00:03:34.100
to run our build command

65
00:03:34.100 --> 00:03:37.200
whenever there is a change in the repository.

66
00:03:37.200 --> 00:03:39.943
And so this is really, really powerful.

67
00:03:41.320 --> 00:03:46.010
So let's come here to our package.json,

68
00:03:46.010 --> 00:03:49.010
and our build command is this one.

69
00:03:49.010 --> 00:03:53.200
And so here, let's just copy this build command.

70
00:03:53.200 --> 00:03:56.040
So Netlifyi will then basically install

71
00:03:56.040 --> 00:04:00.150
all these dependencies and also these dev dependencies

72
00:04:00.150 --> 00:04:04.200
and run this command, okay?

73
00:04:04.200 --> 00:04:06.340
So basically what we did manually

74
00:04:06.340 --> 00:04:11.103
also on our local computer, Netlify will do it for us, okay?

75
00:04:13.600 --> 00:04:16.163
And then finally, the publish directory.

76
00:04:17.360 --> 00:04:20.240
And so that is our dist folder.

77
00:04:20.240 --> 00:04:22.890
So this is where the code will live

78
00:04:22.890 --> 00:04:26.383
after this build command is executed, right?

79
00:04:27.340 --> 00:04:30.380
And now let's hope that everything works here

80
00:04:30.380 --> 00:04:33.883
because it's not always that smooth, but let's see.

81
00:04:36.400 --> 00:04:39.770
And it is starting up here.

82
00:04:39.770 --> 00:04:42.103
So let's wait what happens.

83
00:04:43.270 --> 00:04:45.810
So we can also click on the details here,

84
00:04:45.810 --> 00:04:48.053
and you see that it is doing something,

85
00:04:50.890 --> 00:04:54.383
so it's installing the NPM module, so apparently.

86
00:05:04.150 --> 00:05:07.323
Now it's building all of our assets here.

87
00:05:09.730 --> 00:05:11.453
So this is growing really fast.

88
00:05:12.640 --> 00:05:14.430
It's not really important also,

89
00:05:14.430 --> 00:05:17.070
what matters is that our build command

90
00:05:17.070 --> 00:05:21.423
was apparently understood, so it's doing all of this stuff.

91
00:05:22.620 --> 00:05:25.230
And here we get now the exact same message

92
00:05:25.230 --> 00:05:28.540
that we get previously also offline.

93
00:05:28.540 --> 00:05:31.960
So also on our local computer, right?

94
00:05:31.960 --> 00:05:33.387
So where is that now?

95
00:05:35.000 --> 00:05:36.090
So this one here.

96
00:05:36.090 --> 00:05:39.360
So it's exactly what we got before, right?

97
00:05:39.360 --> 00:05:44.360
And so then Netlify build was complete and the site is live.

98
00:05:46.890 --> 00:05:51.890
Okay, so let's reload here and everything works.

99
00:05:53.300 --> 00:05:56.760
And remember that our current site right now

100
00:05:56.760 --> 00:06:00.840
has in the controller this welcome to the application.

101
00:06:00.840 --> 00:06:04.580
And so in order to see if everything really worked,

102
00:06:04.580 --> 00:06:06.563
that should now be in the console,

103
00:06:07.500 --> 00:06:12.263
and bam, there it is, great.

104
00:06:13.130 --> 00:06:15.820
So everything worked just smoothly,

105
00:06:15.820 --> 00:06:18.683
and I hope that it did the same for you as well.

106
00:06:19.970 --> 00:06:20.870
So let's go back here,

107
00:06:20.870 --> 00:06:25.040
and here you now get this published tag.

108
00:06:25.040 --> 00:06:27.430
And also I think that on GitHub,

109
00:06:27.430 --> 00:06:29.423
you can see that if you reload.

110
00:06:31.390 --> 00:06:35.490
Well, usually it says something here on the right side,

111
00:06:35.490 --> 00:06:38.720
like that it was deployed on Netlify,

112
00:06:38.720 --> 00:06:41.660
but in this case, it doesn't happen,

113
00:06:41.660 --> 00:06:43.333
but it's also not so important.

114
00:06:44.610 --> 00:06:48.050
But anyway, just to make sure 100%

115
00:06:48.050 --> 00:06:52.290
that we really have the continuous integration now working,

116
00:06:52.290 --> 00:06:56.060
and also so I can show you how handy it actually is,

117
00:06:56.060 --> 00:06:59.820
let's simply change or code once again.

118
00:06:59.820 --> 00:07:01.870
So what I will do now is to again,

119
00:07:01.870 --> 00:07:04.093
get rid of this new feature.

120
00:07:05.550 --> 00:07:09.300
So this was really just a demonstration anyway.

121
00:07:09.300 --> 00:07:11.910
And also let's get rid here of some

122
00:07:13.160 --> 00:07:14.710
code that we don't really need.

123
00:07:15.740 --> 00:07:19.943
So some older code that was already commented out,

124
00:07:21.960 --> 00:07:26.750
this one as well, okay?

125
00:07:26.750 --> 00:07:31.750
And so let's save it and let's add this code as well.

126
00:07:32.020 --> 00:07:37.020
So git add all and then git commit

127
00:07:37.270 --> 00:07:42.270
with the message of cleaned up controller

128
00:07:45.280 --> 00:07:50.280
and then git push origin master, okay?

129
00:07:55.340 --> 00:07:57.683
There it is, if we reload here,

130
00:08:00.190 --> 00:08:02.960
you see we have this latest message here,

131
00:08:02.960 --> 00:08:06.623
and now if we come here, let's now reload here as well,

132
00:08:07.560 --> 00:08:10.560
and you see that it is now building here

133
00:08:10.560 --> 00:08:12.340
our latest commit as well,

134
00:08:12.340 --> 00:08:15.830
so the cleaned up controller, okay?

135
00:08:15.830 --> 00:08:19.290
And this is once again, gonna take some time,

136
00:08:19.290 --> 00:08:21.723
so I'm gonna be back when this is done.

137
00:08:23.370 --> 00:08:25.090
And there we go.

138
00:08:25.090 --> 00:08:28.480
So our latest change should now be published,

139
00:08:28.480 --> 00:08:31.733
let's reload, and so now this log should be gone,

140
00:08:32.930 --> 00:08:34.590
and yap, it is.

141
00:08:34.590 --> 00:08:36.800
And our application of course,

142
00:08:36.800 --> 00:08:40.523
should still be working the same, right?

143
00:08:41.720 --> 00:08:45.440
So I am still getting my own super pizza recipe

144
00:08:45.440 --> 00:08:49.940
because, of course, I'm still using my same API key here.

145
00:08:49.940 --> 00:08:52.190
Okay, and this actually brings us

146
00:08:52.190 --> 00:08:54.010
to the end of this section

147
00:08:54.010 --> 00:08:57.770
and also to the end of the forkify project.

148
00:08:57.770 --> 00:08:59.630
So it's time to say goodbye

149
00:08:59.630 --> 00:09:03.490
to this beautiful and big project that we built together

150
00:09:03.490 --> 00:09:04.990
in the last section,

151
00:09:04.990 --> 00:09:08.160
and that we now finally deployed for the internet,

152
00:09:08.160 --> 00:09:12.070
for everyone to see it together in this section.

153
00:09:12.070 --> 00:09:15.480
So make sure that for all your projects in the future,

154
00:09:15.480 --> 00:09:18.420
you do the same workflow as we did here.

155
00:09:18.420 --> 00:09:20.200
So adding them to GitHub

156
00:09:20.200 --> 00:09:23.090
and maybe even to a public repository,

157
00:09:23.090 --> 00:09:26.420
so that your potential future employers

158
00:09:26.420 --> 00:09:30.150
can actually see that you are active on GitHub.

159
00:09:30.150 --> 00:09:33.750
So for some developers and especially newbies,

160
00:09:33.750 --> 00:09:37.030
GitHub also kind of serves as a portfolio

161
00:09:37.030 --> 00:09:38.710
so that other people can see

162
00:09:38.710 --> 00:09:41.203
how active you actually are in coding.

163
00:09:42.260 --> 00:09:46.590
Okay, and that's really all that I had to tell you.

164
00:09:46.590 --> 00:09:49.330
And I hope that you're not yet sick

165
00:09:49.330 --> 00:09:50.980
of hearing my voice here,

166
00:09:50.980 --> 00:09:54.380
and I'm really happy that you came all the way

167
00:09:54.380 --> 00:09:57.110
until the end of this section here with me

168
00:09:57.110 --> 00:10:01.270
so that I'm not talking alone here all by myself.

169
00:10:01.270 --> 00:10:04.763
But anyway, see you soon in the next section.

