azure pipeline 추가
This commit is contained in:
55
azure-pipeline-mvn-cache.yaml
Normal file
55
azure-pipeline-mvn-cache.yaml
Normal file
@@ -0,0 +1,55 @@
|
||||
# Maven
|
||||
# Build your Java project and run tests with Apache Maven.
|
||||
# Add steps that analyze code, save build artifacts, deploy, and more:
|
||||
# https://docs.microsoft.com/azure/devops/pipelines/languages/java
|
||||
|
||||
trigger:
|
||||
- master
|
||||
|
||||
variables:
|
||||
MAVEN_CACHE_FOLDER: $(Pipeline.Workspace)/.m2/repository
|
||||
MAVEN_OPTS: '-Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)'
|
||||
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
|
||||
steps:
|
||||
- task: Cache@2
|
||||
inputs:
|
||||
key: 'maven | "$(Agent.OS)" | **/pom.xml'
|
||||
restoreKeys: |
|
||||
maven | "$(Agent.OS)"
|
||||
maven
|
||||
path: $(MAVEN_CACHE_FOLDER)
|
||||
displayName: Cache Maven local repo
|
||||
- task: Maven@3
|
||||
inputs:
|
||||
mavenPomFile: 'pom.xml'
|
||||
options: '-Dmaven.test.skip=true -Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)'
|
||||
publishJUnitResults: false
|
||||
javaHomeOption: 'JDKVersion'
|
||||
mavenVersionOption: 'Default'
|
||||
mavenAuthenticateFeed: false
|
||||
effectivePomSkip: false
|
||||
sonarQubeRunAnalysis: false
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
SourceFolder: '$(system.defaultworkingdirectory)'
|
||||
Contents: |
|
||||
**/*.jar
|
||||
Dockerfile
|
||||
kubernetes/*
|
||||
TargetFolder: '$(build.artifactstagingdirectory)'
|
||||
|
||||
- task: PublishPipelineArtifact@1
|
||||
inputs:
|
||||
targetPath: '$(build.artifactstagingdirectory)'
|
||||
artifact: 'target'
|
||||
publishLocation: 'pipeline'
|
||||
|
||||
- task: Docker@2
|
||||
inputs:
|
||||
containerRegistry: 'myEventstormingRegistry'
|
||||
repository: 'order'
|
||||
command: 'buildAndPush'
|
||||
Dockerfile: '**/Dockerfile'
|
||||
144
azure-pipelines.yml
Normal file
144
azure-pipelines.yml
Normal file
@@ -0,0 +1,144 @@
|
||||
# Deploy to Azure Kubernetes Service
|
||||
# Build and push image to Azure Container Registry; Deploy to Azure Kubernetes Service
|
||||
# https://docs.microsoft.com/azure/devops/pipelines/languages/docker
|
||||
|
||||
trigger:
|
||||
- master
|
||||
|
||||
resources:
|
||||
- repo: self
|
||||
|
||||
variables:
|
||||
- group: common-value
|
||||
# containerRegistry: 'event.azurecr.io'
|
||||
# containerRegistryDockerConnection: 'acr'
|
||||
# environment: 'aks.default'
|
||||
- name: imageRepository
|
||||
value: 'order'
|
||||
- name: dockerfilePath
|
||||
value: '**/Dockerfile'
|
||||
- name: tag
|
||||
value: '$(Build.BuildId)'
|
||||
# Agent VM image name
|
||||
- name: vmImageName
|
||||
value: 'ubuntu-latest'
|
||||
- name: MAVEN_CACHE_FOLDER
|
||||
value: $(Pipeline.Workspace)/.m2/repository
|
||||
- name: MAVEN_OPTS
|
||||
value: '-Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)'
|
||||
|
||||
|
||||
stages:
|
||||
- stage: Build
|
||||
displayName: Build stage
|
||||
jobs:
|
||||
- job: Build
|
||||
displayName: Build
|
||||
pool:
|
||||
vmImage: $(vmImageName)
|
||||
steps:
|
||||
- task: Cache@2
|
||||
inputs:
|
||||
key: 'maven | "$(Agent.OS)" | **/pom.xml'
|
||||
restoreKeys: |
|
||||
maven | "$(Agent.OS)"
|
||||
maven
|
||||
path: $(MAVEN_CACHE_FOLDER)
|
||||
displayName: Cache Maven local repo
|
||||
- task: Maven@3
|
||||
inputs:
|
||||
mavenPomFile: 'pom.xml'
|
||||
options: '-Dmaven.test.skip=true -Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)'
|
||||
javaHomeOption: 'JDKVersion'
|
||||
jdkVersionOption: '1.8'
|
||||
jdkArchitectureOption: 'x64'
|
||||
goals: 'package'
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
SourceFolder: '$(system.defaultworkingdirectory)'
|
||||
Contents: |
|
||||
**/*.jar
|
||||
Dockerfile
|
||||
kubernetes/*
|
||||
TargetFolder: '$(build.artifactstagingdirectory)'
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
||||
ArtifactName: 'artifact'
|
||||
publishLocation: 'Container'
|
||||
- task: Docker@2
|
||||
inputs:
|
||||
containerRegistry: $(containerRegistryDockerConnection)
|
||||
repository: $(imageRepository)
|
||||
command: 'buildAndPush'
|
||||
Dockerfile: '**/Dockerfile'
|
||||
tags: |
|
||||
$(tag)
|
||||
|
||||
- stage: Deploy
|
||||
displayName: Deploy stage
|
||||
dependsOn: Build
|
||||
|
||||
jobs:
|
||||
- deployment: Deploy
|
||||
displayName: Deploy
|
||||
pool:
|
||||
vmImage: $(vmImageName)
|
||||
environment: $(environment)
|
||||
strategy:
|
||||
runOnce:
|
||||
deploy:
|
||||
steps:
|
||||
- task: Kubernetes@1
|
||||
inputs:
|
||||
connectionType: 'Kubernetes Service Connection'
|
||||
namespace: 'default'
|
||||
command: 'apply'
|
||||
useConfigurationFile: true
|
||||
configurationType: 'inline'
|
||||
inline: |
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: $(imageRepository)
|
||||
labels:
|
||||
app: $(imageRepository)
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: $(imageRepository)
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: $(imageRepository)
|
||||
spec:
|
||||
containers:
|
||||
- name: $(imageRepository)
|
||||
image: $(containerRegistry)/$(imageRepository):$(tag)
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
secretType: 'dockerRegistry'
|
||||
containerRegistryType: 'Azure Container Registry'
|
||||
- task: Kubernetes@1
|
||||
inputs:
|
||||
connectionType: 'Kubernetes Service Connection'
|
||||
namespace: 'default'
|
||||
command: 'apply'
|
||||
useConfigurationFile: true
|
||||
configurationType: 'inline'
|
||||
inline: |
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: $(imageRepository)
|
||||
labels:
|
||||
app: $(imageRepository)
|
||||
spec:
|
||||
ports:
|
||||
- port: 8080
|
||||
targetPort: 8080
|
||||
selector:
|
||||
app: $(imageRepository)
|
||||
secretType: 'dockerRegistry'
|
||||
containerRegistryType: 'Azure Container Registry'
|
||||
16
kubernetes/deploy.yaml
Normal file
16
kubernetes/deploy.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
apiVersion : apps/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: order
|
||||
spec:
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: order
|
||||
spec:
|
||||
containers:
|
||||
- name: order
|
||||
image: myeventstormingregistry.azurecr.io/order
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
12
kubernetes/service.yaml
Normal file
12
kubernetes/service.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: order
|
||||
labels:
|
||||
app: order
|
||||
spec:
|
||||
ports:
|
||||
- port: 8080
|
||||
targetPort: 8080
|
||||
selector:
|
||||
app: order
|
||||
Reference in New Issue
Block a user