cotech-website/README.md

3.1 KiB

CoTech Website

Introduction

This is a port of the current Wordpress version of the CoTech Website to a statically-generated site using Jekyll.

Run the site locally

You can run the site on your computer as if it were live online using Jekyll. You will need git and ruby installed on your machine to do this. Then clone the repository

... using docker

Make sure you have docker (CE is fine) installed and running, and docker-compose installed, then:

git clone git@git.coop:cotech/website.git
cd website
docker-compose up -d

And visit localhost:4000 to view the site.

There are two docker volumes used here:

  • vendor - caches the ruby gems even if you recreate the containers
  • site - holds the built site files to share them with httpd (and not clutter your local filesystem)

A few useful things you might want to do:

# check the status of the containers
docker-compose ps

# stop all the containers (but don't remove them)
docker-compose stop

# stop and remove the containers (but leave the volumes)
docker-compose down

# remove everything
docker-compose down -v

# bring it back to life from any state you happen to be in
docker-compose up -d

# run some ruby/bundler commands
docker-compose run jekyll bundle --version
docker-compose run jekyll bundle update
docker-compose run jekyll bundle exec jekyll --help

... directly on your machine

Install the dependencies for the project

git clone git@git.coop:cotech/website.git
cd website
gem install bundler
bundle install

Run a local web server so that you can view the site

bundle exec jekyll server

And visit localhost:4000 to view the site.

Note: not all the images will load as there is no .htaccess support locally

Deployment

Dev/Staging

When changes are committed to the master branch the .gitlab-ci.yml file triggers the building of the site and then the copying of the results to dev.coops.tech.

Production

You need to manually deploy the changes from dev to production.

  1. View the changes on dev.coops.tech and ensure you're happy for them to be pushed to production.

  2. Visit GitLab environments. NOTE. If you don't have access to the environments page then post a message in the Website category of the CoTech forum to ask someone to do it for you.

  3. Click the "Play" icon on the right of the screen in the row for the "dev" environment and choose "deploy:production".

  4. Your changes will be visible in production when the commit listed in the "production" environment row matches the commit listed in the "dev" environment row.

Contributing

There's a list of bugs and improvements in the repository. Feel free to add more, discuss or claim any of these issues to work on.