Skip to content

Releases: patternhelloworld/docker-blue-green-runner

Enhance the reliability of state assessment logic

24 Apr 07:33
Compare
Choose a tag to compare
  • Enhance the reliability of state assessment logic in accordance with the contingency plan
  • Update README.md

GitLab Container Registry & CRLF issues & REDIRECT_HTTPS_TO_HTTP on .env

02 Mar 17:10
Compare
Choose a tag to compare
  • Indicate CRLF issues for Windows 10 WSL2 in README.md.
  • Changing 'REQUEST: -https-> Nginx (SSL set up) -> https -> Spring Boot (JKS set up)' to 'REQUEST: -https-> Nginx (SSL set up) -> http -> simple Spring Boot' is possible, as the REDIRECT_HTTPS_TO_HTTP setting has been added to .env.
  • Apply the Nginx Contingency Plan where necessary as well.
  • Find the GitLab Container Registry module (push-to-git.sh) in README.md.

Server Unaffected by Consul & Registrator Errors, Continues Updating Source Codes Successfully

18 Feb 07:06
Compare
Choose a tag to compare
  • Enhance resilience & fault-tolerance on Nginx
  • One of Nginx Contingency Plans.

Urgent Fix : Indicate Consul Version

07 Feb 14:15
Compare
Choose a tag to compare

The current version of Consul is "latest," which has caused conflicts with "Registrator." Therefore, I have updated it to a correct version.

Tested stable, except for 'ORCHESTRATION_TYPE=stack

13 Nov 14:44
Compare
Choose a tag to compare
  • Separated the source codes (from run.sh, util.sh to use-nginx.sh, use-consul.sh, use-app.sh).
  • Added additional environment variables:
  ORCHESTRATION_TYPE=compose
  ONLY_BUILDING_APP_IMAGE=true
  DOCKER_BUILD_MEMORY_USAGE=1G
  USE_NGINX_RESTRICTED_LOCATION=false
  NGINX_RESTRICTED_LOCATION=xxx
  • Introduced an Experimental Docker Swarm Module ('ORCHESTRATION_TYPE=stack').
  • Implemented robust infrastructure-layer recovery:
    • emergency-consul-down-and-up.sh: Stops and removes all consul-connected containers to recover the Consul network and containers.
    • emergency-nginx-restart.sh: Recovers Nginx by reorganizing it from scratch.
    • emergency-nginx-down-and-up.sh: Performs the same function as the previous script."

The reinforced checking states logic

18 Sep 04:41
Compare
Choose a tag to compare
The checking states logic is now based on scores.
Add checking states scripts (See the README)
Add the checking states logic one more before Up the Containers.

Improved Availability of Blue-Green

14 Sep 15:33
Compare
Choose a tag to compare

Add property SKIP_BUILDING_APP_IMAGE
Make the logics of self-signed SSL safe (php-sample-real on README)
Clarify Terms (Terms on README)
Critical error fix on reset.sh(self-rollback during the deployment)

Change logic for setting which state to deploy & Add one line to emergency-nginx-restart.sh

08 Sep 07:11
Compare
Choose a tag to compare

fix : change logic for setting which state to deploy & ! emergency-nginx-restart.sh & feature : add tests module

State : Prioritize Consul-pointing. No use any more 'check_availability_inside_container_speed_mode' in 'cache_all_states'.
Stopping Nginx : for, emergency-nginx-restart.sh, run docker-compose down first and then docker-compose up -d, in some cases, it was not fully restarted.

Can set a different port number for your app & Make Checking States Phase much safer

07 Sep 05:12
Compare
Choose a tag to compare

feature : Can set a different port number for your app & !Make Checking States Phase much safer

Can set a different port number for your app

[EXPOSE_PORT,APP_PORT]
If you set PROJECT_PORT=[Number], EXPOSE_PORT,APP_PORT are all set to be [Number]
Samples : PROJECT_PORT=[18200,8200], PROJECT_PORT=8200
PROJECT_PORT=80

!Make Checking States Phase much safer

Managing Multiple Projects

06 Sep 08:55
Compare
Choose a tag to compare

How to upgrade your current docker-blue-green-runner (for previous users)

  • You would like to use the latest version, so you use an upgraded version of 'docker-blue-green-runner', set NGINX_RESTART=true on your .env only one time, then, run
git pull origin main
bash run.sh
  • However, as you know, NGINX_RESTART=true causes a short downtime. Make sure NGINX_RESTART=false at all times.
  • This three files are no longer used (but it is OK if you don't manually remove them.)
   rm docker-compose-app-real.yml
   rm docker-compose-app-real.yml
   rm docker-compose-nginx.yml

Managing Multiple Projects

  • Store your .env as .env.ready.* (for me, like .env.ready.client, .env.ready.server)
  • When deploying .env.ready.client, simply run cp -f .env.ready.client .env
  • bash run.sh
  • If you wish to terminate a project, run bash stop-all-containers.sh