默认工作空间为当前代码库根目录,指定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}
默认工作空间为当前代码库根目录,根据指定的yaml文件进行部署,采用apply模式。
可视化配置
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
默认工作空间为当前代码库根目录,根据指定的chart文件目录和values文件目录部署。首次部署会采用install模式,后续部署采用upgrade模式。
- 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