Skip to content

Latest commit

 

History

History
187 lines (116 loc) · 7.58 KB

README.md

File metadata and controls

187 lines (116 loc) · 7.58 KB

IMI Showtime Website

The official IMI showtime Website: https://showtime.f4.htw-berlin.de/

Builds & Deployments

Staging

every push to master, including drafts: https://htw-imi-showtime.github.io/staging

deploy staging (https://htw-imi-showtime.github.io/staging)

gh pages-build-deployment

Preview

every push to master, without drafts (same as production): https://htw-imi-showtime.github.io/preview

deploy preview (https://htw-imi-showtime.github.io/preview)

gh pages-build-deployment

Production

deploy production (https://showtime.f4.htw-berlin.de/)

Documentation

Adding your project presentation

A detailed step by step guide is here.

Short Explanation
  1. Fork the project to your GitHub account.
  2. Clone the project: (cloning the archive submodule is optional)

2.a Without archive submodule:

git clone --depth 1 [email protected]:<your-account>/showtime-website.git
cd showtime-website
git submodule update --init project-archive

2.b Complete with archive submodules:

git clone --depth 1 --recurse-submodules [email protected]:<your-account>/showtime-website.git
cd showtime-website
  1. Install Hugo (extended)

  2. Create a branch. Never change main directly, but keep it synced with the main repository and discard the branch.

  3. Create a new project directory for your project by duplicating either the bachelor's or the master's sample project directory:

cp -R content/ws23/bachelor/b0-template/ content/ws23/bachelor/b#-your-project/
cp -R content/ws23/master/m0-template/ content/ws23/master/m#-your-project/
  1. Fill out your project's homepage content/ss24/<bachelor/master>/##-your-project/_index.md and any subpages in your project's directory you'd like to keep. Delete the subpages you don't need.\

  2. Preview your changes locally to make sure everything looks fine by executing hugo server --buildDrafts and visiting http://localhost:1313/ in your browser. (of use make)

  3. Add your changes to the git index, commit them to the repository and push them to GitHub.

  4. Create a new pull request on GitHub that merges your version of the repo's master branch onto the htw-imi-showtime master branch. For more info see pull_request.md

We are using the Forking Workflow.

Note: we are essentially using the "Forking Workflow" as described in the Atlassian Documentation here: https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow

I've started a documentation on how we should use the forking workflow here:

https://github.com/htw-imi-showtime/showtime-website/blob/documentation/doc/forking-workflow/index.md (will not be merged to main due to file sizes)

You can find a short documentation about updating your fork and clone here

Deploy your Fork on GH-Pages

You can easily deploy your fork on GH-Pages by following the instructions here: http://about-hugo.github.io/hugo/quick/

The workflow is ".github/workflows/gh-pages-action.yml"

For a detailed Description of the Website Release process, see this page: release-process.md

Updating your Fork

You can find a documention in the following sub-page: doc/update.md

Including additional content

In addition to the required content you can add sub-pages.

Please consider:

  • the Urheberrecht for all material you provide: Include the information (source, creator etc.) in the caption
  • please reduce the file sizes for all images and videos that are included in the site

Content Guide

A comprehensive guide to using content blocks, images, galleries, videos and GitHub gists can be found here.

Site Administration

Adding a new semester

This repository contains a utility script to transition the website to a new semester. It changes the semester set in the config file (current_semester in config/_default/config.toml) and scaffolds the folder structure for the projects of the new semester.

./new_semester.sh <semester>

Example: Transitioning to summer semester 2022

./new_semester.sh ss22

Deployment Setup

Staging and Production Preview

Every push to main results in a deploy to

Staging Deployment Details

Every push on main is deployed to the Github Page in the repo https://github.com/htw-imi-showtime/htw-imi-showtime.github.io

see the workflow definition in .github/workflows/deploy-staging.yml

the secret ACTIONS_DEPLOY_KEY in https://github.com/htw-imi-showtime/showtime-website/settings/secrets/actions

is defined in https://github.com/htw-imi-showtime/htw-imi-showtime.github.io/settings/keys

Production

For production, each github release is build and scp'ed to showtime.f4.htw-berlin.de

see the workflow definition in .github/workflows/deploy-production.yml

for the scp, the rsa key credentials must be set correctly in the Repo's Secrets - generate new ones with root access on the server if lost.

Create a new Release:

  • Tag the according commit and push the tag: git tag 2021.1.2 git push

with 2021.1 for the first semester in 2021 (summer) and .2 for the second version.