Bläddra i källkod

chore(ci): switch to gh-pages for hosting rpms

Mustafa Arici 8 år sedan
förälder
incheckning
86a98512b0
4 ändrade filer med 42 tillägg och 20 borttagningar
  1. 3 6
      .travis.yml
  2. 8 1
      Makefile
  3. 22 13
      build.sh
  4. 9 0
      contrib/yumrepo.repo

+ 3 - 6
.travis.yml

@@ -31,13 +31,10 @@ script:
   - make docker-build
 
 deploy:
-  provider: packagecloud
-  username: ${PACKAGECLOUD_USER}
-  repository: ${PACKAGECLOUD_REPO}
-  token: ${PACKAGECLOUD_TOKEN}
-  dist: ${OS}/${DIST}
-  package_glob: rpm/*.{deb,rpm}
+  provider: pages
   skip_cleanup: true
+  github_token: $GITHUB_TOKEN
+  local_dir: release/rpm/
   on:
     tag: true
     all_branches: true

+ 8 - 1
Makefile

@@ -1,4 +1,11 @@
 .PHONY: build
 docker-build:
 	docker run --rm -i -t -e TRAVIS_GO_VERSION=$(TRAVIS_GO_VERSION) -e TRAVIS_BUILD_NUMBER=$(TRAVIS_BUILD_NUMBER) -e TRAVIS_TAG=$(TRAVIS_TAG) -v `pwd`:/fs/src/github.com/cad/ovpm -w /fs/src/github.com/cad/ovpm fedora ./build.sh
-	#docker run --rm -i -t -e TRAVIS_BUILD_NUMBER=$(TRAVIS_BUILD_NUMBER) -e TRAVIS_TAG=$(TRAVIS_TAG) -v `pwd`:/fs/src/github.com/cad/ovpm -w /fs/src/github.com/cad/ovpm fedora /bin/bash
+	#docker run --rm -i -t -e TRAVIS_GO_VERSION=$(TRAVIS_GO_VERSION) -e TRAVIS_BUILD_NUMBER=$(TRAVIS_BUILD_NUMBER) -e TRAVIS_TAG=$(TRAVIS_TAG) -v `pwd`:/fs/src/github.com/cad/ovpm -w /fs/src/github.com/cad/ovpm fedora /bin/bash
+
+
+deps:
+	# grpc related dependencies
+	go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
+	go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger
+	go get -u github.com/golang/protobuf/protoc-gen-go

+ 22 - 13
build.sh

@@ -8,29 +8,38 @@ echo "travis go version: $TRAVIS_GO_VERSION"
 # deps
 rpm --import https://mirror.go-repo.io/fedora/RPM-GPG-KEY-GO-REPO
 curl -s https://mirror.go-repo.io/fedora/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo
-yum -y install golang ruby ruby-devel gcc make redhat-rpm-config git rpm-build rpmdevtools
+yum -y install golang ruby ruby-devel gcc make redhat-rpm-config git rpm-build rpmdevtools createrepo
 gem install fpm
 
 # prep
 export DIR="/fs/src/github.com/cad/ovpm"
+export RELEASEDIR=$DIR/release
 export UNITDIR="/usr/lib/systemd/system/"
 export GOPATH="/fs/"
 #export PATH=":$PATH"
-mkdir -p $DIR/build/
-mkdir -p $DIR/rpm/
-rm -rf $DIR/build/*
-rm -rf $DIR/rpm/*
-mkdir -p $DIR/build/usr/sbin/
-mkdir -p $DIR/build/usr/bin/
-mkdir -p $DIR/build/var/db/ovpm
-mkdir -p $DIR/build/$UNITDIR
+mkdir -p $RELEASEDIR/
+mkdir -p $RELEASEDIR/build/
+mkdir -p $RELEASEDIR/rpm/
+rm -rf $RELEASEDIR/build/*
+rm -rf $RELEASEDIR/rpm/*
+mkdir -p $RELEASEDIR/build/usr/sbin/
+mkdir -p $RELEASEDIR/build/usr/bin/
+mkdir -p $RELEASEDIR/build/var/db/ovpm
+mkdir -p $RELEASEDIR/build/$UNITDIR
 go get -v -t -d ./...
 
 #build
 #install
-GOOS=linux  go build  -o $DIR/build/usr/sbin/ovpmd ./cmd/ovpmd
-GOOS=linux  go build  -o $DIR/build/usr/bin/ovpm   ./cmd/ovpm
-cp $DIR/contrib/systemd/ovpmd.service $DIR/build/$UNITDIR
+GOOS=linux  go build  -o $RELEASEDIR/build/usr/sbin/ovpmd ./cmd/ovpmd
+GOOS=linux  go build  -o $RELEASEDIR/build/usr/bin/ovpm   ./cmd/ovpm
+cp $DIR/contrib/systemd/ovpmd.service $RELEASEDIR/build/$UNITDIR
+cp $DIR/contrib/yumrepo.repo $RELEASEDIR/rpm/ovpm.repo
 
 #package
-fpm -s dir -t rpm -n ovpm --version `git name-rev --tags --name-only $(git rev-parse HEAD) | cut -d 'v' -f 2` --iteration $TRAVIS_BUILD_NUMBER --depends openvpn --description "OVPM makes all aspects of OpenVPN server administration a breeze." --after-install $DIR/contrib/afterinstall.sh --before-remove $DIR/contrib/beforeremove.sh -p $DIR/rpm -C $DIR/build .
+fpm -s dir -t rpm -n ovpm --version `git name-rev --tags --name-only $(git rev-parse HEAD) | cut -d 'v' -f 2` --iteration $TRAVIS_BUILD_NUMBER --depends openvpn --description "OVPM makes all aspects of OpenVPN server administration a breeze." --after-install $DIR/contrib/afterinstall.sh --before-remove $DIR/contrib/beforeremove.sh -p $RELEASEDIR/rpm -C $RELEASEDIR/build .
+
+#create rpm repo
+createrepo --database $RELEASEDIR/rpm
+
+# clean
+rm -rf $RELEASEDIR/build

+ 9 - 0
contrib/yumrepo.repo

@@ -0,0 +1,9 @@
+[main]
+plugins=1
+
+[ovpm]
+   name = Official OVPM yum repository
+   baseurl = https://cad.github.io/ovpm/rpm/ovpm.repo
+   gpgcheck=0
+   sslverify=1
+   enabled=1