Gitee 帮助中心 / 帮助详情

镜像构建与部署

1、镜像构建

默认工作空间为当前代码库根目录,指定Dockerfile构建镜像,并将镜像推送到远程镜像仓库。

  • 可视化配置
    镜像构建

  • yml

    - step: build@docker
      name: build_docker
      displayName: 镜像构建
      # Docker镜像仓库地址,如hub.docker.com
      repository: 
      # 仓库用户名
      username:
      # 仓库密码
      password:
      # 镜像Tag,如tomcat:v1.${GITEE_PIPELINE_BUILD_NUMBER},支持支持系统参数或流水线自定义参数,了解系统参数(https://gitee.com/help/articles/4358#article-header9)
      tag: tomcat:v1.${GITEE_PIPELINE_BUILD_NUMBER}
      # 相对于代码库根目录所在路径,如./Dockerfile
      dockerfile: ./Dockerfile
      # 拉取上游产出,可配置多个,默认 ${BUILD_ARTIFACT}。支持系统参数,也支持直接输入一个产出地址
      artifacts:
        - ${BUILD_ARTIFACT}
        - http://xxxxx.xxxxx/output.tar.gz
      # 不使用缓存,docker build将使用--no-cache=true参数进行镜像构建
      isCache: false
  • 参数输出
    镜像构建成功后,会自动输出一个参数GITEE_DOCKER_IMAGE传递给下游,用来表示镜像地址,您可以在下游直接引用。

    docker pull ${GITEE_DOCKER_IMAGE}

2、K8S部署

默认工作空间为当前代码库根目录,根据指定的yaml文件进行部署,采用apply模式。

  • 可视化配置
    K8S部署

  • yml

    - step: deploy@k8s
      name: deploy_k8s
      displayName: K8S 部署
      # kubectl 版本为当前步骤中使用的kubectl客户端版本。请选择与集群适配的Kubectl版本,默认版本v1.16.4
      version: v1.16.4
      # 证书标识,您可以点击此处了解凭证管理(http://https://gitee.com/help/articles/4377)
      certificate: k8s-test
      # k8s集群命名空间,默认default
      namespace: default
      # YAML 路径为需要部署的 YAML 文件或者目录在源码中的相对路径。例如:'manifests'
      yaml: ./deployment.yaml
      # 适用于首次部署应用时使用了kubectl install时, kubectl apply可能无法正确的计算diff并更新应用的场景。replace模式只支持证书导入的Kubernetes集群
      isReplace: false
  • 小技巧
    K8S部署插件可以搭配“镜像构建”插件一起使用,上游为“镜像构建”任务,下游为“K8S部署”任务,其中K8S插件中所需要的yaml,可以使用如下方式编写来获取镜像。

    spec:
      template:
        spec:
          containers:
          - name: gitee-go
            # 此处为上游镜像构建插件产出的参数
            image: ${GITEE_DOCKER_IMAGE}
            ports:
            - containerPort: 80

3、Helm部署

默认工作空间为当前代码库根目录,根据指定的chart文件目录和values文件目录部署。首次部署会采用install模式,后续部署采用upgrade模式。

  • 可视化配置
    Helm部署
  • yml
    - step: deploy@helm
      name: deploy_helm
      displayName: Helm Chart部署
      # Helm客户端版本,支持2.17.0、3.4.0两个版本,默认值3.4.0
      version: 3.4.0
      # 证书标识,您可以点击此处了解凭证管理(http://https://gitee.com/help/articles/4377)
      certificate: k8s-test
      # k8s集群命名空间,默认default
      namespace: default
      # 应用名称
      appName:
      # Chart文件目录,默认代码库根目录
      chartPath: ./
      # values.yml路径,默认 ./values.yml。valuesPath是相对于chart包目录的路径,而非相对于代码库的路径
      valuesPath: ./values.yml

搜索帮助