Skip to content

Latest commit

 

History

History
60 lines (42 loc) · 3.17 KB

README.md

File metadata and controls

60 lines (42 loc) · 3.17 KB

LMS Content

Git workflow

Git workflow

Changes in this folder are automatically detected by distelli (Puppet pipelines) and will publish to the learndot staging environment. Each commit in github will cause a "build" job to run and detect the changes and publish the entire contents of the learning component. This means changes to summary.md also results in content.md and any metadata to be updated in learndot.

The build server resides on the Puppet SLICE infrastructure and is named learndoit. Once connected to the corporate network, log in to the machine using the training.pem private key like so:

ssh -l centos -i training.pem 10.32.171.145

Folder structure

Learning component folder structure

Folders in this directory are representative of learning components. As learning component should be reusable, a flat structure is preferred. However some legacy content in this directory exists and is organized into sub folders.

All fields except summary,content and discription exist as key value pairs in the metadata.json file. A template for this file exists here.

The summary,content and discription fields are represented as markdown files. See the diagram above.

Ensure that you create both a unique name and urlName keys in your metadata.json file. For advanced users the rake command will automate this, but requires you have the ruby gems setup on your laptop correctly.

Publishing to production

Git workflow

All commits made to this repo that contain changes to the learning components in this folder are pushed to staging. Production changes are published by new releases being created on the repo. These must be tagged with a specific name format (see below).

Step-by-Step Process

  1. Tag release in the repository using datevar convention with a numeric suffix and prepended by the letter v: e.g.: v2018.03.01.01
  2. Add a description of what the release contains and then publish release. This tag will represent any changes since the LAST push to production. Make your notes as complete as possible.
  3. Ensure you are in the repo folder on your machine to run the following rake tasks.
  4. To ensure you have all required gems, you may need to run bundle install the first time you push to production.
  5. Run a diff using either rake migrate:production on the command line or using compare in GitHub: e.g.: https://github.com/puppetlabs/courseware-lms-content/compare/v1.1...v2018.03.30.01
  6. On the command line, run rake download:repos.
  7. To finish the process and push all your changes live, run rake release:production.
  8. Check your content in the production site.