我在GitHub上的私人仓库中创建了一个示例项目[Django / Python]。最近,我为它添加了一个示例.travis.yml文件,以使CI滚动。现在的问题是,在本地计算机上运行命令pytest
时,我的测试[我正在使用Pytest套件]通过。但是由于上述错误,我无法在Travis
上运行我的测试套件。在这方面的任何帮助将不胜感激。
这是我的示例.travis.yml
文件。
language: python
sudo: false
python:
- '3.6.4'
services:
- mysql
addons:
apt:
sources:
- mysql-5.7-trusty
packages:
- mysql-server
cache:
directories:
- $HOME/.cache/pip
before_install:
- sudo mysql -e "use mysql; update user set password=PASSWORD('123123') where User='root';FLUSH PRIVILEGES;"
- sudo service mysql restart
before_cache:
- rm -f $HOME/.cache/pip/log/debug.log
install:
- pip install -r requirements/development.txt
before_script:
- sudo mysql -e 'CREATE DATABASE my_database;'
script:
- flake8
- pytest --cov -v --tb=native
notifications:
email:
on_success: change # [always|never|change]
on_failure: always # [always|never|change]
只需再添加一条信息即可。我的数据库设置如下:
settings.py
。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'my_database',
'USER': 'root',
'PASSWORD': '123123',
'HOST': 'localhost', # Or an IP Address that your DB is hosted on
'PORT': '3306',
}
}
答案 0 :(得分:0)
在您的.travis.yml
中,使用它来更改密码:
before_install:
- sudo mysql -e "use mysql; update user set authentication_string=PASSWORD('123123') where User='root'; update user set plugin='mysql_native_password';FLUSH PRIVILEGES;"
- sudo mysql_upgrade -u root -p123123
- sudo service mysql restart
或者总是最好使用root
或travis
作为用户名,并将密码留空。