5 ms·
Our primary goal is to get the Python community talking about continuous deployment. Our particular implementation is less important. In fact, we'd like to see
by themattrix 13y ago
Our primary goal is to get the Python community talking about continuous deployment. Our particular implementation is less important. In fact, we'd like to see this project die entirely and have its ideas live on in the standard Python tooling.
That being said, here's an overview of our implementation from the wiki (https://github.com/teamfruit/defend_against_fruit/wiki/How-To#overview https://github.com/teamfruit/defend_against_fruit/wiki/How-T...):
Defend Against Fruit aims to provide a quick and simple way to package, test, and publish a Python package from within a virtual environment (virtualenv). It boils down to running the following command inside the project directory:
> ci --publish
If not previously run, this script will handle the virtualenv bootstrapping from (nearly) scratch, requiring only a base Python installation and a few configuration files.
Afterward—and on every subsequent run—the script enters the virtualenv, runs the package's unit tests, builds the package, and publishes it to the artifact repository along with dependency metadata. Each step is only run if the prior step succeeded, so anyone consuming this artifact can be sure it has passed all of its unit tests.
As part of Continuous Deployment (CD), we need a mechanism to promote artifacts to higher levels of visibility. Artifactory Pro exposes just such a mechanism through its REST API. We have manually verified the build information Defend Against Fruit publishes is sufficient for promotion.