Commit a615b175 authored by David Hübner's avatar David Hübner
Browse files

Merge branch 'release/v2.2.0'

parents a251533c 01572a6d
[Dolphin]
Timestamp=2019,3,8,9,59,45
Version=4
[Settings]
HiddenFilesShown=true
# Editor configuration, see http://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
max_line_length = off
trim_trailing_whitespace = false
[*.py]
indent_size = 4
[Makefile]
indent_style = tab
DIDMOS2_DEMO_FRONTEND='https://gitlab.daasi.int/didmos2-demo/didmos2-demo-frontend.git'
DIDMOS2_DEMO_FRONTEND_VERSION="v2.1.0"
DIDMOS2_DEMO_FRONTEND_TAG="v2.1.0"
DIDMOS2_OPENLDAP='https://gitlab.daasi.int/didmos2/didmos2-openldap.git'
DIDMOS2_OPENLDAP_VERSION="v2.3.0"
DIDMOS2_OPENLDAP_TAG="v2.3.0"
DIDMOS2_MONGODB='https://gitlab.daasi.int/didmos2/didmos2-mongodb.git'
DIDMOS2_MONGODB_VERSION="v2.2.0"
DIDMOS2_MONGODB_TAG="v2.2.0"
DIDMOS2_CORE='https://gitlab.daasi.int/didmos2/didmos2-core.git'
DIDMOS2_CORE_VERSION="v2.3.0"
DIDMOS2_CORE_TAG="v2.3.0"
DIDMOS2_AUTH='https://gitlab.daasi.int/didmos2/didmos2-auth.git'
DIDMOS2_AUTH_VERSION="v2.3.0"
DIDMOS2_AUTH_TAG="v2.3.0"
BACKEND_HOSTNAME=didmos2-backend.local
FRONTEND_HOSTNAME=didmos2-frontend.local
AUTH_HOSTNAME=didmos2-auth.local
DIDMOS_IMAGE=registry.gitlab.daasi.int/didmos2/didmos2-core:latest
FRONTEND_IMAGE=registry.gitlab.daasi.int/didmos2-demo/didmos2-demo-frontend:latest
LDAP_IMAGE=registry.gitlab.daasi.int/didmos2/didmos2-openldap:latest
MONGO_IMAGE=registry.gitlab.daasi.int/didmos2/didmos2-mongodb:latest
SATOSA_IMAGE=registry.gitlab.daasi.int/didmos2/didmos2-auth:latest
\ No newline at end of file
BACKEND_HOSTNAME=didmos2-backend.local
FRONTEND_HOSTNAME=didmos2-frontend.local
AUTH_HOSTNAME=didmos2-auth.local
DIDMOS_IMAGE=registry.gitlab.daasi.int/didmos2/didmos2-core:v2.3.0
FRONTEND_IMAGE=registry.gitlab.daasi.int/didmos2-demo/didmos2-demo-frontend:v2.1.0
LDAP_IMAGE=registry.gitlab.daasi.int/didmos2/didmos2-openldap:v2.3.0
MONGO_IMAGE=registry.gitlab.daasi.int/didmos2/didmos2-mongodb:v2.2.0
SATOSA_IMAGE=registry.gitlab.daasi.int/didmos2/didmos2-auth:v2.3.0
\ No newline at end of file
didmos2-auth
didmos2-compose
didmos2-core
didmos2-demo-frontend
didmos2-mongodb
didmos2-openldap
didmos2env
.env
.repos
/.project
docker-compose.override.yml
traefik/certs/*
./docker-compose.override.yml
deploy/.env
deploy/certs/*
traefik/traefik-both.toml
traefik/traefik-frontend.toml
traefik/traefik-didmos.toml
didmos2env
.directory
#IDE
.vscode/settings.json
*.code-workspace
*.kate-swp
# Workaround to get didmos2-fe-lib as an SCM provider in VSCode
# see https://github.com/microsoft/vscode/issues/37947#issuecomment-460340426
.gitmodules
.project
.idea
This diff is collapsed.
Copyright (c) 2017-2020 DAASI International GmbH
Apache License
Version 2.0, January 2004
......@@ -204,5 +205,4 @@
---
All Documentation content that resides under the doc/ directory of this
repository is licensed under Creative Commons: CC BY-SA 4.0.
repository is licensed under Creative Commons: CC BY-SA 4.0.
\ No newline at end of file
include .env-build
export
ifeq ($(ENV), local)
info:
@echo 'local'
else ifeq ($(ENV), release)
info:
@echo 'release'
else
info:
@echo 'default (develop)'
#######################################################################
# Copyright: DAASI International GmbH 2017-2020. All rights reserved.
#
# This is Open Source Software
# License: Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0)
#
# Author: Christopher Tomas, DAASI International GmbH, www.daasi.de
# For questions please mail to info@daasi.de
#######################################################################
THIS_FILE := $(lastword $(MAKEFILE_LIST))
SHELL := bash
# As default docker-compose commands using .env file in same folder
# For local development: make bootstrap creates the default .env File
# For pipeline process: Jenkins creates .env and replaces/overwrites parameters if new values are set in ui
ifneq ("$(wildcard .env)","")
include .env
endif
# == Pull all repos and run child make files ==
# If called with ENV=develop, the develop branch will be used
# Otherwise the branches specified in .env-build will be used
ifeq ($(ENV), release)
get-repos:
git clone --branch $(DIDMOS2_DEMO_FRONTEND_VERSION) $(DIDMOS2_DEMO_FRONTEND)
git clone --branch $(DIDMOS2_OPENLDAP_VERSION) $(DIDMOS2_OPENLDAP)
git clone --branch $(DIDMOS2_MONGODB_VERSION) $(DIDMOS2_MONGODB)
git clone --branch $(DIDMOS2_CORE_VERSION) $(DIDMOS2_CORE)
git clone --branch $(DIDMOS2_AUTH_VERSION) $(DIDMOS2_AUTH)
make submodule-init
else
get-repos:
git clone --branch develop $(DIDMOS2_DEMO_FRONTEND)
git clone --branch develop $(DIDMOS2_OPENLDAP)
git clone --branch develop $(DIDMOS2_MONGODB)
git clone --branch develop $(DIDMOS2_CORE)
git clone --branch develop $(DIDMOS2_AUTH)
make submodule-init
endif
submodule-init:
$(MAKE) -C didmos2-demo-frontend
$(MAKE) -C didmos2-core
$(MAKE) -C didmos2-auth
# == Build base images ==
# == Define only the service which later gets extended by the customer-parts
build-base:
@docker-compose -f didmos2-compose/docker/docker-compose.yml -f didmos2-compose/docker/docker-compose-build.yml \
--project-directory . build --force-rm $(BASE_SERVICES)
# == Build customer images ==
build:
@docker-compose -f didmos2-compose/docker/docker-compose.yml -f didmos2-compose/docker/docker-compose-build.yml \
-f docker/docker-compose-customer.yml -f docker/docker-compose-customer-build.yml --project-directory . build --force-rm $(SERVICES)
# == Start customer qa environment ==
# Servicevariable is used to start a single service in pipelinecontext, not defined in .env file.
up-qa:
@docker-compose -f didmos2-compose/docker/docker-compose.yml \
-f docker/docker-compose-customer.yml -f docker/docker-compose-qa-daasi.yml --project-directory . up -d $(SERVICES)
# == Stop base environment and delete volumes and images ==
down-base:
@docker-compose -f didmos2-compose/docker/docker-compose.yml -f didmos2-compose/docker/docker-compose-build.yml \
--project-directory . down -v --remove-orphans
# == Stop customer qa environment dockand delete volumes and images ==
down-qa:
@docker-compose -f didmos2-compose/docker/docker-compose.yml -f didmos2-compose/docker/docker-compose-build.yml \
-f docker/docker-compose-customer.yml -f docker/docker-compose-customer-build.yml -f docker/docker-compose-qa-daasi.yml \
--project-directory . down -v --remove-orphans
# == Pushes base images to docker registry ==
push-base:
@docker-compose -f didmos2-compose/docker/docker-compose.yml -f didmos2-compose/docker/docker-compose-build.yml --project-directory . push $(SERVICES)
# == Pushes customer images to docker registry ==
push:
@docker-compose -f didmos2-compose/docker/docker-compose.yml -f didmos2-compose/docker/docker-compose-build.yml \
-f docker/docker-compose-customer.yml -f docker/docker-compose-customer-build.yml --project-directory . push $(SERVICES)
# == Pull images ==
ifeq ($(ENV), release)
pull:
@env $(shell cat .env-dev-release) docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" --log-level ERROR pull
@echo "== Pulled the following images according to .env-dev-release: =="
@env $(shell cat .env-dev-release) docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" --log-level ERROR config | grep image: | sed 's/.*: //'
else
# == .env file created by bootstrap skript will be used as default for non-release call
pull:
docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" --log-level ERROR pull
@docker-compose -f didmos2-compose/docker/docker-compose.yml -f docker/docker-compose-customer.yml \
-f didmos2-compose/docker/docker-compose-dev.yml -f docker/docker-compose-customer.yml -f docker/docker-compose-customer-dev.yml pull
@echo "== Pulled the following images according to .env: =="
@docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" --log-level ERROR config | grep image: | sed 's/.*: //'
endif
@docker-compose -f didmos2-compose/docker/docker-compose.yml -f docker/docker-compose-customer.yml \
-f didmos2-compose/docker/docker-compose-dev.yml -f docker/docker-compose-customer-dev.yml --log-level ERROR config | grep image: | sed 's/.*: //'
# == Remove all locally checked out repositories ==
clean-fs:
@echo "customer clean-repos"
rm -rf didmos2-compose
rm -rf didmos2-core
rm -rf didmos2-openldap
rm -rf didmos2-auth
rm -rf didmos2-mongodb
rm -rf didmos2env
rm -rf ${CUSTOMER}-frontend
rm -f .env
# == Clones all repos and run child make files ===
get-repos:
@echo "calling ${CUSTOMER} get-repos"
@echo "get general didmos2-compose repo"
$(MAKE) -f $(THIS_FILE) get-didmos2-compose-repo
@echo "get general didmos2 component repos"
make -C didmos2-compose get-repos TARGET=.. \
DIDMOS2_OPENLDAP_VERSION=$(DIDMOS2_OPENLDAP_VERSION) \
DIDMOS2_MONGODB_VERSION=$(DIDMOS2_MONGODB_VERSION) \
DIDMOS2_CORE_VERSION=$(DIDMOS2_CORE_VERSION) \
DIDMOS2_AUTH_VERSION=$(DIDMOS2_AUTH_VERSION) \
GIT_PROFILE=$(GIT_PROFILE)
@echo "get ${CUSTOMER} specific repos"
git clone --branch $(CUSTOMER_FRONTEND_VERSION) $(CUSTOMER_FRONTEND_REPO) ${CUSTOMER}-frontend
$(MAKE) -f $(THIS_FILE) submodule-init GIT_PROFILE=$(GIT_PROFILE)
get-didmos2-compose-repo:
git clone --branch $(DIDMOS2_COMPOSE_VERSION) $(DIDMOS2_COMPOSE_REPO) didmos2-compose
submodule-init:
$(MAKE) -C ${CUSTOMER}-frontend GIT_PROFILE=$(GIT_PROFILE)
# == Stop development environment ==
down:
@docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" --log-level ERROR down
@docker-compose -f didmos2-compose/docker/docker-compose.yml -f docker/docker-compose-customer.yml \
-f didmos2-compose/docker/docker-compose-dev.yml -f docker/docker-compose-customer-dev.yml --project-directory . --log-level ERROR down
# == Start development environment ==
ifeq ($(ENV), local)
up:
@echo "== Starting with :local images =="
@docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" -f "docker-compose-dev-local.yml" --log-level ERROR up -d
else ifeq ($(ENV), release)
up:
@echo "== Starting with release images according to .env-dev-release =="
@env $(shell cat .env-dev-release) docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" --log-level ERROR up -d
else
up:
@echo "== Starting with :latest images =="
@docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" --log-level ERROR up -d
endif
@docker-compose -f didmos2-compose/docker/docker-compose.yml -f docker/docker-compose-customer.yml \
-f didmos2-compose/docker/docker-compose-dev.yml -f docker/docker-compose-customer-dev.yml --project-directory . --log-level ERROR up -d
# == Start development environment with local frontend ==
ifeq ($(ENV), local)
up-frontend:
@echo "== Starting frontend-development with :local images =="
@docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" -f "docker-compose-dev-frontend.yml" -f "docker-compose-dev-local.yml" --log-level ERROR up -d auth mongo ldap didmos traefik
@cd scripts && sh up-frontend.sh $(LIBDEV)
else ifeq ($(ENV), release)
up-frontend:
@echo "== Starting frontend-development with release images according to .env-dev-release =="
@env $(shell cat .env-dev-release) docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" -f "docker-compose-dev-frontend.yml" --log-level ERROR up -d auth mongo ldap didmos traefik
@cd scripts && sh up-frontend.sh $(LIBDEV)
else
# == .env file created by bootstrap skript will be used as default for non-release call
up-frontend:
@echo "== Starting frontend-development with :latest images =="
@docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" -f "docker-compose-dev-frontend.yml" --log-level ERROR up -d auth mongo ldap didmos traefik
@docker-compose -f didmos2-compose/docker/docker-compose.yml -f didmos2-compose/docker/docker-compose-dev.yml \
-f docker/docker-compose-customer.yml -f docker/docker-compose-customer-dev.yml -f docker/docker-compose-dev-frontend.yml \
--project-directory . --log-level ERROR up -d auth mongo ldap didmos proxy
@cd scripts && sh up-frontend.sh $(LIBDEV)
endif
# == Start development environment with local backend ==
ifeq ($(ENV), local)
up-didmos:
@echo "== Starting backend-development with :local images =="
@docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" -f "docker-compose-dev-didmos.yml" -f "docker-compose-dev-local.yml" --log-level ERROR up -d auth mongo ldap frontend traefik
@cd scripts && sh up-backend.sh $(NOSTART)
else ifeq ($(ENV), release)
up-didmos:
@echo "== Starting backend-development with release images according to .env-dev-release =="
@env $(shell cat .env-dev-release) docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" -f "docker-compose-dev-didmos.yml" --log-level ERROR up -d auth mongo ldap frontend traefik
@cd scripts && sh up-backend.sh $(NOSTART)
else
# == .env file created by bootstrap skript will be used as default for non-release call
up-didmos:
@echo "== Starting backend-development with :latest images =="
@docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" -f "docker-compose-dev-didmos.yml" --log-level ERROR up -d auth mongo ldap frontend traefik
@docker-compose -f didmos2-compose/docker/docker-compose.yml -f docker/docker-compose-customer.yml \
-f didmos2-compose/docker/docker-compose-dev.yml -f docker/docker-compose-customer-dev.yml -f docker/docker-compose-dev-didmos.yml \
--project-directory . --log-level ERROR up -d auth mongo ldap frontend proxy
@cd scripts && sh up-backend.sh $(NOSTART)
endif
# == Start development environment with local frontend & backend ==
ifeq ($(ENV), local)
up-both:
@echo "== Starting front&backend-development with :local images =="
@docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" -f "docker-compose-dev-both.yml" -f "docker-compose-dev-local.yml" --log-level ERROR up -d auth mongo ldap traefik
@cd scripts && sh up-backend.sh $(NOSTART) && sh up-frontend.sh $(LIBDEV)
else ifeq ($(ENV), release)
up-both:
@echo "== Starting front&backend-development with release images according to .env-dev-release =="
@env $(shell cat .env-dev-release) docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" -f "docker-compose-dev-both.yml" --log-level ERROR up -d auth mongo ldap traefik
@cd scripts && sh up-backend.sh $(NOSTART) && sh up-frontend.sh $(LIBDEV)
else
# == .env file created by bootstrap skript will be used as default for non-release call
up-both:
@echo "== Starting front&backend-development with :latest images =="
@docker-compose -f "docker-compose.yml" -f "docker-compose-dev.yml" -f "docker-compose-dev-both.yml" --log-level ERROR up -d auth mongo ldap traefik
@docker-compose -f didmos2-compose/docker/docker-compose.yml -f docker/docker-compose-customer.yml \
-f didmos2-compose/docker/docker-compose-dev.yml -f docker/docker-compose-customer-dev.yml -f docker/docker-compose-dev-both.yml --project-directory . \
--log-level ERROR up -d auth mongo ldap proxy
@cd scripts && sh up-backend.sh $(NOSTART) && sh up-frontend.sh $(LIBDEV)
endif
# == shortcuts ==
up-both-lib:
......@@ -131,33 +143,29 @@ up-both-lib:
up-frontend-lib:
make up-frontend LIBDEV=true
# == Build local containers ==
build-local:
@echo "== Building :local images of all components based on local files =="
sh ./scripts/manual_build.sh
sh ./scripts/retag_local.sh
# == Remove all locally checked out repositories ==
clean-repos:
rm -rf didmos2-auth didmos2-core didmos2-demo-frontend didmos2-mongodb didmos2-openldap
# == Bootstrap local development environment ==
# == .env file created by bootstrap skript will be used as default for non-release call
ifeq ($(ENV), release)
bootstrap:
@echo "== Bootstrap with release repositories =="
@cd scripts && sh bootstrap-devel.sh $(INSTALL)
@cd scripts && sh bootstrap-devel.sh release $(GIT_PROFILE) $(DEPLOY)
else
bootstrap:
@echo "== Bootstrap with develop repositories =="
@cd scripts && sh bootstrap-devel.sh develop $(INSTALL)
@cd scripts && sh bootstrap-devel.sh develop $(GIT_PROFILE) $(DEPLOY)
endif
# == Remove all docker containers, images and volumes ==
clean-docker:
#docker stop $$(docker ps -aq); docker rm -f $$(docker ps -aq); docker rmi -f $$(docker images -q)
@echo 'not implemented'
clean-docker-all:
docker ps -a -q | xargs -r docker rm -f
docker network prune
docker volume ls -q -f 'Name=didmos2-demo' | xargs -r docker volume rm
\ No newline at end of file
docker ps -a -q -f 'NAME=didmos2' -f 'NAME=${CUSTOMER}'| xargs -r docker rm -f
docker network prune -f
docker volume ls -q -f 'Name=${CUSTOMER}-compose' | xargs -r docker volume rm
# === Migration for old deployments ===
update-local-env:
@echo "=== Using the .env-dev-default template for usage of latest tags ==="
@echo "=== This overrides your .env and any changes you might have done. The overriden file had the following content: ==="
@cat .env
cp env/.env-dev-default .env
sed -i "s/###DOCKER_HOST_IP###/`ifconfig docker0 | grep inet | grep -o "[0-9.]*" | head -1`/g" .env
@echo "=== Replacement done ==="
didmos2-demo-compose
============
## Requirements for the development environment
# How to get started
- docker
- docker-compose
- Fedora OS with root access to install dependencies
This respository contains all CI/CD related files for didmos2-demo. The main features are:
## Commands
1) Local deployment using (prebuilt) docker images
2) Local development using a hybrid model with docker containers and locally run components
3) Jenkins pipeline for building & testing the software both as docker deployment and package deployment (currently Ubuntu 18)
4) Jenkins pipeline and manual instructions for setting up a production docker deployment
## System requirements
### General requirements
For all functionality docker & docker-compose is required and must be installed manually:
- docker: [Official docs](https://docs.docker.com/compose/install/)
- docker-compose: [Official docs](https://docs.docker.com/compose/install/), version 1.25.0 or later
Unless you are connected to DAASI's Internal network you need to add the following lines to your host file
```
127.0.0.1 auth.daasi.devel backend.daasi.devel frontend.daasi.devel
```
### Full local development environment requirements
For a full local development environment (i.e. when _not_ using `DEPLOY=dockerOnly`, see below), specific requirements must be fulfilled:
- Root permissions (sudo) on the local systems
- Fedora OS 29+
It's certainly possible to use another OS. However, this is untested and the steps done in scripts/bootstrap-devel.sh must be adopted manually.
## Step 1: Bootstrap environment
didmos2-demo contains of multiple components, which are developed in individual repositories. In order to start with development, a process called "bootstrap" must be run once. During this process, the source code of all components is cloned and various preparation is done. The environment can be bootstraped with either develop branches (the default) or the latest release versions. This can be controlled with the flag `ENV=release`, which is available for `make bootstrap`. When omitting this parameter, the default develop configuration is used.
Parts of these repositories (master and release tags) are published on the external gitlab. The develop branch is only published on the internal gitlab, hence all features, which refer to the develop branches are not applicable to use cases involving the external gitlab. For most commands this can be controlled with the flag `GIT_PROFILE=external`. When omitting this parameter, the default configuration with internal repositories is used.
Finally, the environment can be bootstraped either for a full local development environment (default) or only for docker containers. The first option allows development on frontend and backend using a development server, but has various specific requirements (see below). This can be controlled with the flag `DEPLOY=dockerOnly`. When omitting this parameter, a full bootstrap is performed.
In summary, the following bootstrap options may be interesting for different use cases:
`make bootstrap`: With access to daasi.int-repositories for development of frontend & backend
`make bootstrap DEPLOY=dockerOnly`: With access to daasi.int-repositories for docker-only development or deployment
`make bootstrap ENV=release GIT_PROFILE=external DEPLOY=dockerOnly`: Without access to daasi.int-repositories, where no develop branches exist and for docker-only development or deployment
## Step 2: Different development / deployment scenarios
After successfully bootstraping the environment (see Step 1), different scenarios can be used as follows:
### Step 2.a) Productive deployment
See README in the subdirectory deploy in this repository.
### Step 2.b) Local deployment using docker containers (Quickstart)
_This scenario requires a bootstrapped environment (either full or dockerOnly) from either repository (internal or external) and in either version (develop or release)._
If you want to use functionalities which send email such as self-registration you need to change the variables in .env:
```
# +++ DOCKER CONFIGURATION +++
# ++++++++++++++++++++++++++++
# === DOCKER VARIABLES ===
...
SMTP_HOST=email.daasi.de
SMTP_USER=applications@daasi.de
SMTP_PASSWORD=secret
```
Finally execute:
```
make pull
make up
```
Open in Browser https://auth.daasi.devel and https://backend.daasi.devel and accept certificates. Next go to https://frontend.daasi.devel accept certificate again and you should be able to login as superadmin / secret.
### Step 2.c) Local development on core / frontend
_This scenario requires a bootstrapped environment for __full local development__ from either repository (internal or external) and in either version (develop or release)._
Setup mail credentials in didmos2-core/src/general/credentials.py
Now chose one of the make-up-* commands (see below for a complete list of Make-Commands). If you want to start both the frontend and backend locally, run:
```
make up-both-lib
```
# Full list of Make-Commands
```
make bootstrap
```
```
Setup development environment from a clean clone of the didmos2-demo-compose repository. Generally this should only be run once.
Setup development environment from a clean clone of the didmos2-demo-compose repository. Generally this should only be run once.
This checks out repositories for all components, runs setup for the local development environment (certificates etc.) and installs dependencies for local development (python, node, etc.)
......@@ -22,15 +115,15 @@ By default the develop-branches of all repositories are used.
Use the flag ```ENV=release``` to setup with release-branches instead. The current release branches are specified in the file .env-build.
Use the flag ```INSTALL=noroot``` to run without running root-commands during bootstrap. This generally works, when another instance of didmos2 was already setup on the system, but might fail due to missing dependencies.
Use the flag ```DEPLOY=dockerOnly``` to only setup an environment to use docker containers. This does not allow local development on frontend / backend.
***
```
make pull
```
```
Pull most recent docker images from docker registry (gitlab.daasi.int). TUsually these images are built with the Jenkins pipeline.
Pull most recent docker images from docker registry (gitlab.daasi.int). Usually these images are built with the Jenkins pipeline.
By default images tagged with __latest__ are pulled (this is specified in .env).
......@@ -40,7 +133,7 @@ Use the flag ```ENV=release``` to use release images instead, which are specifie
```
make up
```
```
Start development environment with all components as docker containers.
......@@ -48,14 +141,12 @@ By default images tagged with __latest__ are used (this is specified in .env).
Use the flag ```ENV=release``` to use release images instead, which are specified in .env-dev-release.
Use the flag ```ENV=local``` to use local images instead (which can be built with ```make build-local```, see below).
***
```
make down
```
```
Stop all docker containers.
......@@ -63,42 +154,36 @@ Stop all docker containers.
```
make up-frontend
```
```
Start local frontend (non-docker) and other components as docker containers.
Use the flag ```ENV=release``` to use release images instead, which are specified in .env-dev-release.
Use the flag ```ENV=local``` to use local images instead (which can be built with ```make build-local```, see below).
Use the flag ```LIBDEV=true``` to allow frontend lib development. (There's also a shortcut: ```up-frontend-lib```)
***
```
make up-didmos
```
```
Start local backend (non-docker) and other components as docker containers.
Use the flag ```ENV=release``` to use release images instead, which are specified in .env-dev-release.
Use the flag ```ENV=local``` to use local images instead (which can be built with ```make build-local```, see below).
Use the flag ```NOSTART=true``` to allow manual start of backend server on port 8000.
***
```
make up-both
```
```
Start local frontend & backend (non-docker) and other components as docker containers.
Use the flag ```ENV=release``` to use release images instead, which are specified in .env-dev-release.
Use the flag ```ENV=local``` to use local images instead (which can be built with ```make build-local```, see below).
Use the flag ```NOSTART=true``` to allow manual start of backend server on port 8000.
Use the flag ```LIBDEV=true``` to allow frontend lib development. (There's also a shortcut: ```up-both-lib```)
......@@ -106,18 +191,8 @@ Use the flag ```LIBDEV=true``` to allow frontend lib development. (There's also
***
```
make build-local
```
Build images with the local tag from the local file system.
This is the same as pushing all changes and using the pipeline to build latest or release tags, except it all happens locally. Afterwards these images can be used in various make targets with the ```ENV=local``` flag.
***
make clean-fs
```
make clean-repos
```
Remove all component repositories. Allows to re-run ```make bootstrap```.
......@@ -125,7 +200,7 @@ Remove all component repositories. Allows to re-run ```make bootstrap```.