我正在使用gitlab
在一个自托管的gitlab
示例上的ci/cd管道中运行测试。我开发了一个自定义软件包,它在setup.py
中安装requirements.txt
中列出的一些依赖项。除了这些依赖项,还有另一个我开发的自定义软件包。我的ci/cd文件
stages:
- check
before_script:
# here you can run any commands before the pipelines start
- apt-get -qq update && apt-get -qq install -y python3.9
- apt-get install -y libpq-dev && apt-get install -y python3.9-dev
- apt-get install -y build-essential && apt-get install -y gcc && apt-get install -y postgresql
- apt-get install -y postgresql-contrib && apt-get install -y ffmpeg libsm6 libxext6
- pip install tox
check:
stage: check
image: gitlabds.xxxx.com:5050/xxxxx/buildimage:latest
environment: prod
services:
- name: docker:19.03.8-dind #20.10.7
alias: docker
only:
- master
script:
- tox
Tox.ini
[tox]
envlist =
{python3.9}
[testenv]
passenv = *
setenv =
variable i need
deps=
pytest
-rrequirements.txt
commands=
pytest
requirements.txt:
certifi==2020.6.20
chardet==3.0.4
curlify==2.2.1
facebook-business==13.0.0
facebookads==2.11.4
idna==2.10
mock==4.0.2
numpy==1.19.0
pandas==1.4.2
psycopg2==2.9.3
pycountry==20.7.3
python-dateutil==2.8.1
pytz==2020.1
requests==2.24.0
six==1.15.0
urllib3==1.25.10
emoji==0.6.0
vertica-python==0.8.0
pip==20.2
PyYAML==5.3.1
proto-plus==1.19.6
MarkupSafe==1.1.1
joblib==0.16.0
Jinja2==2.11.2
six==1.15.0
jinjasql==0.1.8
multiprocessing_logging==0.3.1
google-ads==15.1.1
loguru==0.5.3
python-facebook-api-custom @ git+https://gitlabds.xxxxx.com/datascience/python-facebook-custom.git
毒检结果显示
Running command git clone --filter=blob:none --quiet https://xxxxx.esprinet.com/xxxx/python-facebook-custom.git
/tmp/pip-install-ty 2 wx 7 xj/python-facebook-api_9324e2e7179542a882e9b65b22d401c4致命错误:无法读取“https://www.example.com”的用户名gitlabds.esprinet.com:没有此类设备或地址
基本上他找不到用户名和密码来克隆git repo。我不能删除requirements.txt
中的自定义包安装,因为否则我的自定义包将不会安装,我需要它来运行一些测试。
我是否需要在ci/cd中以变量的形式传递用户名和密码(安全与否)?这些变量应该放在哪里,应该如何命名?
谢谢
1条答案
按热度按时间qvtsj1bj1#
看起来GitLab和GitHub在变量和秘密方面有着相似的能力。https://docs.gitlab.com/ee/ci/variables/
我在GitHub中执行的步骤如下
1.在GitHub中设置CI/CD PAT(个人访问令牌)
1.设置一个名为CICD_GITHUB_TOKEN的密码,其中包含该PAT令牌。
1.在Git工作流env部分添加以下内容
我发现您的
passenv = *
正是我缺少的部分。