jkniest / template-app Goto Github PK
View Code? Open in Web Editor NEWTemplate for new laravel web applications
Template for new laravel web applications
Add Sensiolabs Security Checker & https://github.com/arminc/clair-scanner to circleci pipeline (only develop or something)
Install Drone CI on one primary server and build the drone configuration
Increase the hash method to argon2i instead of bcrypt
The new version of any release should completely be build inside the docker container on the pipeline. This has multiple advantages:
The only big disadvantage is (because of zero downtime deployments and rollbacks):
production
tag since when I am going to rollback to an old release the old docker containers should be used.Some notes:
tag:production
job must be modified to tag the branches like this: production-{{uniqueIdOfThisRelease}}
docker-compose-dev.yml
so that it wouldn't be used inside the production environmentbin/compose
command which handles the loading of multiple compose files nice and easyEvaluate https://github.com/php-pm/php-pm and add it to the docker setup
Build one image for each branch that is being build.. to get the normalized branch name see also:
https://circleci.com/docs/2.0/env-vars/#example-configuration-of-environment-variables
If all tests are successful re-tag the images with the staging
tag. Also change master
-Tag to production
master
-Tagging to production
staging
Images if the target branch is developRealisieren von Zero-Downtime Deployments im Stile von Envoyer, etc.
Dabei schauen, ob und wie man das mit der DB lösen kann
Add docker healthchecks scripts to each service which doesn't support this by default
The phpunit testing suite shouldn't use a dedacted postgres_testing service. Instead a simple new database template_testing
should be created and used.
We should support basic auth in the .env file. So for example, we could do something like:
NGINX_BASIC_AUTH_USER=staging
NGINX_BASIC_AUTH_PASSWORD=secret
Only then the basic auth should be enabled on traefik
Update to PHP 7.4 in the docker containers (if laravel and the packages supports it yet).
Add a staging deployment to the circleci pipeline as a template for new projects.
Currently we need to do some manual steps to deploy. We must make an initial git clone and copy the .env file. In the best case all of this should happen completly automatically and we can run the deployment on a new server without doing some extra work.
Deployments are currently marked as "passed" if something via ssh went wrong.
Remove the traefik-data
volume from the docker-compose file
Update von Inertia:
Install laravel ignition
Run a circleci job simutanely to the build job which cleans up the registry itself using:
Rules should probably be:
name_regex
-> should match 376279b6-1f96-4114-b61c-688346b99a34
older_than
-> 1dIf a production build is made, automatically tag the current image as "production" or "master" and push it back to the registry.
Also make IMAGE_TAG dynamic (in .env) for the compose file. So the production environment can load the images with the production tag and the staging / local development can load "develop".
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.