浏览代码

Containerize release tool

Signed-off-by: Joffrey F <[email protected]>
Joffrey F 7 年之前
父节点
当前提交
4faf7c19b6
共有 2 个文件被更改,包括 39 次插入0 次删除
  1. 14 0
      script/release/Dockerfile
  2. 25 0
      script/release/release.sh

+ 14 - 0
script/release/Dockerfile

@@ -0,0 +1,14 @@
+FROM python:3.6
+RUN mkdir -p /src && pip install -U Jinja2==2.10 \
+    PyGithub==1.39 \
+    pypandoc==1.4 \
+    GitPython==2.1.9 \
+    requests==2.18.4 && \
+    apt-get update && apt-get install -y pandoc
+
+VOLUME /src/script/release
+WORKDIR /src
+COPY . /src
+RUN python setup.py develop
+ENTRYPOINT ["python", "script/release/release.py"]
+CMD ["--help"]

+ 25 - 0
script/release/release.sh

@@ -0,0 +1,25 @@
+#!/bin/sh
+
+docker image inspect compose/release-tool > /dev/null
+if test $? -ne 0; then
+    docker build -t compose/release-tool -f $(pwd)/script/release/Dockerfile $(pwd)
+fi
+
+if test -z $GITHUB_TOKEN; then
+    echo "GITHUB_TOKEN environment variable must be set"
+    exit 1
+fi
+
+if test -z $BINTRAY_TOKEN; then
+    echo "BINTRAY_TOKEN environment variable must be set"
+    exit 1
+fi
+
+docker run -e GITHUB_TOKEN=$GITHUB_TOKEN -e BINTRAY_TOKEN=$BINTRAY_TOKEN -it \
+    --mount type=bind,source=$(pwd),target=/src \
+    --mount type=bind,source=$(pwd)/.git,target=/src/.git \
+    --mount type=bind,source=$HOME/.docker,target=/root/.docker \
+    --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
+    --mount type=bind,source=$HOME/.ssh,target=/root/.ssh \
+    -v $HOME/.pypirc:/root/.pypirc \
+    compose/release-tool $*