-
Notifications
You must be signed in to change notification settings - Fork 31
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
Speed up deployments #2562
Comments
To avoid unnecessary work the deployment process will build the Dashboard (JS) and compile the application once, then change only the config file |
Related to a pull based approach, we have successfully deployed a Flow instance using the Google App Engine Admin API The idea is that we can create a new version (or update an existing one) by making a The |
There are some unknowns on how to translate the
|
- We use a docker container to have more control of the environment - Every time a developers wants to deploy, she/he needs to login - The current approach is to deploy artifacts from local disk, in a next iteration we'll download a .war from a bucket
- We expect that the ${version}.war file exists in the same bucket used for deployments
* To avoid developer local changes we clone the config repository as part of the deployment * To avoid issues with ssh keys we clone the repo using https, but requires the developer with 2FA enabled, to have a personal token to be used as password * After POST to a known instance (akvoflow-dev2) we attempt to verify that the operation was done
* When running the script we can export GH_USER and GH_TOKEN to clone the config repo * We use parallel to execute the `deploy_instance` function * Mount $PWD/tmp as /tmp inside the container to keep the logs
- Remove extra checks for deployment
Using manual scaling as per configuration in akvoflow-59
- Run `delegated` mount to speed things up in MacOS https://docs.docker.com/docker-for-mac/osxfs-caching/ - Use `-z` to check for existing GH_USER and GH_TOKEN variables
@iperdomo There is a small issue with the script. Even when the GH_USER and token environment variables are set, I still get a prompt to enter them. |
- Instead of dealing with empty 'null' values via `-z` comparison we use a predefined missing value `unknown`
When pushing the .jar file to clojars, a new file gets created: `maven-metadata-clojars.xml.sha1` this triggers the CI cache to be refreshed
The current approach to make deployments is a serial process. Going one by one and calling
ant update
. This process makes unnecessary work as the only change between instances isappengine-web.xml
. It seems that deploying all active instances take ~8h which is too much.We need to:
The text was updated successfully, but these errors were encountered: