浏览代码

Docker local development setup (#210)

* Docker local development setup

* Add DEVELOPMENT.md  and update dev Dockerfile

* Delete setup.txt and fix DEVELOPMENT.md sequence
pull/222/head
bry-c 4 年前
committed by GitHub
父节点
当前提交
eef343b71f
找不到此签名对应的密钥 GPG 密钥 ID: 4AEE18F83AFDEB23
共有 2 个文件被更改,包括 58 次插入0 次删除
  1. +37
    -0
      DEVELOPMENT.md
  2. +21
    -0
      docker/dev/Dockerfile

+ 37
- 0
DEVELOPMENT.md 查看文件

@@ -0,0 +1,37 @@
# Development Guide

## Docker local development setup

You should have docker installed in your system, if not click [here](https://docs.docker.com/get-docker/).

1. Go to diagrams root directory.

2. Build the docker image.
```shell
docker build --tag diagrams:1.0 -f ./docker/dev/Dockerfile .
```
3. Create the container, run in background and mount the project source code.

```shell
docker run -d \
-it \
--name diagrams \
--mount type=bind,source="$(pwd)",target=/usr/src/diagrams \
diagrams:1.0
```

4. Run unit tests in the host using the container to confirm that it's working.

```shell
docker exec diagrams python -m unittest tests/*.py -v
```

5. Run the bash script `autogen.sh` to test.

```shell
docker exec diagrams ./autogen.sh
```

6. If the unit tests and the bash script `autogen.sh` is working correctly, then your system is now ready for development.

+ 21
- 0
docker/dev/Dockerfile 查看文件

@@ -0,0 +1,21 @@
# use latest python alphine image.
FROM python:rc-alpine3.12

# install system dependencies.
RUN apk update && apk add --no-cache \
gcc libc-dev g++ graphviz git bash go imagemagick inkscape

# install go package.
RUN go get github.com/mingrammer/round

# add go bin to path.
ENV PATH "$PATH:/root/go/bin"

# project directory.
WORKDIR /usr/src/diagrams

# Copy the rest of your app's source code from your host to your image filesystem.
COPY . .

# install python requirements.
RUN pip install black

正在加载...
取消
保存