昨天公司上线了低代码平台,需要提供一个python项目的部署脚本,要求基于python的基础镜像,拉取代码下载依赖,打成docker镜像运行项目,由于服务器上已经有了现成的python基础镜像,可以省了很多功夫
#!/bin/bash
your_url="http://账号:密码@xxx/dev/python.git"
your_n=${your_url##*/}
your_name=${your_n%.*}
sudo -i
mkdir -p /opt/ups/
cd /opt/ups/
git clone $your_url
cd /opt/uops/$your_name
. ./dockerfiler.sh
docker build -t $your_name .
docker run -it --rm --name my-running-app $your_name
这里要注意一点如果git密码里有@的话需要手动转化成%40,不然Git无法识别哪个是真正的仓库地址
dockerfiler.sh脚本内容如下:
FROM python:3.7-alpine
. ./test.sh
WORKDIR /opt/ups/$your_name
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD [ "python", "./manage.py" ]
shell脚本引入文件需要注意的地方:
- 两个点之间,有空格,千万注意。例如:. ./test.sh
- 两个脚本不在同一目录,要用绝对路径。
- 被调脚本可以没有可执行权限,调用脚本必须有可执行权限