* Fix demo deploy and update docs.
* Make it work with deis1 and deis2
* Enforce max 63 char app names
* Fix SSL redirect for Deis v2 clusters. Allow settings per cluster.
* Improve env file handling and combination for demo deploys
* Use new envcat utility
* Deploy our dev, stage, and prod apps to virginia and tokyo clusters
Turns out LinkChecker checks for a good version of python-requests
in a dumb way, so it sees version "2.13.0" as being lower than
"2.2.0". Also the project seems to have been abandoned, so there
isn't a newer release, though it seems this issue has been fixed
in the master branch.
Easiest fix is to just downgrade requests to the latest version
that is < 2.10.0, which is what I've done.
This means that we can push dev l10n to www-dev and prod
l10n to stage and prod. Currently they all get prod l10n
at deployment then dev updates when cron runs.
* More simple and streamlined base image build file
* Use a builder image to decrease the size and security footprint of running containers
* Make demos more prod-like
* Add l10n for prod builds via docker commit
* Specifically include only those files required for the running site
* Tests in circleci now use the same docker build and test scripts
* Add lock for docker image building per git hash
* Add environment variable support to jenkins.yml
* Add headless and firefox integration tests to prod deploys
* Run integration smoke tests before deployment
* Add jenkins.yml for config and other groovy files for functions.
* Make the ircNotification function more flexible
* Add locking for deploy/test steps
* Allow a branch config to require a commit be tagged for deployment
* Deploy all apps in a region before moving to next region
* Update deployment pipeline docs
* Add Jenkinsfile milestones
* Optimize steps for BlueOcean
The new Jenkins Multibranch Pipeline will now start the bedrock
build jobs instead of having CircleCI do it. This wil mean
having to push to a "prod" branch to trigger a prod deployment,
but it should be much better and faster than waiting for Circle.
Store the last successfully updated git hash in the
database. As long as we only update said hash upon
successful completion of an import it should try again
next time. Also switch product-details and security-
advisory import commands to simply update all files
when a git update is detected.
* Kept the data file validation just in case. Can be removed later.
* Add tests for update_product_details_files command
* Switch sync_all to use new product-details command
This was done before using a different process type in
Procfile, but only "web" and "cmd" types are served as
HTTP traffic, so that wouldn't work. This new direction
should work for any instance for which we'd like to use
supervisord.
Also reunified the cron.py file and used arguments to
determine which jobs are scheduled.
This will allow us to run supervisord in www-dev
that will run the site and a process to keep l10n
updated. It allows us to run this without also running
the other cron tasks that update the DB in every container,
since we use a separate clock container for that. Demo instances
will also run the DB update process via supervisor.
The content of the hashed CSS files is different from the
non-hashed versions. In the former the references to other
files (e.g. images) have been changed to their hashed versions.
We want to keep these versions since they are served with far-future
cache headers and thus reduce our server loads.
- Change the base image to quay.io/mozmar/base
- Upgrade prod node dependencies
- Switch to yuglify for js and css minification
(cherry picked from commit 0ab71c8ddf)
* Alter config to start wsgi process even without database server
* Change some templates to avoid relying on db data
* No longer run migrations on container start