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:
parent
bd91508b4c
commit
882d4b57b8
5 changed files with 44 additions and 29 deletions
|
@ -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:
|
||||
|
|
4
Makefile
4
Makefile
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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/
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue