Question: dev/deploy workflow
See original GitHub issueHi. I’m looking for some guide/tutorial on using pipenv in development-delivery cycle, currently I’m missing two key points in docs:
- What is proper way to deploy microservice based on Pipfile[.lock] (i.e., how to build docker container?).
My feeling is that during deployment only .lock should be read, as described set of dependencies developed/tested with, but it’s not clear what’s the proper way:
sync
seems to be appropriate (reads .lock file, installs packages), but doesn’t support--system
(addressed in #2227) — which is default approach while building containersinstall --system
is ok for installing in container, also support--deploy
— is it defferent fromsync
? Docs says “This will fail a build if the Pipfile.lock is out–of–date” — does it check against PyPI or Pipfile?install --ignore-pipfile
— is it the same assync
?
- What’s the way to use editable installs while developing? Pretty often I develop library and app (using that library) at the same time — to ensure compatibility/ease of interface use/etc.
While working with pip I can do one-timer like
pip install -e path/to/local/lib
, or manage somerequirements-dev
that’s local for every developer. During dev install we can feed all requirement files, for CI — only libraries from upstream. I’m looking for something similar withpipenv
— support for[dev-packages]
is perfect in terms of handling priorities during install and locking, but I can’t put there any “per developer”-specific configuration. And afaik,pipenv
can not work with multiple Pipfiles.
Issue Analytics
- State:
- Created 5 years ago
- Comments:9 (4 by maintainers)
Top Results From Across the Web
Questions about the new development workflow - Help me!
Hi. I'm stepping into the new development workflow and I'm trying to match some of the tasks we actually do with the behaviour...
Read more >Dev Test Production Workflow - Alpha Anywhere Documentation
We can roll back the production deployment. If a problem shows up in production and needs to be addressed immediately, you can roll...
Read more >Deployments Best Practices
This guide explains how to better deal with deployments in your development workflow and provides some best practices for deployments.
Read more >Use the Pantheon WebOps Workflow
Understand the Pantheon WebOps workflow, and how to use separate Dev, Test, and Live environments for your Drupal or WordPress sites.
Read more >Retrieve and Deploy a workflow using ANT
I would like to deploy this workflow from the developer sandbox to our fullcopy sandbox using ANT. However, I am not seeing any...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I just ran into this, and the steps I am doing have the problem that are creating a virtualenv inside the docker, which is not nice, but better than the alternatives
pipenv sync
(Still waiting for #2227, @frostming seems to have it fixed in https://github.com/frostming/pipenv/tree/2010-do-sync)pipenv run
(Waiting for #2227)In theory the steps should just be:
pipenv sync --system
Using
pipenv install --system --ignore-pipfile --deploy
Doesn’t work, and I have no idea how to workaround on it.
Using
pipenv install --ignore-pipfile --deploy
Doesn’t work,
Using install alone
It will regenerate the lock, which makes no sense. I would rather use a
pip freeze
outputOk, I’ll try to create a good case for this at some point.