首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用docker和azure容器注册表在azure kubernetes中部署angular和sprint引导应用程序

使用docker和azure容器注册表在azure kubernetes中部署angular和sprint引导应用程序
EN

Stack Overflow用户
提问于 2021-04-29 01:19:24
回答 1查看 84关注 0票数 0

我刚接触AKS、ACR和DevOps管道,我正在尝试为我的应用程序设置CI/CD管道,它使用Spring Boot后端和角度前端。下面是我正在使用的azure管道yaml文件

代码语言:javascript
复制
# 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

代码语言:javascript
复制
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后端的一个。它已成功部署,如下所示。

代码语言:javascript
复制
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前端。我该怎么做呢?如果需要更多细节,请让我知道。

EN

回答 1

Stack Overflow用户

发布于 2021-04-29 06:16:20

您需要为Angular应用程序单独构建docker容器。理想情况下,它应该与SpringBoot应用程序一起部署。您将需要一个新的构建和部署管道,其中可能包含一个单独的清单文件。

有关如何为Angular应用程序构建docker镜像的参考文章:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67304968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档