Commit 8c37c47e authored by Sonja Happ's avatar Sonja Happ

delete obsolete CI script, rename Dockerfile, add license badge to readme

parent 313d09c8
variables:
GIT_STRATEGY: fetch
GIT_SUBMODULE_STRATEGY: none
DOCKER_FILE: Dockerfile.ubuntu
DOCKER_FILE: Dockerfile
DOCKER_TAG: ${CI_COMMIT_REF_NAME}
DOCKER_IMAGE: distaix/ubuntu
MAKE_OPTS: -j 4
......
# <img src="doc/DistAIX.png" width=100 /> DistAIX <br/> Distributed Agent-based Simulation of Complex Power Systems
[![pipeline status](https://git.rwth-aachen.de/acs/public/simulation/DistAIXFramework/distaix/badges/master/pipeline.svg)](https://git.rwth-aachen.de/acs/public/simulation/DistAIXFramework/distaix/commits/master)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
DistAIX is a simulator for cyber-physical power systems that makes use of high performance computing techniques to scale up the simulation.
An agent-based modeling and simulation approach is applied to model the behavior of the electrical system as well as distributed control and decision-making processes.
......
#!/usr/bin/env bash
# install fundamentals
apt-get update
apt-get install -yqq build-essential git wget unzip autoconf automake libtool curl make g++ g++-5 pkg-config openssl
# install cmake 3.12
mkdir $CI_PROJECT_DIR/cmake
cd $CI_PROJECT_DIR/cmake
wget -q https://cmake.org/files/v3.12/cmake-3.12.0-Linux-x86_64.sh
chmod +x cmake-3.12.0-Linux-x86_64.sh
./cmake-3.12.0-Linux-x86_64.sh --prefix=. --skip-license
export PATH=$PATH:$CI_PROJECT_DIR/cmake/bin
cd $CI_PROJECT_DIR
# init and update all git submodules
git submodule sync --recursive libs/fbs-components
git submodule update --init --recursive libs/fbs-components
git submodule sync libs/dbconnector
git submodule update --init libs/dbconnector
git submodule sync --recursive libs/villasnode
git submodule update --init --recursive libs/villasnode
git submodule sync libs/repasthpc
git submodule update --init libs/repasthpc
git submodule sync libs/protocolbuffers
git submodule update --init libs/protocolbuffers
# install dependencies of RepastHPC
apt-get install -yqq mpich libcurl4-gnutls-dev libnetcdf-dev libnetcdf-c++4-1 libnetcdf11 libnetcdf-c++4 libnetcdf-cxx-legacy-dev libnetcdf-c++4-dev
#install required boost libs as dependency of RepastHPC
mkdir $CI_PROJECT_DIR/boost
cd $CI_PROJECT_DIR/boost
wget https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.gz
tar xf boost_1_69_0.tar.gz
cd $CI_PROJECT_DIR/boost/boost_1_69_0
./bootstrap.sh --with-libraries=mpi,system,filesystem,serialization
echo "using mpi ;" >> $CI_PROJECT_DIR/boost/boost_1_69_0/user-config.jam
./b2 --user-config=user-config.jam install || true
cd $CI_PROJECT_DIR
# install dependencies of DBConnector library
apt-get install -yqq libuv-dev libssl-dev libpq-dev
# install Cassandra CPP driver as dependency of DBconnector
mkdir $CI_PROJECT_DIR/cassandra
cd $CI_PROJECT_DIR/cassandra
git clone https://github.com/datastax/cpp-driver.git .
git checkout 2.7.1
mkdir build
cd build
cmake ..
make -j4
make install
ldconfig
cd $CI_PROJECT_DIR
# install dependencies of FBScomponent library
apt-get install -yqq libgsl-dev
# install VILLASnode dependencies
apt-get --yes install libconfig-dev libnl-3-dev libnl-route-3-dev libcurl4-openssl-dev libmosquitto-dev uuid-dev libuuid1
# install libwebsockets version 3.0 (VILLASnode dependency)
mkdir $CI_PROJECT_DIR/libwebsockets
cd $CI_PROJECT_DIR/libwebsockets
git clone https://github.com/warmcat/libwebsockets .
git checkout v3.0-stable
git pull origin v3.0-stable
mkdir $CI_PROJECT_DIR/libwebsockets/build
cd $CI_PROJECT_DIR/libwebsockets/build
cmake ..
make -j4
make install
cd $CI_PROJECT_DIR
# install jansson version 2.11
mkdir $CI_PROJECT_DIR/jansson
cd $CI_PROJECT_DIR/jansson
git clone https://github.com/akheron/jansson.git .
git checkout 2.11
git pull origin 2.11
autoreconf -i
./configure
make -j4
make install
cd $CI_PROJECT_DIR
# install nanomsg (VILLASnode and DistAIX dependency)
mkdir $CI_PROJECT_DIR/nanomsg
cd $CI_PROJECT_DIR/nanomsg
wget -q https://github.com/nanomsg/nanomsg/archive/1.1.5.tar.gz
tar -xzf 1.1.5.tar.gz
cd $CI_PROJECT_DIR/nanomsg/nanomsg-1.1.5
mkdir $CI_PROJECT_DIR/nanomsg/nanomsg-1.1.5/build
cd $CI_PROJECT_DIR/nanomsg/nanomsg-1.1.5/build
cmake ..
cmake --build . --target install
ldconfig
cd $CI_PROJECT_DIR
\ No newline at end of file
# System Preparation
In order to work with DistAIX, you need to prepare your system according to the following infos.
It is recommended to have a look at the [Dockerfile](../Dockerfile.ubuntu) file for information on all required packages and libraries in a Ubuntu 18.04 system.
It is recommended to have a look at the [Dockerfile](../Dockerfile) file for information on all required packages and libraries in a Ubuntu 18.04 system.
Note that this Dockerfile installs all dependencies including the ones for DBconnector, FBS-components, VILLASnode and RepastHPC.
## Quick Start: Use Docker
If you want to get started with DistAIX in a quick an easy way, we recommend using the [Dockerfile](../Dockerfile.ubuntu) provided in the repository to build a Docker container image that has all dependencies of DistAIX installed.
If you want to get started with DistAIX in a quick an easy way, we recommend using the [Dockerfile](../Dockerfile) provided in the repository to build a Docker container image that has all dependencies of DistAIX installed.
To build the image, invoke the following Docker command in the top level folder of the repository on the command line of your system:
```bash
$ docker build -f Dockerfile.ubuntu -t distaix:ubuntu .
$ docker build -f Dockerfile -t distaix:ubuntu .
```
In this command, `docker:ubuntu` is the tag of the container image.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment