
nulldriver/cf-cli-resourcecf-cli-resource 是一个Concourse资源类型,专门用于在Concourse CI/CD流水线中与Cloud Foundry平台交互。它允许用户在流水线中执行各类cf cli(Cloud Foundry命令行工具)命令,实现对Cloud Foundry部署的自动化操作,如应用推送、服务管理、环境配置等,简化Cloud Foundry相关的CI/CD流程。
cf login、cf push、cf create-service、cf bind-service、cf scale等常用操作在Concourse pipeline配置中声明cf-cli-resource资源类型:
yamlresource_types: - name: cf-cli-resource type: docker-image source: repository: nulldriver/cf-cli-resource tag: latest # 可指定具体版本,如"v1.2.3"
定义具体的资源实例,配置Cloud Foundry连接信息:
yamlresources: - name: cf-deploy-action type: cf-cli-resource source: api: [***] # Cloud Foundry API端点 username: ((cf-username)) # Cloud Foundry用户名(建议使用Concourse变量存储) password: ((cf-password)) # Cloud Foundry密码(建议使用Concourse变量存储) org: my-organization # 目标组织名称 space: my-space # 目标空间名称 # 可选配置 skip_cert_check: false # 是否跳过SSL证书检查(默认false) cf_cli_version: "8.6.0" # 指定cf cli版本(默认使用最新版)
在Concourse Job中通过put步骤执行cf cli命令:
yamljobs: - name: deploy-to-cloudfoundry plan: - get: application-source # 获取应用源代码(假设已配置代码资源) - put: cf-deploy-action params: command: push my-app -p application-source # 执行cf push命令部署应用 working_dir: /tmp # 可选,命令执行的工作目录 environment: # 可选,设置环境变量 - APP_ENV=production - LOG_LEVEL=info
可在params.command中指定各类cf cli命令:
push my-app -p ./app --no-startcreate-service p-mysql 100mb my-databasebind-service my-app my-databasestart my-appscale my-app -i 3set-env my-app API_KEY ((api-key))| 参数 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
| api | Cloud Foundry API端点URL | 是 | 无 |
| username | Cloud Foundry登录用户名 | 是 | 无 |
| password | Cloud Foundry登录密码 | 是 | 无 |
| org | 目标组织名称 | 是 | 无 |
| space | 目标空间名称 | 是 | 无 |
| skip_cert_check | 是否跳过SSL证书验证(布尔值) | 否 | false |
| cf_cli_version | cf cli工具版本 | 否 | latest |
| 参数 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
| command | 要执行的cf cli命令字符串 | 是 | 无 |
| working_dir | 命令执行的工作目录路径 | 否 | / |
| environment | 环境变量列表,格式为- KEY=VALUE | 否 | 空列表 |
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务