Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
CodePipeline-JarDeploy.yml 8.03 KiB
# Copyright © Amazon Web Services
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# 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.

AWSTemplateFormatVersion: 2010-09-09

Description: >
  This CloudFormation script creates the deployment pipeline for OSDU's indexer service. The CodePipeline
  should automatically trigger whenever commits are made on the tracked branch. The start and end
  of the CodePipeline should trigger a SNS alert to keep track of when the deployment has started
  and when it finishes.

Parameters:
  Environment:
    Description: Environment Name. Defaults to 'dev'. Can only be dev/uat/prod.
    Type: String
    AllowedValues:
      - dev
      - uat
      - prod
    Default: dev

  DeploymentRegion:
    Description: The AWS region to deploy the application to. The default is us-east-1.
    Type: String
    Default: us-east-1

  SNSNotificationEmail:
    Description: The email address to send SNS notifications about the build to.
    Type: String
    Default: barclay.walsh@parivedasolutions.com

  CodeCommitRepositoryName:
    Description: The name of the Code Commit Repository that the CodePipeline source is connected to.
    Type: String
    Default: os-indexer

  JarServiceBase:
    Description: The name of the service base path for the JAR files (e.g. 'indexer').
    Type: String
    Default: indexer

  CodeCommitBranchName:
    Description: The name of the Code Commit branch that the CodePipeline source is connected to.
    Type: String
    Default: dev

Resources:
  ArtifactStoreBucket:
    Type: AWS::S3::Bucket
    DeletionPolicy: Delete
    Properties:
      VersioningConfiguration:
        Status: Enabled

  ArtifactStoreBucketPolicy:
    Type: AWS::S3::BucketPolicy
    Properties:
      Bucket: !Ref ArtifactStoreBucket
      PolicyDocument: