@@ -65,6 +65,8 @@ WHALE = "🇩"
6565ONI = "👹"
6666
6767RELEASE=containerd-$(VERSION:v% =%).${GOOS}-${GOARCH}
68+ CRIRELEASE=cri-containerd-$(VERSION:v% =%)-${GOOS}-${GOARCH}
69+ CRICNIRELEASE=cri-containerd-cni-$(VERSION:v% =%)-${GOOS}-${GOARCH}
6870
6971PKG =github.com/containerd/containerd
7072
@@ -120,7 +122,10 @@ BINARIES=$(addprefix bin/,$(COMMANDS))
120122TESTFLAGS ?= $(TESTFLAGS_RACE ) $(EXTRA_TESTFLAGS )
121123TESTFLAGS_PARALLEL ?= 8
122124
123- .PHONY : clean all AUTHORS build binaries test integration generate protos checkprotos coverage ci check help install uninstall vendor release mandir install-man genman
125+ OUTPUTDIR = $(join $(ROOTDIR ) , _output)
126+ CRIDIR =$(OUTPUTDIR ) /cri
127+
128+ .PHONY : clean all AUTHORS build binaries test integration generate protos checkprotos coverage ci check help install uninstall vendor release mandir install-man genman install-cri-deps cri-release cri-cni-release
124129.DEFAULT : default
125130
126131all : binaries
@@ -245,13 +250,64 @@ releases/$(RELEASE).tar.gz: $(BINARIES)
245250 @tar -czf releases/$(RELEASE ) .tar.gz -C releases/$(RELEASE ) bin
246251 @rm -rf releases/$(RELEASE )
247252
248- release : $( BINARIES ) releases/$(RELEASE ) .tar.gz
253+ release : releases/$(RELEASE ) .tar.gz
249254 @echo " $( WHALE) $@ "
250255 @cd releases && sha256sum $(RELEASE ) .tar.gz > $(RELEASE ) .tar.gz.sha256sum
251256
257+ ifeq ($(GOOS ) ,windows)
258+ install-cri-deps : $(BINARIES )
259+ mkdir -p $(CRIDIR )
260+ DESTDIR=$(CRIDIR ) script/setup/install-cni-windows
261+ cp bin/* $(CRIDIR )
262+ else
263+ install-cri-deps : $(BINARIES )
264+ @sudo rm -rf ${CRIDIR}
265+ @sudo install -d ${CRIDIR} /usr/local/bin
266+ @sudo install -D -m 755 bin/* ${CRIDIR} /usr/local/bin
267+ @sudo install -d ${CRIDIR} /opt/containerd/cluster
268+ @sudo cp -r contrib/gce ${CRIDIR} /opt/containerd/cluster/
269+ @sudo install -d ${CRIDIR} /etc/systemd/system
270+ @sudo install -m 644 containerd.service ${CRIDIR} /etc/systemd/system
271+ echo " CONTAINERD_VERSION: '$( VERSION:v%=%) '" | sudo tee ${CRIDIR} /opt/containerd/cluster/version
272+
273+ DESTDIR=$(CRIDIR) USESUDO=true script/setup/install-runc
274+ DESTDIR=$(CRIDIR) script/setup/install-cni
275+ DESTDIR=$(CRIDIR) script/setup/install-critools
276+
277+ @sudo install -d $(CRIDIR)/bin
278+ @sudo install $(BINARIES) $(CRIDIR)/bin
279+ endif
280+
281+ ifeq ($(GOOS ) ,windows)
282+ releases/$(CRIRELEASE ) .tar.gz : install-cri-deps
283+ @echo " $( WHALE) $@ "
284+ @cd $(CRIDIR ) && tar -czf ../../releases/$(CRIRELEASE ) .tar.gz *
285+
286+ releases/$(CRICNIRELEASE ) .tar.gz : install-cri-deps
287+ @echo " $( WHALE) $@ "
288+ @cd $(CRIDIR ) && tar -czf ../../releases/$(CRICNIRELEASE ) .tar.gz *
289+ else
290+ releases/$(CRIRELEASE ) .tar.gz : install-cri-deps
291+ @echo " $( WHALE) $@ "
292+ @tar -czf releases/$(CRIRELEASE ) .tar.gz -C $(CRIDIR ) etc/crictl.yaml etc/systemd usr opt/containerd
293+
294+ releases/$(CRICNIRELEASE ) .tar.gz : install-cri-deps
295+ @echo " $( WHALE) $@ "
296+ @tar -czf releases/$(CRICNIRELEASE ) .tar.gz -C $(CRIDIR ) etc usr opt
297+ endif
298+
299+ cri-release : releases/$(CRIRELEASE ) .tar.gz
300+ @echo " $( WHALE) $@ "
301+ @cd releases && sha256sum $(CRIRELEASE ) .tar.gz > $(CRIRELEASE ) .tar.gz.sha256sum
302+
303+ cri-cni-release : releases/$(CRICNIRELEASE ) .tar.gz
304+ @echo " $( WHALE) $@ "
305+ @cd releases && sha256sum $(CRICNIRELEASE ) .tar.gz > $(CRICNIRELEASE ) .tar.gz.sha256sum
306+
252307clean : # # clean up binaries
253308 @echo " $( WHALE) $@ "
254309 @rm -f $(BINARIES )
310+ @if [[ -d $( OUTPUTDIR) ]]; then sudo rm -rf $(OUTPUTDIR ) ; fi
255311
256312clean-test : # # clean up debris from previously failed tests
257313 @echo " $( WHALE) $@ "
0 commit comments