大佬教程收集整理的这篇文章主要介绍了使用 docker 和 azure 容器注册表在 azure kubernetes 中部署 angular 和 sprint 启动应用程序,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我是 AKS、ACR 和 DevOps 管道的新手,我正在尝试为使用 Spring Boot 后端和 Angular 前端的应用程序设置 CI/CD 管道。 下面是我正在使用的 azure 管道 yaml 文件
# 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:
# Container registry service connection established during pipeline creation
dockerRegistryserviceConnection: 'c2ed88c0-0d3b-4ea1-b8e0-7cc40c5c81d3'
imageRepository: 'pvedanabhatlarepoui'
containerRegistry: 'pkvcontainerregistry.azurecr.io'
dockerfilePath: '**/Dockerfile'
tag: '$(Build.buildID)'
imagePullSecret: 'pkvcontainerregistry2152213e-auth'
# Agent VM image name
vmImagename: 'ubuntu-latest'
stages:
- stage: Build
displayname: Build stage
jobs:
- job: Build
displayname: Build
pool:
vmImage: $(vmImageName)
steps:
- task: Maven@3
inputs:
mavenPomfile: 'party_ui_BACkend/pom.xml'
goals: 'clean verify'
publishJUnitResults: false
javaHomeOption: 'JDKVersion'
mavenVersionoption: 'Default'
mavenAuthenticateFeed: false
effectivePomSkip: false
sonarQubeRunAnalysis: false
- task: Docker@2
displayname: Build and push an image to container registry
inputs:
command: buildAndPush
repository: $(imageRepository)
dockerfile: $(dockerfilePath)
containerRegistry: $(dockerRegistryserviceConnection)
Tags: |
$(tag)
- upload: manifests
artifact: manifests
- stage: Deploy
displayname: Deploy stage
dependsOn: Build
jobs:
- deployment: Deploy
displayname: Deploy
pool:
vmImage: $(vmImageName)
environment: 'pvedanabhatlarepoui-7912.default'
strategy:
runOnce:
deploy:
steps:
- task: Kubernetesmanifest@0
displayname: Create imagePullSecret
inputs:
action: createSecret
secretname: $(imagePullSecret)
dockerRegistryEndpoint: $(dockerRegistryserviceConnection)
- task: Kubernetesmanifest@0
displayname: Deploy to Kubernetes cluster
inputs:
action: deploy
manifests: |
$(Pipeline.WorkspacE)/manifests/deployment.yml
$(Pipeline.WorkspacE)/manifests/service.yml
imagePullSecrets: |
$(imagePullSecret)
containers: |
$(containerRegistry)/$(imageRepository):$(tag)
这里是 deployment.yaml 和 service.yaml
APIVersion: apps/v1
kind: Deployment
Metadata:
name: springboot-k8s-mssql
spec:
SELEctor:
matchLabels:
app: springboot-k8s-mssql
replicas: 3
template:
Metadata:
labels:
app: springboot-k8s-mssql
spec:
containers:
- name: springboot-k8s-mssql
image: pkvcontainerregistry.azurecr.io/pvedanabhatlarepoui
ports:
- containerPort: 80
---
APIVersion: v1
kind: service
Metadata:
name: springboot-k8s-mssql
labels:
name: springboot-k8s-mssql
spec:
type: LoadBalancer
ports:
- port: 80
SELEctor:
app: springboot-k8s-mssql
如您所见,我在 azure 管道 yaml 中使用了 party_ui_BACkend/pom.xml,而这个 pom 是用于 Spring Boot 后端的 pom。这样就部署成功了,如下图。
name READY STATUS RESTARTS AGE
springboot-k8s-mssql-66876d98c-5rsj9 1/1 Running 0 58m
springboot-k8s-mssql-66876d98c-67xz5 1/1 Running 0 58m
springboot-k8s-mssql-66876d98c-rqzn6 1/1 Running 0 58m
现在我也想在同一个 deployment.yaml 中部署 Angular 前端。我怎样才能做到这一点?如果需要更多详细信息,请告诉我。
您需要单独为 Angular 应用程序构建 docker 容器。理想情况下,它应该与 SpringBoot 应用程序一起部署。您将需要一个新的构建和部署管道,其中包含一个可能单独的清单文件。
关于如何为 Angular 应用构建 docker 镜像的参考文章:
以上是大佬教程为你收集整理的使用 docker 和 azure 容器注册表在 azure kubernetes 中部署 angular 和 sprint 启动应用程序全部内容,希望文章能够帮你解决使用 docker 和 azure 容器注册表在 azure kubernetes 中部署 angular 和 sprint 启动应用程序所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。