首页
/ Werf项目快速使用指南:从构建到部署全流程速查

Werf项目快速使用指南:从构建到部署全流程速查

2025-07-08 07:06:55作者:凤尚柏Louis

Werf是一款强大的Kubernetes应用构建与部署工具,它结合了Docker、Helm和Git的强大功能,为开发者提供了从代码到生产环境的完整解决方案。本文将为您提供Werf的核心使用方法和常见场景的快速参考。

一、基础操作:一键构建与部署

1.1 生产环境部署

使用单条命令即可完成镜像构建和应用部署:

werf converge --repo ghcr.io/group/project --env production

1.2 自定义镜像标签部署

构建镜像并使用自定义标签部署到默认环境:

werf converge --repo ghcr.io/group/project --use-custom-tag "%image%-$CI_JOB_ID"

二、CI/CD集成与构建流程

2.1 CI系统集成

Werf支持与主流CI系统无缝集成,例如在GitLab环境中:

. $(werf ci-env gitlab --as-file)

2.2 镜像构建与发布

基础构建命令:

werf build --repo ghcr.io/group/project

添加自定义标签:

werf build --repo ghcr.io/group/project --add-custom-tag latest --add-custom-tag 1.2.1

构建并导出到其他仓库:

werf export --repo ghcr.io/group/project --tag ghcr.io/group/otherproject/%image%:latest

三、测试与任务执行

3.1 单元测试执行

在Kubernetes Pod中运行前端测试:

werf kube-run frontend_image --repo ghcr.io/group/project -- npm test

3.2 集成测试环境

准备集成测试环境并运行验收测试:

werf converge --repo ghcr.io/group/project --env integration_infra
werf kube-run --repo ghcr.io/group/project --env integration -- npm run acceptance-tests

四、发布与部署管理

4.1 发布包管理

创建可部署的发布包:

werf bundle publish --repo ghcr.io/group/project --tag 1.0.0

4.2 应用部署

使用预构建镜像部署:

werf converge --require-built-images --repo ghcr.io/group/project

部署特定版本的发布包:

werf bundle apply --repo ghcr.io/group/project --env production --tag 1.0.0

五、本地开发工作流

5.1 开发模式

Werf提供了便捷的本地开发模式:

werf converge --dev --repo ghcr.io/group/project

5.2 实时重载

开发时自动重载变更:

werf compose up --dev --follow

5.3 调试支持

构建失败时进入调试容器:

werf build --dev --introspect-error

六、资源清理

定期清理过期的镜像和元数据:

werf cleanup --repo ghcr.io/group/project

结语

Werf通过简化的命令行接口,将复杂的Kubernetes应用构建和部署流程变得简单高效。本文提供的速查指南涵盖了从开发到生产的全生命周期操作,帮助开发者快速上手Werf并应用于实际项目中。无论是本地开发调试,还是CI/CD流水线集成,Werf都能提供一致且可靠的解决方案。