Giter Site home page Giter Site logo

pcrews / dcos-website Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dcos/dcos-website

0.0 1.0 0.0 320.42 MB

Source for the official DC/OS website

Home Page: http://dcos.io

License: Apache License 2.0

JavaScript 84.92% Dockerfile 0.02% Makefile 0.01% Shell 0.22% HTML 5.93% Ruby 0.03% CSS 8.87%

dcos-website's Introduction

DC/OS website

Please do not merge this patch!!!!!!!!

Environment URL Build Status
Production https://dcos.io Prod Build Status
Development https://dev.dcos.io Dev Build Status

Issue tracking

Please report issues in the DCOS JIRA instance (Project: DCOS_SITE). Issues on GitHub will be disabled soon.

Table of contents:

Contribution Workflow

  1. Create a repo fork in GitHub

  2. Clone the dcos/dcos-website repo

  3. Add repo fork as remote repo:

    git remote add fork https://github.com/<github-user>/dcos-website
    git fetch fork
    
  4. Checkout the develop branch:

    git checkout develop
    
  5. Create a new feature branch:

    git checkout -b feature/<feature-name>
    
  6. Make local changes.

  7. Test your changes locally.

  8. Add and commit changes:

    git add -p .
    git commit
    
  9. Rebase repo fork to include recent dcos/dcos-website:develop changes. Rebasing a repo (instead of merging) will keep your fork commit history clean and move all your changes to the top of the commit log.

    git fetch origin
    git pull --rebase origin develop
    

    Tip: May require resolving conflicts.

  10. Push changes to repo fork feature branch:

    git push -u fork feature/<feature-name>
    
  11. Create a pull request from the repo fork feature branch to dcos/dcos-website:develop.

Once changes are accepted and merged to the develop branch, CI will push the updates to https://dev.dcos.io/.

Testing your updates locally

  1. Build a local version of the doc site. The DC/OS website can be built locally using Node or run in an Nginx Docker container.
  • Using Easy Mode

    1. Install Docker Toolkit

    2. Run dev server

      make
      
    3. Go to running server

  • Using Node

    1. Install Node

    2. Install dependencies:

      npm install
      
    3. Launch local dev server:

      npm start
      

      (opens dev server in browser)

    4. Verify changes on localhost server (updates automatically when files are changed).

  • Using an Nginx Docker image

    1. Install Docker Toolkit

    2. Configure your shell:

      eval $(/usr/local/bin/docker-machine env default)
      
    3. Build the website server Docker image:

      ci/docker-build-image.sh
      
    4. Run the website server in Docker:

      SERVER_CID="$(ci/docker-run.sh)"
      
    5. By default, the server runs on port 80. You can find the server IP by running

      docker-machine ip default
      
    6. Stop the website server:

      docker rm -f "${SERVER_CID}"
      

Promoting site to live

To promote the dev site to live, rebase develop to master:

$ git checkout develop
$ git pull
$ ci/promote.sh

Continuous integration will handle deploying updates (ci/deploy.sh), updating redirects (ci/update-redirects.sh), and updating the S3 website config (ci/update-website-conifg.sh).

Managing redirects

There are two types of redirects, stored in two different files:

  • Page Redirects: https://github.com/dcos/dcos-website/redirect-files
  • Prefix Redirects: https://github.com/dcos/dcos-website/redirect-prefixes

That both use following format:

/from/ /to/

Both types of redirects are processed and used in the S3, npm/gulp, and docker/nginx environments.

The "current" version of DC/OS that corresponds to /docs/latest/ is managed in the redirect-prefixes file.

Versioning

  • To create a new version picker dropdown item, modify layouts/docs.jade and gulpfile.js.

  • When a new version GAs, modify the redirect-prefixes file. For example, this denotes that 1.8 is the default version:

    /docs/latest/ /docs/1.8/
    

Link checking

Validating links requires building and running a local site. You can run a local site as a standalone process or alternatively as a part of a docs build.

  1. Build the website server Docker image:

    ci/docker-build-image.sh
    
  2. Start the website server in Docker and remember the container ID:

    SERVER_CID="$(PORT=3000 ci/docker-run.sh)"
    
  3. Run link validation in Docker:

    ci/docker-validate-links.sh
    
  4. Stop the website server

    docker rm -f "${SERVER_CID}"
    

Technology

Built using Metalsmith.

License and Authors

Copyright 2017 Mesosphere, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this repository except in compliance with the License.

The contents of this repository are solely licensed under the terms described in the LICENSE file included in this repository.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Authors are listed in AUTHORS.md file.

dcos-website's People

Contributors

alberts avatar arun-gupta avatar ashenden avatar cmaloney avatar daveyheuser avatar davidvanleeuwen avatar emanic avatar grampelberg avatar jchn avatar jhedev avatar jmanalus avatar joel-hamill avatar joerg84 avatar judithpatudith avatar keithchambers avatar klueska avatar leemunroe avatar matapple avatar mattj-io avatar mhausenblas avatar philipnrmn avatar pleia2 avatar renesijnke avatar ryadav88 avatar sascala avatar ssk2 avatar timonvs avatar tmw avatar usultrared avatar zborisha avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.