Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Startup a docker images that is RPM based system:

No Format
cd ~/
docker run -ti --rm -v $PWD:/tmp bigtop/puppet:centos-7 bash

...

No Format
gpg --import YOUR_CODE_SIGNING_SECRET_KEY
 
echo > ~/.rpmmacros <<__EOT__
%_gpg_name 8C10EE0A
__EOT__

yum install -y rpm-sign createrepo

Sign packagesSigning:

No Format
cd /tmp
 
# Sign all RPM packages
rpm --addsign `find centos-7 -name \*rpm`
 
# Recreate the metadata for repository
createrepo centos-7
 
# Armor the metadata
gpg --detach-sign --armor centos-7/repodata/repomd.xml

...

Ref: 

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyBIGTOP-2736
,  https://manpages.debian.org/jessie/dpkg-sig/dpkg-sig.1.en.html

Clone DEBs built by CI job into a temp dir. You can find built packges under jenkins job's workspace. For example:

No Format
# Go to the build slave, docker-slave-06 or docker-slave-07, depends on which built the packages
cp /home/jenkins/workspace/Bigtop-1.2.1/OS/debian-8/output ~/debian-8

Startup a docker images that is DEB based system:

No Format
cd ~/
docker run -ti --rm -v $PWD:/tmp bigtop/puppet:debian-8 bash

Prepare the environment for signing:

No Format
gpg --import YOUR_CODE_SIGNING_SECRET_KEY
apt-get update
apt-get install -y dpkg-sig
apt-get install -y libterm-readkey-perl
apt-get install -y reprepro

Signing:

No Format
cd /tmp
 
# Sign DEB packages
dpkg-sig --cache-passphrase --sign builder  `find debian-8/ -name \*deb`
 
# Build signed apt repository
mkdir -p apt/conf
cat > apt/conf/distributions <<__EOT__
Origin: Bigtop
Label: Bigtop
Suite: stable
Codename: bigtop
Version: 1.2.1
Architectures: amd64 source
Components: contrib
Description: Apache Bigtop
SignWith: 8C10EE0A
__EOT__
$ cat > apt/conf/options <<__EOT__
verbose
ask-passphrase
__EOT__
reprepro --ask-passphrase -Vb . includedeb bigtop `find debian-8/ -name \*deb`

6. Build and Deploy Artifacts

...