GithubHelp home page GithubHelp logo

alexxnica / deploymentpipeline Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 926 KB

Eco Pipeline provides application teams with a CI/CD orchestration platform to integrate automated delivery steps with manual steps such as decision-gate approvals.

License: Other

Shell 0.13% Java 23.80% Groovy 0.06% CSS 3.90% HTML 0.56% JavaScript 71.55%

deploymentpipeline's Introduction

Overview

Eco Pipeline is a component of the Eco tool. Eco Pipeline provides application teams with a CI/CD orchestration platform to integrate automated delivery steps with manual steps such as decision-gate approvals.

The Eco tool is an easy-to-use, self-service automation process to generate a new microService based on defined seeds/templates. Users can use the Eco tool from beginning to end of the microservice deployment lifecycle beginning with scaffolding the mS project and deploying it on Kubernetes through the Jenkins pipeline.

Requirements

Required Environment

  • Linux

Required Software

  • Maven 3.x.x
  • Java 8
  • MariaDB

Required Applications

  • AAF (here)
  • CatalogAPI

Other Requirements

  • Jenkins Job Base
  • Email Host
  • Kubernetes Namespace

Build

  1. Install and configure Maven and Java. Many robust installation guides exist for both products and there is not a need for an additional guide here.
  2. Clone the Eco Pipeline repository.
  3. Install and configure MariaDB. Create the database schema by running pipelineschema.sql.
  4. Follow the installation and deployment instructions for AAF (here) and CatalogAPI. Eco pipeline is dependent on both. Be sure to create a namespace in AAF.
  5. Navigate to the project in a terminal and run mvn install using the settings.xml file provided with the project.

Run

  1. Configure Eco Pipeline by filling out the configuration files src/main/resources/system.properties, src/main/resources/application.properties, src/main/resources/cadi.properties, and etc/cadi.properties. Fields are preset with default values, localhost addresses, or the dummy text "replaceme".
  2. Generate a new keyfile and use it to replace the dummy file in etc/aafkeystore.
  3. Create a run configuration with com.att.cicdpipeline.deploymentpipeline.Application as the main class
  4. Add arguments -Dorg.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
  5. Launch with the run configuration.
  6. The first time Eco Pipeline is run after creating the database schema, you must create a Camunda account. Use a browser to access http://hostofecopipeline:8888 (e.g. If running locally, navigate to http://localhost:8888). You will be redirected to an account creation page. The username MUST be demo and the password MUST be password. If you wish to use another user/password combination, you must edit the source code. You may give any values for the name and email fields. Confirm the account by signing in after submitting. This process does not need to be repeated unless the database is reset. Eco Pipeline is now ready to be used.

NOTE

More details can be found in the wiki for this project (here)

deploymentpipeline's People

Contributors

dg980b 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.