chore: "makefile help" output, but still support building based on arch for CI (#9579)
This commit is contained in:
parent
b93f20068a
commit
82bdbce498
|
|
@ -123,11 +123,11 @@ commands:
|
||||||
- when:
|
- when:
|
||||||
condition: << parameters.release >>
|
condition: << parameters.release >>
|
||||||
steps:
|
steps:
|
||||||
- run: 'mips=1 mipsel=1 arm64=1 amd64=1 static=1 armel=1 armhf=1 s390x=1 ppc641e=1 i386=1 windows=1 darwin=1 make package'
|
- run: 'make package'
|
||||||
- when:
|
- when:
|
||||||
condition: << parameters.nightly >>
|
condition: << parameters.nightly >>
|
||||||
steps:
|
steps:
|
||||||
- run: 'mips=1 mipsel=1 arm64=1 amd64=1 static=1 armel=1 armhf=1 s390x=1 ppc641e=1 i386=1 windows=1 darwin=1 NIGHTLY=1 make package'
|
- run: 'make package'
|
||||||
- run: 'make upload-nightly'
|
- run: 'make upload-nightly'
|
||||||
- unless:
|
- unless:
|
||||||
condition:
|
condition:
|
||||||
|
|
@ -135,7 +135,7 @@ commands:
|
||||||
- << parameters.nightly >>
|
- << parameters.nightly >>
|
||||||
- << parameters.release >>
|
- << parameters.release >>
|
||||||
steps:
|
steps:
|
||||||
- run: '<< parameters.type >>=1 make package'
|
- run: 'make package include_packages="$(make << parameters.type >>)"'
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: './build/dist'
|
path: './build/dist'
|
||||||
destination: 'build/dist'
|
destination: 'build/dist'
|
||||||
|
|
@ -215,11 +215,11 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- package-build:
|
- package-build:
|
||||||
type: i386
|
type: i386
|
||||||
ppc641e-package:
|
ppc64le-package:
|
||||||
executor: go-1_17
|
executor: go-1_16
|
||||||
steps:
|
steps:
|
||||||
- package-build:
|
- package-build:
|
||||||
type: ppc641e
|
type: ppc64le
|
||||||
s390x-package:
|
s390x-package:
|
||||||
executor: go-1_17
|
executor: go-1_17
|
||||||
steps:
|
steps:
|
||||||
|
|
@ -391,7 +391,7 @@ workflows:
|
||||||
- 'i386-package':
|
- 'i386-package':
|
||||||
requires:
|
requires:
|
||||||
- 'test-awaiter'
|
- 'test-awaiter'
|
||||||
- 'ppc641e-package':
|
- 'ppc64le-package':
|
||||||
requires:
|
requires:
|
||||||
- 'test-awaiter'
|
- 'test-awaiter'
|
||||||
- 's390x-package':
|
- 's390x-package':
|
||||||
|
|
@ -421,7 +421,7 @@ workflows:
|
||||||
- 'share-artifacts':
|
- 'share-artifacts':
|
||||||
requires:
|
requires:
|
||||||
- 'i386-package'
|
- 'i386-package'
|
||||||
- 'ppc641e-package'
|
- 'ppc64le-package'
|
||||||
- 's390x-package'
|
- 's390x-package'
|
||||||
- 'armel-package'
|
- 'armel-package'
|
||||||
- 'amd64-package'
|
- 'amd64-package'
|
||||||
|
|
|
||||||
351
Makefile
351
Makefile
|
|
@ -80,9 +80,18 @@ help:
|
||||||
@echo ' lint-install - install linter'
|
@echo ' lint-install - install linter'
|
||||||
@echo ' check-deps - check docs/LICENSE_OF_DEPENDENCIES.md'
|
@echo ' check-deps - check docs/LICENSE_OF_DEPENDENCIES.md'
|
||||||
@echo ' clean - delete build artifacts'
|
@echo ' clean - delete build artifacts'
|
||||||
|
@echo ' package - build all supported packages, override include_packages to only build a subset'
|
||||||
|
@echo ' e.g.: make package include_packages="amd64.deb"'
|
||||||
@echo ''
|
@echo ''
|
||||||
@echo 'Package Targets:'
|
@echo 'Possible values for include_packages variable'
|
||||||
@$(foreach dist,$(dists),echo " $(dist)";)
|
@$(foreach package,$(include_packages),echo " $(package)";)
|
||||||
|
@echo ''
|
||||||
|
@echo 'Resulting package name format (where arch will be the arch of the package):'
|
||||||
|
@echo ' telegraf_$(deb_version)_arch.deb'
|
||||||
|
@echo ' telegraf-$(rpm_version).arch.rpm'
|
||||||
|
@echo ' telegraf-$(tar_version)_arch.tar.gz'
|
||||||
|
@echo ' telegraf-$(tar_version)_arch.zip'
|
||||||
|
|
||||||
|
|
||||||
.PHONY: deps
|
.PHONY: deps
|
||||||
deps:
|
deps:
|
||||||
|
|
@ -224,164 +233,118 @@ $(buildbin):
|
||||||
@mkdir -pv $(dir $@)
|
@mkdir -pv $(dir $@)
|
||||||
go build -o $(dir $@) -ldflags "$(LDFLAGS)" ./cmd/telegraf
|
go build -o $(dir $@) -ldflags "$(LDFLAGS)" ./cmd/telegraf
|
||||||
|
|
||||||
ifdef mips
|
# Define packages Telegraf supports, organized by architecture with a rule to echo the list to limit include_packages
|
||||||
debs += telegraf_$(deb_version)_mips.deb
|
# e.g. make package include_packages="$(make amd64)"
|
||||||
tars += telegraf-$(tar_version)_linux_mips.tar.gz
|
mips += linux_mips.tar.gz mips.deb
|
||||||
endif
|
.PHONY: mips
|
||||||
|
mips:
|
||||||
|
@ echo $(mips)
|
||||||
|
mipsel += mipsel.deb linux_mipsel.tar.gz
|
||||||
|
.PHONY: mipsel
|
||||||
|
mipsel:
|
||||||
|
@ echo $(mipsel)
|
||||||
|
arm64 += linux_arm64.tar.gz arm64.deb aarch64.rpm
|
||||||
|
.PHONY: arm64
|
||||||
|
arm64:
|
||||||
|
@ echo $(arm64)
|
||||||
|
amd64 += freebsd_amd64.tar.gz linux_amd64.tar.gz amd64.deb x86_64.rpm
|
||||||
|
.PHONY: amd64
|
||||||
|
amd64:
|
||||||
|
@ echo $(amd64)
|
||||||
|
static += static_linux_amd64.tar.gz
|
||||||
|
.PHONY: static
|
||||||
|
static:
|
||||||
|
@ echo $(static)
|
||||||
|
armel += linux_armel.tar.gz armel.rpm armel.deb
|
||||||
|
.PHONY: armel
|
||||||
|
armel:
|
||||||
|
@ echo $(armel)
|
||||||
|
armhf += linux_armhf.tar.gz freebsd_armv7.tar.gz armhf.deb armv6hl.rpm
|
||||||
|
.PHONY: armhf
|
||||||
|
armhf:
|
||||||
|
@ echo $(armhf)
|
||||||
|
s390x += linux_s390x.tar.gz s390x.deb s390x.rpm
|
||||||
|
.PHONY: s390x
|
||||||
|
s390x:
|
||||||
|
@ echo $(s390x)
|
||||||
|
ppc64le += linux_ppc64le.tar.gz ppc64le.rpm ppc64el.deb
|
||||||
|
.PHONY: ppc64le
|
||||||
|
ppc64le:
|
||||||
|
@ echo $(ppc64le)
|
||||||
|
i386 += freebsd_i386.tar.gz i386.deb linux_i386.tar.gzi386.rpm
|
||||||
|
.PHONY: i386
|
||||||
|
i386:
|
||||||
|
@ echo $(i386)
|
||||||
|
windows += windows_i386.zip windows_amd64.zip
|
||||||
|
.PHONY: windows
|
||||||
|
windows:
|
||||||
|
@ echo $(windows)
|
||||||
|
darwin += darwin_amd64.tar.gz
|
||||||
|
.PHONY: darwin
|
||||||
|
darwin:
|
||||||
|
@ echo $(darwin)
|
||||||
|
|
||||||
ifdef mipsel
|
include_packages := $(mips) $(mipsel) $(arm64) $(amd64) $(static) $(armel) $(armhf) $(s390x) $(ppc64le) $(i386) $(windows) $(darwin)
|
||||||
debs += telegraf_$(deb_version)_mipsel.deb
|
|
||||||
tars += telegraf-$(tar_version)_linux_mipsel.tar.gz
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef arm64
|
|
||||||
tars += telegraf-$(tar_version)_linux_arm64.tar.gz
|
|
||||||
debs += telegraf_$(deb_version)_arm64.deb
|
|
||||||
rpms += telegraf-$(rpm_version).aarch64.rpm
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef amd64
|
|
||||||
tars += telegraf-$(tar_version)_freebsd_amd64.tar.gz
|
|
||||||
tars += telegraf-$(tar_version)_linux_amd64.tar.gz
|
|
||||||
debs += telegraf_$(deb_version)_amd64.deb
|
|
||||||
rpms += telegraf-$(rpm_version).x86_64.rpm
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef static
|
|
||||||
tars += telegraf-$(tar_version)_static_linux_amd64.tar.gz
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef armel
|
|
||||||
tars += telegraf-$(tar_version)_linux_armel.tar.gz
|
|
||||||
rpms += telegraf-$(rpm_version).armel.rpm
|
|
||||||
debs += telegraf_$(deb_version)_armel.deb
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef armhf
|
|
||||||
tars += telegraf-$(tar_version)_linux_armhf.tar.gz
|
|
||||||
tars += telegraf-$(tar_version)_freebsd_armv7.tar.gz
|
|
||||||
debs += telegraf_$(deb_version)_armhf.deb
|
|
||||||
rpms += telegraf-$(rpm_version).armv6hl.rpm
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef s390x
|
|
||||||
tars += telegraf-$(tar_version)_linux_s390x.tar.gz
|
|
||||||
debs += telegraf_$(deb_version)_s390x.deb
|
|
||||||
rpms += telegraf-$(rpm_version).s390x.rpm
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef ppc641e
|
|
||||||
tars += telegraf-$(tar_version)_linux_ppc64le.tar.gz
|
|
||||||
rpms += telegraf-$(rpm_version).ppc64le.rpm
|
|
||||||
debs += telegraf_$(deb_version)_ppc64el.deb
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef i386
|
|
||||||
tars += telegraf-$(tar_version)_freebsd_i386.tar.gz
|
|
||||||
debs += telegraf_$(deb_version)_i386.deb
|
|
||||||
tars += telegraf-$(tar_version)_linux_i386.tar.gz
|
|
||||||
rpms += telegraf-$(rpm_version).i386.rpm
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef windows
|
|
||||||
zips += telegraf-$(tar_version)_windows_i386.zip
|
|
||||||
zips += telegraf-$(tar_version)_windows_amd64.zip
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef darwin
|
|
||||||
tars += telegraf-$(tar_version)_darwin_amd64.tar.gz
|
|
||||||
endif
|
|
||||||
|
|
||||||
dists := $(debs) $(rpms) $(tars) $(zips)
|
|
||||||
|
|
||||||
.PHONY: package
|
.PHONY: package
|
||||||
package: $(dists)
|
package: $(include_packages)
|
||||||
|
|
||||||
rpm_amd64 := amd64
|
.PHONY: $(include_packages)
|
||||||
rpm_386 := i386
|
$(include_packages):
|
||||||
rpm_s390x := s390x
|
|
||||||
rpm_ppc64le := ppc64le
|
|
||||||
rpm_arm5 := armel
|
|
||||||
rpm_arm6 := armv6hl
|
|
||||||
rpm_arm647 := aarch64
|
|
||||||
rpm_arch = $(rpm_$(GOARCH)$(GOARM))
|
|
||||||
|
|
||||||
.PHONY: $(rpms)
|
|
||||||
$(rpms):
|
|
||||||
@$(MAKE) install
|
@$(MAKE) install
|
||||||
@mkdir -p $(pkgdir)
|
@mkdir -p $(pkgdir)
|
||||||
fpm --force \
|
|
||||||
--log info \
|
|
||||||
--architecture $(rpm_arch) \
|
|
||||||
--input-type dir \
|
|
||||||
--output-type rpm \
|
|
||||||
--vendor InfluxData \
|
|
||||||
--url https://github.com/influxdata/telegraf \
|
|
||||||
--license MIT \
|
|
||||||
--maintainer support@influxdb.com \
|
|
||||||
--config-files /etc/telegraf/telegraf.conf \
|
|
||||||
--config-files /etc/logrotate.d/telegraf \
|
|
||||||
--after-install scripts/rpm/post-install.sh \
|
|
||||||
--before-install scripts/rpm/pre-install.sh \
|
|
||||||
--after-remove scripts/rpm/post-remove.sh \
|
|
||||||
--description "Plugin-driven server agent for reporting metrics into InfluxDB." \
|
|
||||||
--depends coreutils \
|
|
||||||
--depends shadow-utils \
|
|
||||||
--rpm-posttrans scripts/rpm/post-install.sh \
|
|
||||||
--name telegraf \
|
|
||||||
--version $(version) \
|
|
||||||
--iteration $(rpm_iteration) \
|
|
||||||
--chdir $(DESTDIR) \
|
|
||||||
--package $(pkgdir)/$@
|
|
||||||
|
|
||||||
deb_amd64 := amd64
|
@if [ "$(suffix $@)" = ".rpm" ]; then \
|
||||||
deb_386 := i386
|
fpm --force \
|
||||||
deb_s390x := s390x
|
--log info \
|
||||||
deb_ppc64le := ppc64el
|
--architecture $(basename $@) \
|
||||||
deb_arm5 := armel
|
--input-type dir \
|
||||||
deb_arm6 := armhf
|
--output-type rpm \
|
||||||
deb_arm647 := arm64
|
--vendor InfluxData \
|
||||||
deb_mips := mips
|
--url https://github.com/influxdata/telegraf \
|
||||||
deb_mipsle := mipsel
|
--license MIT \
|
||||||
deb_arch = $(deb_$(GOARCH)$(GOARM))
|
--maintainer support@influxdb.com \
|
||||||
|
--config-files /etc/telegraf/telegraf.conf \
|
||||||
.PHONY: $(debs)
|
--config-files /etc/logrotate.d/telegraf \
|
||||||
$(debs):
|
--after-install scripts/rpm/post-install.sh \
|
||||||
@$(MAKE) install
|
--before-install scripts/rpm/pre-install.sh \
|
||||||
@mkdir -pv $(pkgdir)
|
--after-remove scripts/rpm/post-remove.sh \
|
||||||
fpm --force \
|
--description "Plugin-driven server agent for reporting metrics into InfluxDB." \
|
||||||
--log info \
|
--depends coreutils \
|
||||||
--architecture $(deb_arch) \
|
--depends shadow-utils \
|
||||||
--input-type dir \
|
--rpm-posttrans scripts/rpm/post-install.sh \
|
||||||
--output-type deb \
|
--name telegraf \
|
||||||
--vendor InfluxData \
|
--version $(version) \
|
||||||
--url https://github.com/influxdata/telegraf \
|
--iteration $(rpm_iteration) \
|
||||||
--license MIT \
|
--chdir $(DESTDIR) \
|
||||||
--maintainer support@influxdb.com \
|
--package $(pkgdir)/telegraf-$(rpm_version).$@ ;\
|
||||||
--config-files /etc/telegraf/telegraf.conf.sample \
|
elif [ "$(suffix $@)" = ".deb" ]; then \
|
||||||
--config-files /etc/logrotate.d/telegraf \
|
fpm --force \
|
||||||
--after-install scripts/deb/post-install.sh \
|
--log info \
|
||||||
--before-install scripts/deb/pre-install.sh \
|
--architecture $(basename $@) \
|
||||||
--after-remove scripts/deb/post-remove.sh \
|
--input-type dir \
|
||||||
--before-remove scripts/deb/pre-remove.sh \
|
--output-type deb \
|
||||||
--description "Plugin-driven server agent for reporting metrics into InfluxDB." \
|
--vendor InfluxData \
|
||||||
--name telegraf \
|
--url https://github.com/influxdata/telegraf \
|
||||||
--version $(version) \
|
--license MIT \
|
||||||
--iteration $(deb_iteration) \
|
--maintainer support@influxdb.com \
|
||||||
--chdir $(DESTDIR) \
|
--config-files /etc/telegraf/telegraf.conf.sample \
|
||||||
--package $(pkgdir)/$@
|
--config-files /etc/logrotate.d/telegraf \
|
||||||
|
--after-install scripts/deb/post-install.sh \
|
||||||
.PHONY: $(zips)
|
--before-install scripts/deb/pre-install.sh \
|
||||||
$(zips):
|
--after-remove scripts/deb/post-remove.sh \
|
||||||
@$(MAKE) install
|
--before-remove scripts/deb/pre-remove.sh \
|
||||||
@mkdir -p $(pkgdir)
|
--description "Plugin-driven server agent for reporting metrics into InfluxDB." \
|
||||||
(cd $(dir $(DESTDIR)) && zip -r - ./*) > $(pkgdir)/$@
|
--name telegraf \
|
||||||
|
--version $(version) \
|
||||||
.PHONY: $(tars)
|
--iteration $(deb_iteration) \
|
||||||
$(tars):
|
--chdir $(DESTDIR) \
|
||||||
@$(MAKE) install
|
--package $(pkgdir)/telegraf_$(deb_version)_$@ ;\
|
||||||
@mkdir -p $(pkgdir)
|
elif [ "$(suffix $@)" = ".zip" ]; then \
|
||||||
tar --owner 0 --group 0 -czvf $(pkgdir)/$@ -C $(dir $(DESTDIR)) .
|
(cd $(dir $(DESTDIR)) && zip -r - ./*) > $(pkgdir)/telegraf-$(tar_version)_$@ ;\
|
||||||
|
elif [ "$(suffix $@)" = ".gz" ]; then \
|
||||||
|
tar --owner 0 --group 0 -czvf $(pkgdir)/telegraf-$(tar_version)_$@ -C $(dir $(DESTDIR)) . ;\
|
||||||
|
fi
|
||||||
|
|
||||||
.PHONY: upload-nightly
|
.PHONY: upload-nightly
|
||||||
upload-nightly:
|
upload-nightly:
|
||||||
|
|
@ -393,63 +356,63 @@ upload-nightly:
|
||||||
--include "*.zip" \
|
--include "*.zip" \
|
||||||
--acl public-read
|
--acl public-read
|
||||||
|
|
||||||
%amd64.deb %x86_64.rpm %linux_amd64.tar.gz: export GOOS := linux
|
amd64.deb x86_64.rpm linux_amd64.tar.gz: export GOOS := linux
|
||||||
%amd64.deb %x86_64.rpm %linux_amd64.tar.gz: export GOARCH := amd64
|
amd64.deb x86_64.rpm linux_amd64.tar.gz: export GOARCH := amd64
|
||||||
|
|
||||||
%static_linux_amd64.tar.gz: export cgo := -nocgo
|
static_linux_amd64.tar.gz: export cgo := -nocgo
|
||||||
%static_linux_amd64.tar.gz: export CGO_ENABLED := 0
|
static_linux_amd64.tar.gz: export CGO_ENABLED := 0
|
||||||
|
|
||||||
%i386.deb %i386.rpm %linux_i386.tar.gz: export GOOS := linux
|
i386.deb i386.rpm linux_i386.tar.gz: export GOOS := linux
|
||||||
%i386.deb %i386.rpm %linux_i386.tar.gz: export GOARCH := 386
|
i386.deb i386.rpm linux_i386.tar.gz: export GOARCH := 386
|
||||||
|
|
||||||
%armel.deb %armel.rpm %linux_armel.tar.gz: export GOOS := linux
|
armel.deb armel.rpm linux_armel.tar.gz: export GOOS := linux
|
||||||
%armel.deb %armel.rpm %linux_armel.tar.gz: export GOARCH := arm
|
armel.deb armel.rpm linux_armel.tar.gz: export GOARCH := arm
|
||||||
%armel.deb %armel.rpm %linux_armel.tar.gz: export GOARM := 5
|
armel.deb armel.rpm linux_armel.tar.gz: export GOARM := 5
|
||||||
|
|
||||||
%armhf.deb %armv6hl.rpm %linux_armhf.tar.gz: export GOOS := linux
|
armhf.deb armv6hl.rpm linux_armhf.tar.gz: export GOOS := linux
|
||||||
%armhf.deb %armv6hl.rpm %linux_armhf.tar.gz: export GOARCH := arm
|
armhf.deb armv6hl.rpm linux_armhf.tar.gz: export GOARCH := arm
|
||||||
%armhf.deb %armv6hl.rpm %linux_armhf.tar.gz: export GOARM := 6
|
armhf.deb armv6hl.rpm linux_armhf.tar.gz: export GOARM := 6
|
||||||
|
|
||||||
%arm64.deb %aarch64.rpm %linux_arm64.tar.gz: export GOOS := linux
|
arm64.deb aarch64.rpm linux_arm64.tar.gz: export GOOS := linux
|
||||||
%arm64.deb %aarch64.rpm %linux_arm64.tar.gz: export GOARCH := arm64
|
arm64.deb aarch64.rpm linux_arm64.tar.gz: export GOARCH := arm64
|
||||||
%arm64.deb %aarch64.rpm %linux_arm64.tar.gz: export GOARM := 7
|
arm64.deb aarch64.rpm linux_arm64.tar.gz: export GOARM := 7
|
||||||
|
|
||||||
%mips.deb %linux_mips.tar.gz: export GOOS := linux
|
mips.deb linux_mips.tar.gz: export GOOS := linux
|
||||||
%mips.deb %linux_mips.tar.gz: export GOARCH := mips
|
mips.deb linux_mips.tar.gz: export GOARCH := mips
|
||||||
|
|
||||||
%mipsel.deb %linux_mipsel.tar.gz: export GOOS := linux
|
mipsel.deb linux_mipsel.tar.gz: export GOOS := linux
|
||||||
%mipsel.deb %linux_mipsel.tar.gz: export GOARCH := mipsle
|
mipsel.deb linux_mipsel.tar.gz: export GOARCH := mipsle
|
||||||
|
|
||||||
%s390x.deb %s390x.rpm %linux_s390x.tar.gz: export GOOS := linux
|
s390x.deb s390x.rpm linux_s390x.tar.gz: export GOOS := linux
|
||||||
%s390x.deb %s390x.rpm %linux_s390x.tar.gz: export GOARCH := s390x
|
s390x.deb s390x.rpm linux_s390x.tar.gz: export GOARCH := s390x
|
||||||
|
|
||||||
%ppc64el.deb %ppc64le.rpm %linux_ppc64le.tar.gz: export GOOS := linux
|
ppc64el.deb ppc64le.rpm linux_ppc64le.tar.gz: export GOOS := linux
|
||||||
%ppc64el.deb %ppc64le.rpm %linux_ppc64le.tar.gz: export GOARCH := ppc64le
|
ppc64el.deb ppc64le.rpm linux_ppc64le.tar.gz: export GOARCH := ppc64le
|
||||||
|
|
||||||
%freebsd_amd64.tar.gz: export GOOS := freebsd
|
freebsd_amd64.tar.gz: export GOOS := freebsd
|
||||||
%freebsd_amd64.tar.gz: export GOARCH := amd64
|
freebsd_amd64.tar.gz: export GOARCH := amd64
|
||||||
|
|
||||||
%freebsd_i386.tar.gz: export GOOS := freebsd
|
freebsd_i386.tar.gz: export GOOS := freebsd
|
||||||
%freebsd_i386.tar.gz: export GOARCH := 386
|
freebsd_i386.tar.gz: export GOARCH := 386
|
||||||
|
|
||||||
%freebsd_armv7.tar.gz: export GOOS := freebsd
|
freebsd_armv7.tar.gz: export GOOS := freebsd
|
||||||
%freebsd_armv7.tar.gz: export GOARCH := arm
|
freebsd_armv7.tar.gz: export GOARCH := arm
|
||||||
%freebsd_armv7.tar.gz: export GOARM := 7
|
freebsd_armv7.tar.gz: export GOARM := 7
|
||||||
|
|
||||||
%windows_amd64.zip: export GOOS := windows
|
windows_amd64.zip: export GOOS := windows
|
||||||
%windows_amd64.zip: export GOARCH := amd64
|
windows_amd64.zip: export GOARCH := amd64
|
||||||
|
|
||||||
%darwin_amd64.tar.gz: export GOOS := darwin
|
darwin_amd64.tar.gz: export GOOS := darwin
|
||||||
%darwin_amd64.tar.gz: export GOARCH := amd64
|
darwin_amd64.tar.gz: export GOARCH := amd64
|
||||||
|
|
||||||
%windows_i386.zip: export GOOS := windows
|
windows_i386.zip: export GOOS := windows
|
||||||
%windows_i386.zip: export GOARCH := 386
|
windows_i386.zip: export GOARCH := 386
|
||||||
|
|
||||||
%windows_i386.zip %windows_amd64.zip: export prefix =
|
windows_i386.zip windows_amd64.zip: export prefix =
|
||||||
%windows_i386.zip %windows_amd64.zip: export bindir = $(prefix)
|
windows_i386.zip windows_amd64.zip: export bindir = $(prefix)
|
||||||
%windows_i386.zip %windows_amd64.zip: export sysconfdir = $(prefix)
|
windows_i386.zip windows_amd64.zip: export sysconfdir = $(prefix)
|
||||||
%windows_i386.zip %windows_amd64.zip: export localstatedir = $(prefix)
|
windows_i386.zip windows_amd64.zip: export localstatedir = $(prefix)
|
||||||
%windows_i386.zip %windows_amd64.zip: export EXEEXT := .exe
|
windows_i386.zip windows_amd64.zip: export EXEEXT := .exe
|
||||||
|
|
||||||
%.deb: export pkg := deb
|
%.deb: export pkg := deb
|
||||||
%.deb: export prefix := /usr
|
%.deb: export prefix := /usr
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
# Packaging
|
# Packaging
|
||||||
|
|
||||||
|
Building the packages for Telegraf is automated using [Make](https://en.wikipedia.org/wiki/Make_(software)). Just running `make` will build a Telegraf binary for the operating system and architecture you are using (if it is supported). If you need to build a different package then you can run `make package` which will build all the supported packages. You will most likely only want a subset, you can define a subset of packages to be built by overriding the `include_packages` variable like so `make package include_packages="amd64.deb"`. You can also build all packages for a specific architecture like so `make package include_packages="$(make amd64)"`.
|
||||||
|
|
||||||
|
The packaging steps require certain tools to be setup before hand to work. These dependencies are listed in the ci-1.16.docker file which you can find in the scripts directory. Therefore it is recommended to use Docker to build the artifacts, see more details below.
|
||||||
|
|
||||||
## Package using Docker
|
## Package using Docker
|
||||||
|
|
||||||
This packaging method uses the CI images, and is very similar to how the
|
This packaging method uses the CI images, and is very similar to how the
|
||||||
|
|
@ -18,20 +22,15 @@ docker run -ti quay.io/influxdb/telegraf-ci:1.9.7 /bin/bash
|
||||||
```
|
```
|
||||||
|
|
||||||
From within the container:
|
From within the container:
|
||||||
```
|
|
||||||
go get -d github.com/influxdata/telegraf
|
|
||||||
cd /go/src/github.com/influxdata/telegraf
|
|
||||||
|
|
||||||
# Use tag of Telegraf version you would like to build
|
1. `go get -d github.com/influxdata/telegraf`
|
||||||
git checkout release-1.10
|
2. `cd /go/src/github.com/influxdata/telegraf`
|
||||||
git reset --hard 1.10.2
|
3. `git checkout release-1.10`
|
||||||
make deps
|
* Replace tag `release-1.10` with the version of Telegraf you would like to build
|
||||||
|
4. `git reset --hard 1.10.2`
|
||||||
# To build packages run:
|
5. `make deps`
|
||||||
|
6. `make package include_packages="amd64.deb"`
|
||||||
```
|
* Change `include_packages` to change what package you want, run `make help` to see possible values
|
||||||
make package amd64=1
|
|
||||||
```
|
|
||||||
|
|
||||||
From the host system, copy the build artifacts out of the container:
|
From the host system, copy the build artifacts out of the container:
|
||||||
```
|
```
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue