-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Circular dependency in build/test/deployment pipeline #25
Comments
The CI pipeline would ideally run the app's test suites in a totally isolated environment (eg a Docker container just for the app) and follow up by packaging from that. Options for packaging the apps with their dependencies are: OS packages - pkgr or Omnibus
Linux container images: Docker + Heroku buildpacks
In all cases, the hosted options all provide distribution (package repository / Docker registry) but we would have to provide this were we to use our own build pipeline. Additionally, http://packager.io and http://quay.io build the package, but neither appears to support a test step to use as real CI. If we stick to Jenkins, we have to build these the pipeline and distribution ourselves, but I do not know of any open-source CI services which will do both packaging and testing in one step. |
This hasn't been used in a long time since the cookbook/installer is now external to the application. #25
adam_cookbook is supposed to be an installer, based on Chef, for Adam Snark Rabbit and his dependencies, either as an all-in-one or selecting individual components. There are several problems with this, and one is a circular dependency.
Adam has two types of dependencies:
Currently the app project uses the cookbook to provision development/testing environments for the following reasons:
The installer, of course, also relies on the content of the application repository in order to actually install it. This means coordination overhead between the two projects and being circular this is tricky.
Ideally, the close concerns for testing the apps should be contained with the apps themselves, and the apps should be packaged in such a way that they have no internal dependencies that require separate installation, making deployment easier. The external test dependencies should be provided independently from the installer, either composition of sub-projects or as loosely-related resources provided either by the CI system itself or by other means.
The text was updated successfully, but these errors were encountered: