GithubHelp home page GithubHelp logo

chrishoban / ssg-openshift-meta-templates Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 6.0 1.03 MB

Templates to be used by Meta Pipeline Bootstrap

Batchfile 43.54% Shell 45.81% Dockerfile 1.36% Python 9.28%

ssg-openshift-meta-templates's Introduction

OpenShift Meta Template

OpenShift Meta Template is an effort to bootstrap in a full openshift build pipeline in the BCGov space with minimal upfront effort. The idea is being able to configure everything upfront and have what you need get spun up and created. Really handy in MicroService development.

N|Solid

Features includes:

  • Build S2I from standard nodeJS/.NET/Java source code repository
  • Setup for Infrastructure As Code, but will create BuildConfig/DeploymentConfig/Route/Service objects if they don't yet exist in your repo
  • Configure Build and Deployment pod Resources (Time Limited Resource Pool)
  • LifeCycle Webhook used to deliver caught Pipeline Exceptions

Getting Started

Deploy a jenkins server using BC Gov Pathfinder Jenkins (Persistent) image from the service catalog.

If you're building a Dotnet application, deploy the appropriate Jenkins slave:

Click import YAML in openshift tools namespace

paste contents of /openshift/meta-templates/pipeline-build-template.yaml

Fill out requested parameters

Upcoming Features!

  • SonarQube scanning for any project
  • LifeCycle WebHooks
  • HealthCheck Configs
  • One Time Bootstrap Tools Services - Deploy and Configure Jenkins - Deploy and Configure SonarQube - Network Security Policy Configuration - image puller role for dev/test/prod namespace default user for tools namespace imagestream deployments

Notes

  • Current tool requires the following is already done before it works (Future versions will work on a blank slate):

    1. Persistent Jenkins Template installed
    2. Network Security Policies loosened (Template to do so contained within)
    3. default user for dev/test/prod has image:puller role in tools namespace
  • Pipeline build comes with jenkinsfile inline, for rapid prototyping before eventually placing pipeline in your repository.

Contributing

If you want to discuss a new feature or found a bug, please open a new issue here.

ssg-openshift-meta-templates's People

Contributors

bashbang avatar chris-mullin-nttd avatar chrishoban avatar emuthiah avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ssg-openshift-meta-templates's Issues

[Feature] RedHat Container Image Import Tool

Write a pipeline template that creates a local Image Registry, and does the first time pull of a user defined container image from RedHat.

Should also set source type of image to local after first pull until RedHat credential use is also automated.

[Service Routes] Enable for React

React apps open on localhost:3000, service-route.yaml currently has it's target port set to 8080.

Possibly look to parameterize the target port to a env var setup in the initial template process form?

[One Time Bootstrap] - First Version

  • Setup Network Security Policies in Tools/Dev/Test/Prod
  • Spin Up SonarQube
  • Spin Up Persistent Jenkins
  • Default User for Dev/Test/Prod given Tools image:puller role

[Jenkins Pipeline] - Timeout only fires when aborting promotion stage

Timeout loop is nested in an improper area, pipeline never times out, and if waiting on a promotion gate will hit a timeout exception only after hitting abort, strangely not after hitting proceed 1 hour later.

[Pipeline] { (Promotion gate)
[Pipeline] script
[Pipeline] {
[Pipeline] input
Promote application to Prod?
Proceed or Abort
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] echo
in catch block
[Pipeline] node
Caught: org.jenkinsci.plugins.workflow.steps.FlowInterruptedException```

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.