我正在尝试将 API 自动化存储库容器化以在 ci/cd(gocd) 上运行它。下面是Dockerfile
内容。
FROM alpine:latest
RUN apk add --no-cache python3 \
&& pip3 install --upgrade pip
WORKDIR /api-automation
COPY . /api-automation
RUN pip --no-cache-dir install .
COPY api_tests.conf /usr/.ops/config/api_tests.conf
ENTRYPOINT ["pytest" "-s" "-v" "--cache-clear" "--html=report.html"]
下面是api_tests.conf
配置文件的内容。
[user]
username=<user_name>
apikey=<api_key>
[tokens]
token1=<token1>
api_tests.conf
是配置文件,它包含敏感数据,如 API 密钥、令牌等(注意:配置文件未加密)。目前我正在将此配置从 repo 复制到/usr/.ops/config/api_tests.conf
容器中的以下位置,但我不想这样做,因为存在安全问题。那么api_tests.conf
当我从 ci/cd 机器运行容器时如何复制这个文件(这意味着,从 Dockerfile,我需要删除指令COPY api_tests.conf /usr/.ops/config/api_tests.conf
)。
我的第二个问题是,如果我使用命令创建一个秘密文件docker secret create my_secret file_path
,我如何api_tests.conf
在运行容器时复制这个秘密文件。
注意:将api_tests.conf
文件复制到容器后,我需要运行命令“pytest -s -v --cache-clear --html=report.html”
请提供您的意见。