telegraf/docs/developers/PACKAGING.md

1.2 KiB

Packaging

Package using Docker

This packaging method uses the CI images, and is very similar to how the official packages are created on release. This is the recommended method for building the rpm/deb as it is less system dependent.

Pull the CI images from quay, the version corresponds to the version of Go that is used to build the binary:

docker pull quay.io/influxdb/telegraf-ci:1.9.7

Start a shell in the container:

docker run -ti quay.io/influxdb/telegraf-ci:1.9.7 /bin/bash

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
git checkout release-1.10
git reset --hard 1.10.2
make deps

# This builds _all_ platforms and architectures; will take a long time
./scripts/build.py --release --package

If you would like to only build a subset of the packages run this:

# Use the platform and arch arguments to skip unwanted packages:
./scripts/build.py --release --package --platform=linux --arch=amd64

From the host system, copy the build artifacts out of the container:

docker cp romantic_ptolemy:/go/src/github.com/influxdata/telegraf/build/telegraf-1.10.2-1.x86_64.rpm .