1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00

fixed packaging and deployment

This commit is contained in:
Steffen Vogel 2017-04-27 09:33:53 +02:00
parent bd91508b4c
commit 882d4b57b8
5 changed files with 44 additions and 29 deletions

View file

@ -1,5 +1,5 @@
variables:
GIT_STRATEGY: clone
GIT_STRATEGY: fetch
GIT_SUBMODULE_STRATEGY: recursive
PREFIX: /usr/
RSYNC_OPTS: --recursive --ignore-missing-args --chown $DEPLOY_USER:$DEPLOY_USER
@ -17,12 +17,10 @@ stages:
docker-dev:
stage: prepare
before_script:
- docker info
# - docker login -u $DOCKER_USER -p $DOCKER_PASS -e $DOCKER_EMAIL $DOCKER_REGISTRY
script:
- docker pull fedora:latest
- docker build -f Dockerfile.dev -t villas-node-dev:$CI_COMMIT_REF_NAME .
- docker tag -f villas-node-dev $DOCKER_REGISTRY/villas-node-dev:$CI_COMMIT_REF_NAME
- docker push $DOCKER_REGISTRY/villas-node-dev:$CI_COMMIT_REF_NAME
- make docker-dev
- make deploy-docker-dev
tags:
- shell
- linux
@ -39,7 +37,7 @@ build:
name: "${CI_PROJECT_NAME}-${CI_BUILD_REF}"
paths:
- build/release/
image: $DOCKER_REGISTRY/villas-node-dev:$CI_COMMIT_REF_NAME
image: $DOCKER_REGISTRY/villas/node-dev:$CI_COMMIT_REF_NAME
tags:
- docker
@ -51,7 +49,7 @@ docs:
- build/release/doc/
script:
- make doc
image: $DOCKER_REGISTRY/villas-node-dev:$CI_COMMIT_REF_NAME
image: $DOCKER_REGISTRY/villas/node-dev:$CI_COMMIT_REF_NAME
tags:
- docker
@ -71,7 +69,7 @@ packages:
paths:
- build/release/packaging/*.tar.gz
- build/release/packaging/rpm/RPMS/
image: $DOCKER_REGISTRY/villas-node-dev:$CI_COMMIT_REF_NAME
image: $DOCKER_REGISTRY/villas/node-dev:$CI_COMMIT_REF_NAME
tags:
- docker
@ -89,7 +87,7 @@ coverage:
- build/release-coverage/coverage/
- build/release-coverage/coverage.txt
- build/release-coverage/coverage.xml
image: $DOCKER_REGISTRY/villas-node-dev:$CI_COMMIT_REF_NAME
image: $DOCKER_REGISTRY/villas/node-dev:$CI_COMMIT_REF_NAME
coverage: '/lines: (\d+\.\d+\%)/'
tags:
- docker
@ -100,7 +98,7 @@ unit:
- build
script:
- make run-unit-tests
image: $DOCKER_REGISTRY/villas-node-dev:$CI_COMMIT_REF_NAME
image: $DOCKER_REGISTRY/villas/node-dev:$CI_COMMIT_REF_NAME
tags:
- docker
@ -117,7 +115,7 @@ integration:
when: always
paths:
- build/release/tests/integration/
image: $DOCKER_REGISTRY/villas-node-dev:$CI_COMMIT_REF_NAME
image: $DOCKER_REGISTRY/villas/node-dev:$CI_COMMIT_REF_NAME
tags:
- docker
@ -127,10 +125,11 @@ integration:
docker:
stage: deploy
before_script:
# - docker login -u $DOCKER_USER -p $DOCKER_PASS -e $DOCKER_EMAIL $DOCKER_REGISTRY
script:
- make docker
- docker tag -f villas-node $DOCKER_REGISTRY/villas-node:$CI_COMMIT_REF_NAME
- docker push $DOCKER_REGISTRY/villas-node:$CI_COMMIT_REF_NAME
- make deploy-docker
dependencies:
- packages
only:

View file

@ -126,8 +126,8 @@ $(BUILDDIR)/defines: | $$(dir $$@)
echo -e "$(addprefix \n-DWITH_, $(shell echo ${PKGS} | tr a-z- A-Z_ | tr -dc ' A-Z0-9_' ))" >> $@
echo -e "$(addprefix \n-DWITH_, $(shell echo ${LIB_PKGS} | tr a-z- A-Z_ | tr -dc ' A-Z0-9_' ))" >> $@
install: $(addprefix install-,$(filter-out thirdparty doc,$(MODULES)))
clean: $(addprefix clean-,$(filter-out thirdparty doc,$(MODULES)))
install: $(addprefix install-,$(filter-out thirdparty doc clients,$(MODULES)))
clean: $(addprefix clean-,$(filter-out thirdparty doc clients,$(MODULES)))
.PHONY: all everything clean install

View file

@ -2,12 +2,19 @@ TAROPTS = --exclude-ignore-recursive=.distignore --transform='s|^\.|villas-node-
TAR_VILLAS = $(BUILDDIR)/packaging/villas-node-$(VERSION_NUM)-1.$(GIT_BRANCH)_$(subst -,_,$(VARIANT)).$(shell date +%Y%m%d)git$(GIT_REV).tar.gz
DEPLOY_HOST = root@villas.0l.de
DEPLOY_PATH = /var/www/villas
DEPLOY_USER ?= root
DEPLOY_HOST ?= 188.166.166.227
DEPLOY_PATH ?= /var/www/villas/node
DOCKER_REGISTRY ?= docker.io
DOCKER_IMAGE ?= villas/node
deploy-docker-dev: DOCKER_IMAGE := $(DOCKER_IMAGE)-dev
docker-dev: DOCKER_IMAGE := $(DOCKER_IMAGE)-dev
packaging: rpm dist
deploy: deploy-dist deploy-rpm
deploy: deploy-dist deploy-rpm deploy-docker
# Source tarballs
dist: $(TAR_VILLAS)
@ -16,21 +23,27 @@ $(TAR_VILLAS): | $$(dir $$@)
tar $(TAROPTS) -C $(SRCDIR) -czf $@ .
deploy-dist: $(TAR_VILLAS)
rsync $(TAR_VILLAS) $(DEPLOY_HOST):$(DEPLOY_PATH)/node/src
rsync $(TAR_VILLAS) $(DEPLOY_USER)@$(DEPLOY_HOST):$(DEPLOY_PATH)/src
deploy-rpm:
rsync -a --progress $(RPMDIR)/RPMS/ $(DEPLOY_HOST):$(DEPLOY_PATH)/packages/
ssh $(DEPLOY_HOST) createrepo $(DEPLOY_PATH)/packages
rsync -a --progress $(RPMDIR)/RPMS/ $(DEPLOY_USER)@$(DEPLOY_HOST):$(DEPLOY_PATH)/../packages/
ssh $(DEPLOY_USER)@$(DEPLOY_HOST) createrepo $(DEPLOY_PATH)/../packages
deploy-docker deploy-docker-dev:
docker tag -f $(DOCKER_IMAGE):$(GIT_BRANCH) $(DOCKER_REGISTRY)/$(DOCKER_IMAGE):$(GIT_BRANCH)
docker push $(DOCKER_REGISTRY)/$(DOCKER_IMAGE):$(GIT_BRANCH)
# Docker targets
run-docker-dev:
docker run -it -p 80:80 -p 443:443 -p 1234:1234 --privileged --security-opt seccomp:unconfined -v $(PWD):/villas villas-node-dev
run-docker-dev: docker-dev
docker run -it -p 80:80 -p 443:443 -p 1234:1234 --privileged --security-opt seccomp:unconfined -v "$(PWD):/villas" $(DOCKER_IMAGE)-dev:$(GIT_BRANCH)
docker-dev:
docker build -f Dockerfile.dev -t villas-node-dev $(SRCDIR)
docker pull fedora:25
docker build -f Dockerfile.dev -t $(DOCKER_IMAGE):$(GIT_BRANCH) $(SRCDIR)
docker:
docker build -f Dockerfile -t villas-node $(SRCDIR)
docker pull fedora:25
docker build -f Dockerfile -t $(DOCKER_IMAGE):$(GIT_BRANCH) $(SRCDIR)
clean-packaging:
rm -f $(BUILDDIR)/packaging/villas-node-$(VERSION_NUM).tar.gz

View file

@ -5,7 +5,7 @@ SPEC_VILLAS = $(BUILDDIR)/packaging/rpm/villas-node.spec
rpm: rpm-villas-node rpm-libwebsockets rpm-libxil
rpm-villas-node: $(TAR_VILLAS) $(SPEC_VILLAS) | $(RPMDIR)/SOURCES/
cp $(BUILDDIR)/packaging/villas-node-$(VERSION_NUM).tar.gz $(RPMDIR)/SOURCES
cp $(TAR_VILLAS) $(RPMDIR)/SOURCES
rpmbuild -ba --define="_topdir $$(pwd)/$(RPMDIR)" $(BUILDDIR)/packaging/rpm/villas-node.spec
rpm-libxil: $(BUILDDIR)/thirdparty/libxil/
@ -16,7 +16,7 @@ rpm-libxil: $(BUILDDIR)/thirdparty/libxil/
cp $(BUILDDIR)/thirdparty/libxil/libxil-*.tar.gz $(RPMDIR)/SOURCES
rpmbuild -ba --define="_topdir $$(pwd)/$(RPMDIR)" $(SRCDIR)/thirdparty/libxil/libxil.spec
rpm-libwebsockets: | $(RPMDIR)/RPMS $(BUILDDIR)/thirdparty/libwebsockets/
rpm-libwebsockets: | $(RPMDIR)/RPMS/x86_64/ $(BUILDDIR)/thirdparty/libwebsockets/
cmake -DCMAKE_INSTALL_PREFIX:PATH=$(PREFIX) \
-H$(SRCDIR)/thirdparty/libwebsockets \
-B$(BUILDDIR)/thirdparty/libwebsockets $(CMAKE_OPTS)

View file

@ -7,7 +7,7 @@ Summary: This is VILLASnode, a gateway for processing and forwardning simulatio
License: LGPLv2
URL: https://git.rwth-aachen.de/VILLASframework/VILLASnode
Source0: villas-node-%{version}.tar.gz
Source0: villas-node-§VERSION§-§RELEASE§.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gcc pkgconfig make
@ -61,6 +61,9 @@ rm -rf %{?buildroot}
/usr/lib/libvillas.so
/usr/lib/libvillas.so.*
/usr/lib/libvillas-ext.so
/usr/lib/libvillas-ext.so.*
/usr/share/villas/node/web/
/usr/share/villas/node/plugins/