SlideShare a Scribd company logo
1 of 49
Download to read offline
JAY YERAS | PARTNER SOLUTIONS ARCHITECT | AMAZON WEB SERVICES
Integrating Jira Software Cloud
with the AWS Code Suite
About Me
• Partner Solutions Architect
• Specialize in DevOps
• Over 20 years experience
• 2 ½ years at AWS
About Me
• Partner Solutions Architect
• Specialize in DevOps
• Over 20 years experience
• 2 ½ years at AWS
What you will learn
• This is a technical presentation
• Best practices for containerized applications
• Sample code
Why are we here?
INTRODUCTION
Source WorkflowServices Integrate
Topics to Cover
Getting started
Building your application
SOURCE
Source
Atlassian Connect
Foundation for Jira Cloud apps which
provides discovery, installation,
authentication, and seamless
integration into the Jira UI.
Source
Atlassian Connect
Framework
Spring Boot
Externalize your configuration in order
to leverage the same application code
in different environments.
Framework
Spring Boot
server.port: ${SERVER_PORT:8080}
addon:
key: jira-data-provider-aws-addon
base-url: http://localhost:${BASE_URL:8080}
logging.level.com.atlassian.connect.spring: DEBUG
security.ignored: /jwt-myself,/oauth2-myself,/relay/**
security:
login: ${SECURITY_LOGIN:user}
password: ${SECURITY_PASSWORD:password}
Framework
App descriptor
{
"modules": {},
"key": "my-app-key",
"name": "My Connect App",
"description": "A connect app that does something",
"vendor": {
"name": "My Company",
"url": "http://www.example.com"
},
"links": {
"self": "http://www.example.com/connect/jira/atlassian-connect.json"
},
"lifecycle": {
"installed": "/installed",
"uninstalled": "/uninstalled"
},
"baseUrl": "http://www.example.com/connect/jira",
"authentication": {
"type": "jwt"
},
"enableLicensing": true,
"scopes": [
"read",
"write"
]
}
Framework
App descriptor
"key": "my-app-key",
"baseUrl": "http://www.example.com/connect/jira",
"key": "${addon.key}”,
"baseUrl": "${addon.base-url}”,
Networking
By the numbers
1. A valid SSL certificate issued by
an external Certificate Authority
is required.
2. Jira strictly supports HTTPS for all
communications between the
add-on application and your
cloud tenant.
Networking
ngrok
Public URLs for exposing web
applications and building webhook
integrations and more!
Networking
ngrok
>npm install ngrok -g
>ngrok http 8080
Session Status online
Session Expires 7 hours, 57 minutes
Version 2.3.25
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://YOUR_NGROK_SUBDOMAIN.ngrok.io -> http://localhost:8080
Forwarding https://YOUR_NGROK_SUBDOMAIN.ngrok.io -> http://localhost:8080
Connections ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00
Run
Java & Maven
We will need to have Java 8 and
Maven installed.
Run
Using the Maven Plugin
mvn spring-boot:run -Drun.arguments=
"--addon.base-url=$ngrokURL",
"--security.login=$(aws secretsmanager
get-secret-value --secret-id
AtlassianAPIUser --query SecretString)",
"--security.password=$(aws secretsmanager
get-secret-value --secret-id
AtlassianAPIToken --query SecretString)"
Run
Response
{
"modules": {},
"key": "my-app-key",
"name": "My Connect App",
"description": "A connect app that does something",
"vendor": {
"name": "My Company",
"url": "http://www.example.com"
},
"links": {
"self": "http://www.example.com/connect/jira/atlassian-connect.json"
},
"lifecycle": {
"installed": "/installed",
"uninstalled": "/uninstalled"
},
"baseUrl": "http://www.example.com/connect/jira",
"authentication": {
"type": "jwt"
},
"enableLicensing": true,
"scopes": [
"read",
"write"
]
}
Using the right tools
Hosting your application on AWS
SERVICES
AWS Cloud
getCommit function
AWS CodeBuild
AWS CodeCommit
AWS CodePipeline
VPC
Public Subnet
Availability zone 1
Atlassian Connect App
getState function
AWS Fargate
Network Load Balancer
Event (event-based)
Amazon CloudWatch
AWS Lambda
Certificate
AWS Certificate Manager
AWS Secrets Manager
RegistryImage
Task
Service
Amazon EC2 Container Registry
Request token
Return token
Git push
Build and store artifacts
Issue certificate
Listener: tcp 443
Deploynewimage
QueryCode*APIs
POST
IDE
AWS Cloud9
Write, run, and debug your code with
just a browser. Integrated direct
terminal access to AWS.
IDE
Registry
Amazon ECR
Fully-managed Docker container
registry that makes it easy for
developers to store, manage, and
deploy Docker container images.
Pipeline
AWS CodePipeline
Fully managed continuous delivery
service that helps you automate the
build, test, and deploy phases of your
release process.
Orchestrator
AWS Fargate
Fully managed compute engine for
Amazon ECS that allows you to run
containers without having to manage
servers or clusters.
Deploying your infrastructure
Automation every step of the way
WORKFLOW
AWS Cloud9
WORKFLOW
AWS Fargate
LAUNCH
AWS CodePipeline
Amazon ECR
AWS CodeBuild
INSTALL
AWS CodeCommit
AWS Lambda
Java 8 & Maven
DEPLOY
INTEGRATE
Dockerfile
Multi-stage builds
Allows you to use multiple FROM
statements that use a different base,
and selectively copy artifacts from
one stage to another.
Dockerfile
Build
Build Specification File
A collection of build commands and
related settings, in YAML format, that
AWS CodeBuild uses to run a build.
Build
Definitions
ECS Task Definitions
Blueprint for our application. Defines
attributes such as CPU and memory
requirements, networking
configuration, and container
definitions.
Definitions
ECS Task Definitions
Environment:
- Name: SECURITY_LOGIN
Value: !Ref 'JiraUser'
- Name: SECURITY_PASSWORD
Value: !Ref 'JiraPass'
- Name: ADDON_BASE_URL
Value: !Join ['', ['https://', !GetAtt 'PublicLoadBalancer.DNSName']]
- Name: SERVER_PORT
Value: !Ref 'JiraServerPort'
Definitions
ECS Task Definitions
Leveraging integration points
Using AWS Lambda
INTEGRATE
Triggers
AWS CodeCommit
Will allow our Lambda function to be
invoked based on events that take
place in our repository.
SEQUENCE OF EVENTS
COMMIT TRIGGER POST TRIGGER POST
Change to source
Query
CodeCommit API
Send event data
to app
Query
CodePipeline API
Send event data
to app
TRIGGER
Pipeline starts
build
Triggers
AWS CodePipeline
You can invoke AWS Lambda in a
Pipeline in CodePipeline, but…
SEQUENCE OF EVENTS
COMMIT TRIGGER POST TRIGGER POST
Change to source
Query
CodeCommit API
Send event data
to app
Query
CodePipeline API
Send event data
to app
TRIGGER
Pipeline starts
build
Functions
Development Tool
Sending development information to
JIRA will be displayed in the
development information panel when
an issue is viewed.
SEQUENCE OF EVENTS
COMMIT TRIGGER POST TRIGGER POST
Change to source
Query
CodeCommit API
Send event data
to app
Query
CodePipeline API
Send event data
to app
TRIGGER
Pipeline starts
build
commitId,
commitMessage,
authorName,
fileCount,
etc.
Functions
Build
Sending build information to JIRA and
associate it with issues.
SEQUENCE OF EVENTS
COMMIT TRIGGER POST TRIGGER POST
Change to source
Query
CodeCommit API
Send event data
to app
Query
CodePipeline API
Send event data
to app
TRIGGER
Pipeline starts
build
commitId,
commitMessage,
authorName,
fileCount,
etc.
pipelineExecutionId,
executionStatus
What did we learn?
CONCLUSION
Summary
Source
Atlassian Connect Spring Boot
starter.
Workflow
Deploying a supporting infrastructure
to host your Connect app on AWS.
Integrate
AWS Lambda functions and event
triggers to send data to Connect.
Services
AWS Cloud9, Amazon ECR, AWS
Developer Tools, & AWS Fargate
JAY YERAS | PARTNER SOLUTIONS ARCHITECT | AMAZON WEB SERVICES
Thank you!
https://atlassian.awsworkshop.io
https://github.com/aws-samples/aws-code-suite-for-atlassian-connect

More Related Content

What's hot

Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesAmazon Web Services
 
DevSecOps Basics with Azure Pipelines
DevSecOps Basics with Azure Pipelines DevSecOps Basics with Azure Pipelines
DevSecOps Basics with Azure Pipelines Abdul_Mujeeb
 
Platform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewPlatform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewGiulio Roggero
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices Amazon Web Services
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionStefan Schimanski
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops DevopsKris Buytaert
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Edureka!
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsSCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsStefan Streichsbier
 
Demystifying DevSecOps
Demystifying DevSecOpsDemystifying DevSecOps
Demystifying DevSecOpsArchana Joshi
 
DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)Ravi Tadwalkar
 
How to Get Started with DevSecOps
How to Get Started with DevSecOpsHow to Get Started with DevSecOps
How to Get Started with DevSecOpsCYBRIC
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionEric Gustafson
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentChristopher Read
 
Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Adrian Todorov
 

What's hot (20)

DevSecOps Jenkins Pipeline -Security
DevSecOps Jenkins Pipeline -SecurityDevSecOps Jenkins Pipeline -Security
DevSecOps Jenkins Pipeline -Security
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
DevSecOps Basics with Azure Pipelines
DevSecOps Basics with Azure Pipelines DevSecOps Basics with Azure Pipelines
DevSecOps Basics with Azure Pipelines
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
CI CD Basics
CI CD BasicsCI CD Basics
CI CD Basics
 
Platform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewPlatform Engineering - a 360 degree view
Platform Engineering - a 360 degree view
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and Introduction
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsSCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOps
 
Demystifying DevSecOps
Demystifying DevSecOpsDemystifying DevSecOps
Demystifying DevSecOps
 
DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)
 
Introduction to Virtual Kubelet
Introduction to Virtual KubeletIntroduction to Virtual Kubelet
Introduction to Virtual Kubelet
 
How to Get Started with DevSecOps
How to Get Started with DevSecOpsHow to Get Started with DevSecOps
How to Get Started with DevSecOps
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
 
Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...
 

Similar to Integrating Jira Software Cloud with the AWS Code Suite

Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
 Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbsAWS Chicago
 
From Docker Straight to AWS
From Docker Straight to AWSFrom Docker Straight to AWS
From Docker Straight to AWSDevOps.com
 
Managing Application Lifecycle using Jira and Bitbucket Cloud and AWS Tooling
Managing Application Lifecycle using Jira and Bitbucket Cloud and AWS ToolingManaging Application Lifecycle using Jira and Bitbucket Cloud and AWS Tooling
Managing Application Lifecycle using Jira and Bitbucket Cloud and AWS ToolingAtlassian
 
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...Amazon Web Services
 
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...Chris Munns
 
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...Amazon Web Services
 
DevOps for the Enterprise: Virtual Office Hours
DevOps for the Enterprise: Virtual Office HoursDevOps for the Enterprise: Virtual Office Hours
DevOps for the Enterprise: Virtual Office HoursAmazon Web Services
 
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...Amazon Web Services
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitDanilo Poccia
 
Automating Security in your IaC Pipeline
Automating Security in your IaC PipelineAutomating Security in your IaC Pipeline
Automating Security in your IaC PipelineAmazon Web Services
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventJohn Schneider
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Amazon Web Services
 
(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New Infrastructure(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New InfrastructureAmazon Web Services
 
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015Chef
 
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018Amazon Web Services
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineIMC Institute
 
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMasterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMalcolm Duncanson, CISSP
 

Similar to Integrating Jira Software Cloud with the AWS Code Suite (20)

Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
 Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
 
AWS Serverless Workshop
AWS Serverless WorkshopAWS Serverless Workshop
AWS Serverless Workshop
 
From Docker Straight to AWS
From Docker Straight to AWSFrom Docker Straight to AWS
From Docker Straight to AWS
 
Managing Application Lifecycle using Jira and Bitbucket Cloud and AWS Tooling
Managing Application Lifecycle using Jira and Bitbucket Cloud and AWS ToolingManaging Application Lifecycle using Jira and Bitbucket Cloud and AWS Tooling
Managing Application Lifecycle using Jira and Bitbucket Cloud and AWS Tooling
 
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
 
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
 
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
 
DevOps for the Enterprise: Virtual Office Hours
DevOps for the Enterprise: Virtual Office HoursDevOps for the Enterprise: Virtual Office Hours
DevOps for the Enterprise: Virtual Office Hours
 
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with Git
 
Automating Security in your IaC Pipeline
Automating Security in your IaC PipelineAutomating Security in your IaC Pipeline
Automating Security in your IaC Pipeline
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
MesosCon - Be a microservices hero
MesosCon - Be a microservices heroMesosCon - Be a microservices hero
MesosCon - Be a microservices hero
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:Invent
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
 
(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New Infrastructure(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New Infrastructure
 
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
 
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
 
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMasterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM Roles
 

More from Atlassian

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020Atlassian
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020Atlassian
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App ShowcaseAtlassian
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UIAtlassian
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge RuntimeAtlassian
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceAtlassian
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge TriggersAtlassian
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeAtlassian
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelAtlassian
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemAtlassian
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the HoodAtlassian
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAtlassian
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginAtlassian
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingAtlassian
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterAtlassian
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindAtlassian
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Atlassian
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsAtlassian
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamAtlassian
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in MindAtlassian
 

More from Atlassian (20)

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App Showcase
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UI
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge Runtime
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User Experience
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge Triggers
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy Model
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI System
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the Building
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that Matter
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in Mind
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced Teams
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in Mind
 

Recently uploaded

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Recently uploaded (20)

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Integrating Jira Software Cloud with the AWS Code Suite

  • 1. JAY YERAS | PARTNER SOLUTIONS ARCHITECT | AMAZON WEB SERVICES Integrating Jira Software Cloud with the AWS Code Suite
  • 2. About Me • Partner Solutions Architect • Specialize in DevOps • Over 20 years experience • 2 ½ years at AWS
  • 3. About Me • Partner Solutions Architect • Specialize in DevOps • Over 20 years experience • 2 ½ years at AWS What you will learn • This is a technical presentation • Best practices for containerized applications • Sample code
  • 4. Why are we here? INTRODUCTION
  • 5.
  • 7. Getting started Building your application SOURCE
  • 8. Source Atlassian Connect Foundation for Jira Cloud apps which provides discovery, installation, authentication, and seamless integration into the Jira UI.
  • 10. Framework Spring Boot Externalize your configuration in order to leverage the same application code in different environments.
  • 11. Framework Spring Boot server.port: ${SERVER_PORT:8080} addon: key: jira-data-provider-aws-addon base-url: http://localhost:${BASE_URL:8080} logging.level.com.atlassian.connect.spring: DEBUG security.ignored: /jwt-myself,/oauth2-myself,/relay/** security: login: ${SECURITY_LOGIN:user} password: ${SECURITY_PASSWORD:password}
  • 12. Framework App descriptor { "modules": {}, "key": "my-app-key", "name": "My Connect App", "description": "A connect app that does something", "vendor": { "name": "My Company", "url": "http://www.example.com" }, "links": { "self": "http://www.example.com/connect/jira/atlassian-connect.json" }, "lifecycle": { "installed": "/installed", "uninstalled": "/uninstalled" }, "baseUrl": "http://www.example.com/connect/jira", "authentication": { "type": "jwt" }, "enableLicensing": true, "scopes": [ "read", "write" ] }
  • 13. Framework App descriptor "key": "my-app-key", "baseUrl": "http://www.example.com/connect/jira", "key": "${addon.key}”, "baseUrl": "${addon.base-url}”,
  • 14. Networking By the numbers 1. A valid SSL certificate issued by an external Certificate Authority is required. 2. Jira strictly supports HTTPS for all communications between the add-on application and your cloud tenant.
  • 15. Networking ngrok Public URLs for exposing web applications and building webhook integrations and more!
  • 16. Networking ngrok >npm install ngrok -g >ngrok http 8080 Session Status online Session Expires 7 hours, 57 minutes Version 2.3.25 Region United States (us) Web Interface http://127.0.0.1:4040 Forwarding http://YOUR_NGROK_SUBDOMAIN.ngrok.io -> http://localhost:8080 Forwarding https://YOUR_NGROK_SUBDOMAIN.ngrok.io -> http://localhost:8080 Connections ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00
  • 17. Run Java & Maven We will need to have Java 8 and Maven installed.
  • 18. Run Using the Maven Plugin mvn spring-boot:run -Drun.arguments= "--addon.base-url=$ngrokURL", "--security.login=$(aws secretsmanager get-secret-value --secret-id AtlassianAPIUser --query SecretString)", "--security.password=$(aws secretsmanager get-secret-value --secret-id AtlassianAPIToken --query SecretString)"
  • 19. Run Response { "modules": {}, "key": "my-app-key", "name": "My Connect App", "description": "A connect app that does something", "vendor": { "name": "My Company", "url": "http://www.example.com" }, "links": { "self": "http://www.example.com/connect/jira/atlassian-connect.json" }, "lifecycle": { "installed": "/installed", "uninstalled": "/uninstalled" }, "baseUrl": "http://www.example.com/connect/jira", "authentication": { "type": "jwt" }, "enableLicensing": true, "scopes": [ "read", "write" ] }
  • 20. Using the right tools Hosting your application on AWS SERVICES
  • 21. AWS Cloud getCommit function AWS CodeBuild AWS CodeCommit AWS CodePipeline VPC Public Subnet Availability zone 1 Atlassian Connect App getState function AWS Fargate Network Load Balancer Event (event-based) Amazon CloudWatch AWS Lambda Certificate AWS Certificate Manager AWS Secrets Manager RegistryImage Task Service Amazon EC2 Container Registry Request token Return token Git push Build and store artifacts Issue certificate Listener: tcp 443 Deploynewimage QueryCode*APIs POST
  • 22. IDE AWS Cloud9 Write, run, and debug your code with just a browser. Integrated direct terminal access to AWS.
  • 23. IDE
  • 24. Registry Amazon ECR Fully-managed Docker container registry that makes it easy for developers to store, manage, and deploy Docker container images.
  • 25. Pipeline AWS CodePipeline Fully managed continuous delivery service that helps you automate the build, test, and deploy phases of your release process.
  • 26. Orchestrator AWS Fargate Fully managed compute engine for Amazon ECS that allows you to run containers without having to manage servers or clusters.
  • 27. Deploying your infrastructure Automation every step of the way WORKFLOW
  • 28. AWS Cloud9 WORKFLOW AWS Fargate LAUNCH AWS CodePipeline Amazon ECR AWS CodeBuild INSTALL AWS CodeCommit AWS Lambda Java 8 & Maven DEPLOY INTEGRATE
  • 29. Dockerfile Multi-stage builds Allows you to use multiple FROM statements that use a different base, and selectively copy artifacts from one stage to another.
  • 31. Build Build Specification File A collection of build commands and related settings, in YAML format, that AWS CodeBuild uses to run a build.
  • 32. Build
  • 33. Definitions ECS Task Definitions Blueprint for our application. Defines attributes such as CPU and memory requirements, networking configuration, and container definitions.
  • 34. Definitions ECS Task Definitions Environment: - Name: SECURITY_LOGIN Value: !Ref 'JiraUser' - Name: SECURITY_PASSWORD Value: !Ref 'JiraPass' - Name: ADDON_BASE_URL Value: !Join ['', ['https://', !GetAtt 'PublicLoadBalancer.DNSName']] - Name: SERVER_PORT Value: !Ref 'JiraServerPort'
  • 36. Leveraging integration points Using AWS Lambda INTEGRATE
  • 37.
  • 38. Triggers AWS CodeCommit Will allow our Lambda function to be invoked based on events that take place in our repository.
  • 39. SEQUENCE OF EVENTS COMMIT TRIGGER POST TRIGGER POST Change to source Query CodeCommit API Send event data to app Query CodePipeline API Send event data to app TRIGGER Pipeline starts build
  • 40. Triggers AWS CodePipeline You can invoke AWS Lambda in a Pipeline in CodePipeline, but…
  • 41. SEQUENCE OF EVENTS COMMIT TRIGGER POST TRIGGER POST Change to source Query CodeCommit API Send event data to app Query CodePipeline API Send event data to app TRIGGER Pipeline starts build
  • 42. Functions Development Tool Sending development information to JIRA will be displayed in the development information panel when an issue is viewed.
  • 43. SEQUENCE OF EVENTS COMMIT TRIGGER POST TRIGGER POST Change to source Query CodeCommit API Send event data to app Query CodePipeline API Send event data to app TRIGGER Pipeline starts build commitId, commitMessage, authorName, fileCount, etc.
  • 44. Functions Build Sending build information to JIRA and associate it with issues.
  • 45. SEQUENCE OF EVENTS COMMIT TRIGGER POST TRIGGER POST Change to source Query CodeCommit API Send event data to app Query CodePipeline API Send event data to app TRIGGER Pipeline starts build commitId, commitMessage, authorName, fileCount, etc. pipelineExecutionId, executionStatus
  • 46. What did we learn? CONCLUSION
  • 47. Summary Source Atlassian Connect Spring Boot starter. Workflow Deploying a supporting infrastructure to host your Connect app on AWS. Integrate AWS Lambda functions and event triggers to send data to Connect. Services AWS Cloud9, Amazon ECR, AWS Developer Tools, & AWS Fargate
  • 48.
  • 49. JAY YERAS | PARTNER SOLUTIONS ARCHITECT | AMAZON WEB SERVICES Thank you! https://atlassian.awsworkshop.io https://github.com/aws-samples/aws-code-suite-for-atlassian-connect