Hi, I have this Travis config:
language: python
python: "3.7.5"
cache: pip
install: pip install -r requirements.txt
script: pytest -q test/tests.py
before_deploy:
- "sed -i '/config.py/d' .gitignore > .gitignore"
- "sed -i '/credentials.json/d' .gitignore > .gitignore"
- "git add .gitignore"
- "git commit -m 'Update .gitignore.'"
deploy:
provider: heroku
api_key:
secure: key_is_here
app: dadyarri-ralph-2
I don’t want to see config.py
and credentials.json
in Github repo, but i need them in Heroku. How can I do that, and why current config isn’t working (Travis don’t print any warnings but code at Heroku fails: ModuleNotFoundError: No module named 'config'
)
It is in my config. But i dunno what i should put into it. This version isn’t working
I see. I didn’t catch it on my first reading. I note here that the configuration you’ve shown is not properly formatted and may contain some more errors.
Furthermore:
-
The default deployment strategy to Heroku is API. If you are relying on .gitignore
to work some magic, this may not be the right choice.
-
Do you know if these sed
commands you have in before_deploy
work? My understanding is that, with > .gitignore
, bash would first clean out the content of the existing .gitignore
file before invoking sed
. I think the result would be such that .gitignore
is empty.
$ cat .gitignore
ABC
DEF
$ sed -i '/A/d' .gitignore > .gitignore
$ cat .gitignore
$
sed
's -i
flag should automatically take care of this, so you should just call sed -i …
without I/O redirection.
In repo it formatted properly.
- It should use api, i dont change it to git, dont know, why it’s honor
.gitignore
2.I’ve fixed it after this question ( removed redirect output). Dont working too. More, it’s now outputs fatal: pathspec 'config.py' did not match any files
Upd.: what if this just because config.py and credentials.json wasn’t on github? Then, how to trigger travis with local repo?