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都能提供一致且可靠的解决方案。