cotech-website/README.md

90 lines
3.1 KiB
Markdown

# 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](https://docs.docker.com/install/) (CE is fine) installed and running,
and [docker-compose](https://docs.docker.com/compose/install/) installed,
then:
git clone git@git.coop:cotech/website.git
cd website
docker-compose up -d
And visit [localhost:4000](http://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](http://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](https://dev.coops.tech).
### Production
You need to manually deploy the changes from dev to production.
1. View the changes on [dev.coops.tech](https://dev.coops.tech) and ensure you're happy for them to be pushed to production.
2. Visit [GitLab environments](https://git.coop/cotech/website/environments). __NOTE.__ If you don't have access to the environments page then post a message in the [Website category of the CoTech forum](https://community.coops.tech/c/cotech/website) 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](https://git.coop/cotech/website/issues) in the repository. Feel free to add more, discuss or claim any of these issues to work on.
[CoTech Website]: https://www.coops.tech/
[Jekyll]: https://jekyllrb.com/