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

    搜索帮助