Deployment - BIBSYSDEV/pipeline-builder GitHub Wiki

Scope (or Before you begin)

This tool needs to be deployed in the AWS account that you aim to build your project. It cannot be used for projects in different accounts.

Requirements:

  1. An AWS account where your project will be deployed.
  2. You have installed the AWS CLI client
  3. You have configured the AWS CLI client to the account you want to build the application. (IAM -> Security Credentials and aws configure)
  4. You have forked the project pipeline-builder in your Github domain (This is not necessary if you already have access to the BIBSYSDEV Github domain).

Deployment in AWS

Requirements

  1. A Github account.
  2. A Swaggerhub account (Logging in with your Github account is enough).
  3. Set up the API keys
  4. Set up the Parameters

Procedure steps

  1. Clone the forked pipeline-builder project locally

  2. Build the code

  3. Run the code using the command python run.py <owner> <repository> <branch> <action> <awsRegion> [debug] where

    1. owner is the account under which you have cloned the project
    2. repository is the name of the forked pipeline-builder repository
    3. branch is master
    4. action is create
    5. awsRegion is the AWS region of the project.

    Example: run.py BIBSYSDEV pipeline-builder master create eu-west-1

  4. After the CloudFormation stack and CodePipeline pipeline have been created, navigate to CodePipeline and open the pipeline of the infrastructure project. Then click to the button Enable transition above the ``ProdStack'' in order to enable the deployment of the production stack.

Enable transition

Completion

When all steps of the pipeline have completed successfully, the Pipeline Builder service has been deployed. At this point you have the following resources available:

  1. An API endpoint (Github endpoint) that is listening for requests from a Github Webhook.
  2. An API endpoint (Admin endpoint) that allows you to administrate the CloucFomration stacks.

Both these endpoints are described in the Swaggerhub page that is defined by the given parameters

⚠️ **GitHub.com Fallback** ⚠️