首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页标签持续部署

#持续部署

自动化发布各类软件制品包

持续部署有哪些主要步骤

持续部署(CD)的主要步骤包括:编写代码、代码审查、构建、测试、部署和回滚。这些步骤通常都是自动化执行的,以便快速、频繁地发布新的软件版本。以下是这些步骤的解释和举例: 1. **编写代码**:开发人员编写新的代码或对现有代码进行修改。 示例:在腾讯云云开发(Tencent Cloud Dev)中,开发人员可以在云端编写、测试和部署代码。 2. **代码审查**:其他开发人员检查代码,以确保代码质量和符合编码规范。 示例:在腾讯云代码仓库(Tencent Cloud CodeHub)中,开发人员可以创建 Pull Request,等待其他团队成员审查并合并代码。 3. **构建**:将代码转换为可执行的文件或应用。 示例:在腾讯云云编译(Tencent CloudCOMPILE)中,可以自动构建并编译代码。 4. **测试**:对构建好的应用进行测试,以确保其功能正常且没有缺陷。 示例:在腾讯云测试服务(Tencent Cloud Test)中,可以自动执行测试用例并报告测试结果。 5. **部署**:将应用部署到生产环境中,供用户使用。 示例:在腾讯云云部署(Tencent Cloud Deployment)中,可以自动部署应用并管理部署流程。 6. **回滚**:在出现问题或需要修复时,将应用回滚到之前的稳定版本。 示例:在腾讯云云回滚(Tencent Cloud Rollback)中,可以自动创建和应用回滚策略,以确保应用始终处于稳定状态。 通过以上步骤和腾讯云相关产品,持续部署可以确保软件始终处于可发布状态,并提高软件的交付速度和质量。... 展开详请
持续部署(CD)的主要步骤包括:编写代码、代码审查、构建、测试、部署和回滚。这些步骤通常都是自动化执行的,以便快速、频繁地发布新的软件版本。以下是这些步骤的解释和举例: 1. **编写代码**:开发人员编写新的代码或对现有代码进行修改。 示例:在腾讯云云开发(Tencent Cloud Dev)中,开发人员可以在云端编写、测试和部署代码。 2. **代码审查**:其他开发人员检查代码,以确保代码质量和符合编码规范。 示例:在腾讯云代码仓库(Tencent Cloud CodeHub)中,开发人员可以创建 Pull Request,等待其他团队成员审查并合并代码。 3. **构建**:将代码转换为可执行的文件或应用。 示例:在腾讯云云编译(Tencent CloudCOMPILE)中,可以自动构建并编译代码。 4. **测试**:对构建好的应用进行测试,以确保其功能正常且没有缺陷。 示例:在腾讯云测试服务(Tencent Cloud Test)中,可以自动执行测试用例并报告测试结果。 5. **部署**:将应用部署到生产环境中,供用户使用。 示例:在腾讯云云部署(Tencent Cloud Deployment)中,可以自动部署应用并管理部署流程。 6. **回滚**:在出现问题或需要修复时,将应用回滚到之前的稳定版本。 示例:在腾讯云云回滚(Tencent Cloud Rollback)中,可以自动创建和应用回滚策略,以确保应用始终处于稳定状态。 通过以上步骤和腾讯云相关产品,持续部署可以确保软件始终处于可发布状态,并提高软件的交付速度和质量。

什么是持续部署

持续部署(Continuous Deployment,简称CD)是一种自动化软件发布策略,它要求在代码变更后尽可能快地进行部署,通常是通过自动化构建、测试和部署流程来实现的。其主要目标是减少软件发布周期,提高软件质量,降低发布风险,并确保软件始终处于可部署状态。 例如,一个典型的持续部署流程可能包括以下步骤: 1. 开发者将代码变更提交到版本控制系统,如Git。 2. 持续集成工具(如Jenkins)检测到代码变更,自动触发构建过程。 3. 构建过程中,代码会被编译、打包并部署到测试环境中。 4. 自动测试工具对部署的应用程序进行测试,确保其功能和性能符合预期。 5. 如果测试通过,构建好的应用程序将自动部署到生产环境中。 腾讯云的相关产品推荐: 1. 腾讯云DevOps:提供了全面的持续集成、持续部署、持续交付和持续监控能力,帮助用户实现自动化流程。 2. 腾讯云容器服务:支持容器化应用的构建、部署和管理,可以配合持续部署流程,快速部署和管理容器化应用。 3. 腾讯云服务器:提供了高性能、高可用的云服务器资源,支持用户在云端快速部署和管理应用程序。... 展开详请

如何进行持续集成和持续部署(CI/CD)?

答案:使用 Jenkins 和 Docker。 解释:持续集成(CI,Continuous Integration)和持续部署(CD,Continuous Deployment)是软件开发中的两个重要实践,它们有助于加快开发速度,确保代码质量,并使软件更快地适应变化。Jenkins 是一个开源的自动化服务器,可以用于自动化诸如编译、测试和部署等软件开发任务。Docker 是一个容器技术,可以简化应用程序的部署和管理。 举例:假设你正在开发一个 Web 应用程序,你可以使用 Jenkins 编写一个构建脚本,每次有新的代码提交到版本控制系统(如 Git)时,Jenkins 都会自动编译、测试并部署应用程序。你还可以使用 Docker 将应用程序和其依赖项打包成一个容器,这样就可以在不同的环境中轻松部署和运行应用程序。通过结合 Jenkins 和 Docker,你可以实现持续集成和持续部署,从而提高你的软件开发效率和质量。 腾讯云相关产品推荐:腾讯云 Jenkins、腾讯云容器服务(TKE)。腾讯云 Jenkins 是一款与 Jenkins 兼容的云原生 CI/CD 服务,可以帮助用户快速搭建 CI/CD 环境。腾讯云容器服务(TKE)是一个高性能、可扩展的容器运行服务,可以支持 Docker 和 Kubernetes,帮助用户轻松部署和管理容器化应用程序。... 展开详请

如何进行持续集成和持续部署(CI/CD)

答案:使用腾讯云的CI/CD(持续集成持续部署)工具,例如腾讯云云开发TeeCI。 解释:持续集成(CI)和持续部署(CD)是软件开发中的两个重要实践,旨在加速软件开发过程并确保代码质量。CI/CD工具自动化了从代码提交到部署的整个过程。 例如,一个开发团队在本地编写代码,当开发完成后,会将代码推送到代码仓库(如GitHub)。代码仓库触发CI/CD工具的构建任务,工具会自动下载代码,编译程序,执行单元测试,并将结果报告给团队。如果构建成功,工具会自动将代码部署到预发布的环境中,进行功能测试、性能测试等。如果测试通过,则会将代码部署到生产环境中,从而确保用户可以访问到最新的功能。 腾讯云的CI/CD工具可以与企业微信、腾讯云服务器、腾讯云云数据库等腾讯云产品配合使用,实现自动化部署和管理。... 展开详请

功能介绍

已采纳
在添加 Kubenetes 云账号时,可以选择 Kubeconfig 或 Service Account 认证方式: [1f416073159c1d705a6c944d84764959.png] 如果拿到了 Kubeconfig 指定证书文件认证(以如下的 Kubeconfig 为例: certificate-authority、client-certificate 和 client-key 都指的是某个具体文件,并且文件中包含了证书信息)。那么在添加云账号之前,需要把证书文件转换为 base64 编码过后的字符串。 apiVersion: v1 kind: Config clusters: - cluster: certificate-authority: */ca.crt server: https://****** name: demo contexts: - context: cluster: demo user: demo name: demo current-context: demo preferences: {} users: - name: demo user: client-certificate: */client.crt client-key: */client.key 下面将会讲解如何进行转换操作。... 展开详请

获取证书文件的 base64 编码

已采纳
执行命令: OS X cat "证书文件" | base64 Linux cat "证书文件" | base64 Windows certutil -f -encode "证书文件" "输出文件"... 展开详请

更新 Kubeconfig 文件

已采纳
将 certificate-authority 改为 certificate-authority-data,并且将 */ca.crt 证书文件经 base64 编码后的字符串填入该位置。 将 client-certificate 改为 client-certificate-data,并且将 */client.crt 证书文件经 base64 编码后的字符串填入该位置。 将 client-key 改为 client-key-data,并且将 */client.key 证书文件 base64 编码后的字符串填入该位置。 最终得到的内容如下: apiVersion: v1 kind: Config clusters: - cluster: certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZADQFURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwdGFXNXAKYTNWaVpVTkJNQjRYRFRJd01ESXhNREEwTURJMU1Wb1hEVE13TURJd09EQTBNREkxTVZvd0ZURVRNQkVHQTFVRQpBeE1LYldsdWFXdDFZbVZEUVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUc1CjYwU0txcHVXeE1mWlVabmVFakM5bjFseHFQSzdUTlVQbzROejFWcWxaQkt6NzJDVVErZjBtVGNQLy9oS3BQUVAKaG9pNndyaXJRUmVERTErRFIrOTZHVDIrSGZ3L2VHQTI5ZmErNS80UG5PWlpTUEVpS3MxVVdhc0VqSDJVZG4xTwpEejVRZk1ESkFjZlBoTzV0eUZFaGZNa2hid0Y2QkJONnh5RmJJdXl4OThmZGx5SWJJUnpLSml6VWZQcUx2WUZoCmFQbjF4WFZyT2QyMnFtblgzL2VxZXM4aG51SmpJdlVPbWRDRlhjQVRYdE00Wmw2bERvWUs2VS9vaEFzM0x4VzAKWUV4ZkcxMzFXdjIrR0t4WWV2Q0FuMitSQ3NBdFpTZk9zcVljMmorYS9FODVqdzcySlFkNGd6eGlHMCszaU14WApWaGhpcWFrY1owZlRCc0FtZHY4Q0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUIwR0ExVWRKUVFXCk1CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFDKzFuU2w0dnJDTEV6eWg0VWdXR3ZWSldtV2ltM2dBWFFJU1R2WG56NXZqOXE3Z0JYSwpCRVUyakVHTFF2UEJQWUZwUjhmZllCZCtqT2xtYS9IdU9ISmw0RUxhaHJKbnIwaU9YcytoeVlpV0ZUKzZ2R05RCmY4QnAvNTlkYzY1ejVVMnlUQjd4VkhMcGYzRTRZdUN2NmZhdy9PZTNUUzZUbThZdFBXREgxNDBOR2ZKMHlWRlYKSzZsQnl5THMwMzZzT1V5ZUJpcEduOUxyKytvb09mTVZIU2dpaEJlcEl3ZVVvYk05YU1ram1Hb2VjNk5HTUN3NwpkaFNWTmdMNGxMSnRvRktoVDdTZHFjMmk2SWlwbkJrdUlHUWRJUFliQnF6MkN5eVMyRkZmeEJsV2lmNmcxMTFTClphSUlpQ0lLbXNqeDJvTFBhOUdNSjR6bERNR1hLY1ZyNnhhVQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== server: https://****** name: demo contexts: - context: cluster: demo user: demo name: demo current-context: demo preferences: {} users: - name: demo user: client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURBRENDQWVpZ0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwdGFXNXAKYTNWaVpVTkJNQjRYRFRJd01ESXhNekV5TXpreU5sb1hEVEl4TURJeE16RXlNemt5Tmxvd01URVhNQlVHQTFVRQpDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGakFVQmdOVkJBTVREVzFwYm1scmRXSmxMWFZ6WlhJd2dnRWlNQTBHCkNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDdEp5MThYOGVBaVlJc1g3Z0xQazBOZEFuRlNJU0kKeXNGMGIzS21CTk9VclRIcGtnaUFwRldmZDJaVXNZR3Iwd0VBL0FIWm9PMUxPUHdqYzEyb2o1bGIwWlNNWTlMaQpVeW9UQ3huREZIVDJIQnlPNCtGRk5pVCtXTU5FTURURWxERXhlano1WVIwb1pZVjN2V2Z5T3l2SlBna1dFU29IClVVcnVvQmRRbU5LUzhCeXhIUmFvcnFJUFRVRGkzUFJIbTlGZERKV1lNTWpnbDZmbmdHWkRQMnpjTlNFZjRGNzYKc2FUK0VhMU1kbjV5akRCNXczaHJvZXBBclc0QVUyR3NTRFZyTHY2UDFiSWV0RDdONjZrT1BBNklIUlRKbUNLLwp2aEJrbGVPMGFwcERzTERDT3hpMkc2Q1BRNDZVYVZUOEhZMk9sQU5nSmtRRDNwYjFXTnlhQlVpRkFnTUJBQUdqClB6QTlNQTRHQTFVZER3RUIvd1FFQXdJRm9EQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBTHVrZ1dxWnRtbkZITlcxYgpqL012ekcxTmJyUEtWYXVobml5RzRWWnRZYzR1Uk5iSGhicEhEdThyamc2dVB1Y0xMdHAzblU2UGw4S2J2WFpiCmplNmJQR2xvV3VBcFIrVW9KRFQ2VEpDK2o2Qm5CSXpWQkNOL21lSWVPQ0hEK1k5L2dtbzRnd2Q4c2F3U0Z1bjMKZTFVekF2cHBwdTVZY05wcU92aUkxT2NjNGdxNTd2V1h1MFRIdUJkM0VtQ2JZRXUzYXhOL25ldnhOYnYxbDFRSQovSzRaOWw3MXFqaEp3SVlBaHUzek5pTWpCU1VTRjJkZnd2NmFnclhSUnN6b1Z4ejE5Mm9qM2pWU215cXZxeVFrCmZXckpsc3VhY1NDdTlKUE44OUQrVXkwVnZXZmhPdmp4cXVRSktwUW9hMzlQci81Q3YweXFKUkFIMkk5Wk1IZEYKNkJQRVBRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVQSLS0tLQpNSUlFcEFJQkFBS0NBUUVBclNjdGZGL0hnSW1DTEYrNEN6NU5EWFFKeFVpRWlNckJkRzl5cGdUVGxLMHg2WklJCmdLUlZuM2RtVkxHQnE5TUJBUHdCMmFEdFN6ajhJM05kcUkrWlc5R1VqR1BTNGxNcUV3c1p3eFIwOWh3Y2p1UGgKUlRZay9sakRSREEweEpReE1YbzgrV0VkS0dXRmQ3MW44anNyeVQ0SkZoRXFCMUZLN3FBWFVKalNrdkFjc1IwVwpxSzZpRDAxQTR0ejBSNXZSWFF5Vm1EREk0SmVuNTRCbVF6OXMzRFVoSCtCZStyR2svaEd0VEhaK2Nvd3dlY040CmE2SHFRSzF1QUZOaHJFZzFheTcrajlXeUhyUSt6ZXVwRGp3T2lCMFV5Wmdpdjc0UVpKWGp0R3FhUTdDd3dqc1kKdGh1Z2owT09sR2xVL0IwdGpwUURZQ1pFQTk2VzlWamNtZ1ZJaFFJREFRQUJBb0lCQUdDazVGTnVGaWtkRndYegphd01EZy9oRlV3ckZIZ3hIdHRCcFFBRi80aVF5d3hBT0RTYllFbDVPUTFSME90OFBoNWpvRDVSTHFRWjZTT2owCmhFc0gwMTRYVFNWS3RqTFNua0pBeU9GRWNyL0hFdjJDSFlNRzVJRCtSQWEwTFUrbk13bmRvMWpCcG9lY21uRXAKeTNHOUt3Ukkxc04xVXhNQWdhVk12NWFocGE2UzRTdENpalh3VGVVWUxpc1pSZGp5UGljUWlQN0xaSnhBcjRLTgpTUHlDNE1IZTJtV3F3cjM5cnBrMWZ3WkViMTRPMjR2Z3dMYmROTFJYdVhZSTdicEpOUGRJbEQvRExOQkJSL0FVCjhJYjNDaTZwZ2M4dFA4VzJCeW9TQUJVZUNpWDRFM21wQUttVytKbzFuU3FwQ1FnM2JGV0RpRjFrKzdEZjJZM3IKc09UT0srVUNnWUVBMTBEb3BtRVcrNnowanZadVFZdFlPWlVQQzZwV0dBaDFLWlVHZndYVWVLQ3dnNlNuQW9qRwpuMjR4bWJVdTlzRzBjd2syK0VVcXh3S2IrR2NJVTdyNVdOaUNXNVZYQzV5ZUp3OFZiMWtQekRzMSs4YzA4VjNhCkkzNHluOHpjZm1WTkZOUm1ZS1FMK1FGbnZ3ZXM4NFRleGVBb1hGY2FQcVZTNDNVV2JHRW02ZThDZ1lFQXplNFkKeUxYQ2pWNVppajFsUTdkQ2FweEQvL0dCT2JsemRocXRuSjl1OWxyVkQ4Y3RvUEVKYVkwVFFWc3FaNVhCdTNtVApLb0w4bmZjWHg4cWR3Z3gvZFRHa2c3d00rZFkrUTFuVDNOWnRFSVdVUkR3T0hLT1N1Tm5kdnU1a1Q4aXRrdHhhCktrYVlSMlNOT25iMlFzb1ZHa3F5OS9QK0xWL0FyeWdScmtaYXVNc0NnWUVBaGpUTkdUYzltaXNxeTV2d0FHTzkKM1NFSG9YRlJmbWgvakM2RFAxMUdMUE9iT21qRlREbzFCS0F5d3JBSm1RWUsyUkpzdUh4L2dGY3JJY1F6bCtqaQpvRGRWaDM1a0tEUTlFd00valE0TllIdW1XOVhITjVvWmNMbTFISmNnL3Bsd1pzVkxFNFFVaHVzT1lUZUs2TVgyCkU0OS8rcHJBSFVEOG5oNlpuWGN4U1BjQ2dZRUFub0lQcDZab1MwSjliMi9VbTJ2YS9vNnJ0TDBpOTlpc2JCTWEKNFR6RFAzTXBIc3owYlRZN1JYaW1ncDcybytiY3lUNUtMZVhISnB3RVBPL1R3SUs0Tk8veUxzZzN3TExOR0RCegphRC9Ra1hBUWNQazg3NFJrc2s1WVpkZS9kTDRHQk00QnhScXpxZmhXME5LeXVUUXRUQ0NGWTEvMm5OeGdSekp6CmNZNkwxRU1DZ1lCdXpHRkJVeXM4TFpHekFNTWdmN1VRQ0dVZERrT2dJRHdzd0dxVVlxQ2ZLcnlGYVdCOUJvSi8KMnJMVmVYNDVXTnFpa0tCMlgvckdRbGFIK25YalRBaDlpN0NrWGRySUQzeXA1cGJBa0VnYjg3dGo2Y3hONlBOcQo5cnhzOU1lR0NleFhsdjBkUUpMUkowNXU2OEVxYm44Q0RIOXFRSWZaTml0NXA0S0JFVkp3L1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=... 展开详请
将 certificate-authority 改为 certificate-authority-data,并且将 */ca.crt 证书文件经 base64 编码后的字符串填入该位置。 将 client-certificate 改为 client-certificate-data,并且将 */client.crt 证书文件经 base64 编码后的字符串填入该位置。 将 client-key 改为 client-key-data,并且将 */client.key 证书文件 base64 编码后的字符串填入该位置。 最终得到的内容如下: apiVersion: v1 kind: Config clusters: - cluster: certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZADQFURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwdGFXNXAKYTNWaVpVTkJNQjRYRFRJd01ESXhNREEwTURJMU1Wb1hEVE13TURJd09EQTBNREkxTVZvd0ZURVRNQkVHQTFVRQpBeE1LYldsdWFXdDFZbVZEUVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUc1CjYwU0txcHVXeE1mWlVabmVFakM5bjFseHFQSzdUTlVQbzROejFWcWxaQkt6NzJDVVErZjBtVGNQLy9oS3BQUVAKaG9pNndyaXJRUmVERTErRFIrOTZHVDIrSGZ3L2VHQTI5ZmErNS80UG5PWlpTUEVpS3MxVVdhc0VqSDJVZG4xTwpEejVRZk1ESkFjZlBoTzV0eUZFaGZNa2hid0Y2QkJONnh5RmJJdXl4OThmZGx5SWJJUnpLSml6VWZQcUx2WUZoCmFQbjF4WFZyT2QyMnFtblgzL2VxZXM4aG51SmpJdlVPbWRDRlhjQVRYdE00Wmw2bERvWUs2VS9vaEFzM0x4VzAKWUV4ZkcxMzFXdjIrR0t4WWV2Q0FuMitSQ3NBdFpTZk9zcVljMmorYS9FODVqdzcySlFkNGd6eGlHMCszaU14WApWaGhpcWFrY1owZlRCc0FtZHY4Q0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUIwR0ExVWRKUVFXCk1CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFDKzFuU2w0dnJDTEV6eWg0VWdXR3ZWSldtV2ltM2dBWFFJU1R2WG56NXZqOXE3Z0JYSwpCRVUyakVHTFF2UEJQWUZwUjhmZllCZCtqT2xtYS9IdU9ISmw0RUxhaHJKbnIwaU9YcytoeVlpV0ZUKzZ2R05RCmY4QnAvNTlkYzY1ejVVMnlUQjd4VkhMcGYzRTRZdUN2NmZhdy9PZTNUUzZUbThZdFBXREgxNDBOR2ZKMHlWRlYKSzZsQnl5THMwMzZzT1V5ZUJpcEduOUxyKytvb09mTVZIU2dpaEJlcEl3ZVVvYk05YU1ram1Hb2VjNk5HTUN3NwpkaFNWTmdMNGxMSnRvRktoVDdTZHFjMmk2SWlwbkJrdUlHUWRJUFliQnF6MkN5eVMyRkZmeEJsV2lmNmcxMTFTClphSUlpQ0lLbXNqeDJvTFBhOUdNSjR6bERNR1hLY1ZyNnhhVQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== server: https://****** name: demo contexts: - context: cluster: demo user: demo name: demo current-context: demo preferences: {} users: - name: demo user: client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURBRENDQWVpZ0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwdGFXNXAKYTNWaVpVTkJNQjRYRFRJd01ESXhNekV5TXpreU5sb1hEVEl4TURJeE16RXlNemt5Tmxvd01URVhNQlVHQTFVRQpDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGakFVQmdOVkJBTVREVzFwYm1scmRXSmxMWFZ6WlhJd2dnRWlNQTBHCkNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDdEp5MThYOGVBaVlJc1g3Z0xQazBOZEFuRlNJU0kKeXNGMGIzS21CTk9VclRIcGtnaUFwRldmZDJaVXNZR3Iwd0VBL0FIWm9PMUxPUHdqYzEyb2o1bGIwWlNNWTlMaQpVeW9UQ3huREZIVDJIQnlPNCtGRk5pVCtXTU5FTURURWxERXhlano1WVIwb1pZVjN2V2Z5T3l2SlBna1dFU29IClVVcnVvQmRRbU5LUzhCeXhIUmFvcnFJUFRVRGkzUFJIbTlGZERKV1lNTWpnbDZmbmdHWkRQMnpjTlNFZjRGNzYKc2FUK0VhMU1kbjV5akRCNXczaHJvZXBBclc0QVUyR3NTRFZyTHY2UDFiSWV0RDdONjZrT1BBNklIUlRKbUNLLwp2aEJrbGVPMGFwcERzTERDT3hpMkc2Q1BRNDZVYVZUOEhZMk9sQU5nSmtRRDNwYjFXTnlhQlVpRkFnTUJBQUdqClB6QTlNQTRHQTFVZER3RUIvd1FFQXdJRm9EQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBTHVrZ1dxWnRtbkZITlcxYgpqL012ekcxTmJyUEtWYXVobml5RzRWWnRZYzR1Uk5iSGhicEhEdThyamc2dVB1Y0xMdHAzblU2UGw4S2J2WFpiCmplNmJQR2xvV3VBcFIrVW9KRFQ2VEpDK2o2Qm5CSXpWQkNOL21lSWVPQ0hEK1k5L2dtbzRnd2Q4c2F3U0Z1bjMKZTFVekF2cHBwdTVZY05wcU92aUkxT2NjNGdxNTd2V1h1MFRIdUJkM0VtQ2JZRXUzYXhOL25ldnhOYnYxbDFRSQovSzRaOWw3MXFqaEp3SVlBaHUzek5pTWpCU1VTRjJkZnd2NmFnclhSUnN6b1Z4ejE5Mm9qM2pWU215cXZxeVFrCmZXckpsc3VhY1NDdTlKUE44OUQrVXkwVnZXZmhPdmp4cXVRSktwUW9hMzlQci81Q3YweXFKUkFIMkk5Wk1IZEYKNkJQRVBRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVQSLS0tLQpNSUlFcEFJQkFBS0NBUUVBclNjdGZGL0hnSW1DTEYrNEN6NU5EWFFKeFVpRWlNckJkRzl5cGdUVGxLMHg2WklJCmdLUlZuM2RtVkxHQnE5TUJBUHdCMmFEdFN6ajhJM05kcUkrWlc5R1VqR1BTNGxNcUV3c1p3eFIwOWh3Y2p1UGgKUlRZay9sakRSREEweEpReE1YbzgrV0VkS0dXRmQ3MW44anNyeVQ0SkZoRXFCMUZLN3FBWFVKalNrdkFjc1IwVwpxSzZpRDAxQTR0ejBSNXZSWFF5Vm1EREk0SmVuNTRCbVF6OXMzRFVoSCtCZStyR2svaEd0VEhaK2Nvd3dlY040CmE2SHFRSzF1QUZOaHJFZzFheTcrajlXeUhyUSt6ZXVwRGp3T2lCMFV5Wmdpdjc0UVpKWGp0R3FhUTdDd3dqc1kKdGh1Z2owT09sR2xVL0IwdGpwUURZQ1pFQTk2VzlWamNtZ1ZJaFFJREFRQUJBb0lCQUdDazVGTnVGaWtkRndYegphd01EZy9oRlV3ckZIZ3hIdHRCcFFBRi80aVF5d3hBT0RTYllFbDVPUTFSME90OFBoNWpvRDVSTHFRWjZTT2owCmhFc0gwMTRYVFNWS3RqTFNua0pBeU9GRWNyL0hFdjJDSFlNRzVJRCtSQWEwTFUrbk13bmRvMWpCcG9lY21uRXAKeTNHOUt3Ukkxc04xVXhNQWdhVk12NWFocGE2UzRTdENpalh3VGVVWUxpc1pSZGp5UGljUWlQN0xaSnhBcjRLTgpTUHlDNE1IZTJtV3F3cjM5cnBrMWZ3WkViMTRPMjR2Z3dMYmROTFJYdVhZSTdicEpOUGRJbEQvRExOQkJSL0FVCjhJYjNDaTZwZ2M4dFA4VzJCeW9TQUJVZUNpWDRFM21wQUttVytKbzFuU3FwQ1FnM2JGV0RpRjFrKzdEZjJZM3IKc09UT0srVUNnWUVBMTBEb3BtRVcrNnowanZadVFZdFlPWlVQQzZwV0dBaDFLWlVHZndYVWVLQ3dnNlNuQW9qRwpuMjR4bWJVdTlzRzBjd2syK0VVcXh3S2IrR2NJVTdyNVdOaUNXNVZYQzV5ZUp3OFZiMWtQekRzMSs4YzA4VjNhCkkzNHluOHpjZm1WTkZOUm1ZS1FMK1FGbnZ3ZXM4NFRleGVBb1hGY2FQcVZTNDNVV2JHRW02ZThDZ1lFQXplNFkKeUxYQ2pWNVppajFsUTdkQ2FweEQvL0dCT2JsemRocXRuSjl1OWxyVkQ4Y3RvUEVKYVkwVFFWc3FaNVhCdTNtVApLb0w4bmZjWHg4cWR3Z3gvZFRHa2c3d00rZFkrUTFuVDNOWnRFSVdVUkR3T0hLT1N1Tm5kdnU1a1Q4aXRrdHhhCktrYVlSMlNOT25iMlFzb1ZHa3F5OS9QK0xWL0FyeWdScmtaYXVNc0NnWUVBaGpUTkdUYzltaXNxeTV2d0FHTzkKM1NFSG9YRlJmbWgvakM2RFAxMUdMUE9iT21qRlREbzFCS0F5d3JBSm1RWUsyUkpzdUh4L2dGY3JJY1F6bCtqaQpvRGRWaDM1a0tEUTlFd00valE0TllIdW1XOVhITjVvWmNMbTFISmNnL3Bsd1pzVkxFNFFVaHVzT1lUZUs2TVgyCkU0OS8rcHJBSFVEOG5oNlpuWGN4U1BjQ2dZRUFub0lQcDZab1MwSjliMi9VbTJ2YS9vNnJ0TDBpOTlpc2JCTWEKNFR6RFAzTXBIc3owYlRZN1JYaW1ncDcybytiY3lUNUtMZVhISnB3RVBPL1R3SUs0Tk8veUxzZzN3TExOR0RCegphRC9Ra1hBUWNQazg3NFJrc2s1WVpkZS9kTDRHQk00QnhScXpxZmhXME5LeXVUUXRUQ0NGWTEvMm5OeGdSekp6CmNZNkwxRU1DZ1lCdXpHRkJVeXM4TFpHekFNTWdmN1VRQ0dVZERrT2dJRHdzd0dxVVlxQ2ZLcnlGYVdCOUJvSi8KMnJMVmVYNDVXTnFpa0tCMlgvckdRbGFIK25YalRBaDlpN0NrWGRySUQzeXA1cGJBa0VnYjg3dGo2Y3hONlBOcQo5cnhzOU1lR0NleFhsdjBkUUpMUkowNXU2OEVxYm44Q0RIOXFRSWZaTml0NXA0S0JFVkp3L1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=

Role Binding

已采纳
最后,创建一个RoleBinding将上述的coding-cd-role与coding-cd-service-account进行绑定。 apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: coding-cd-role-binding namespace: webapp roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: coding-cd-role subjects: - namespace: default kind: ServiceAccount name: coding-cd-service-account... 展开详请

功能说明

已采纳
若希望在 Kubernetes 场景下(K8s 云账号)完成应用发布,CODING 持续部署需要调用相关的 Kubernetes APIs。CODING 团队不推荐您将 Kubernetes 集群所有权限皆授予 CODING CD;得益于 Kubernetes 的 RBAC(Role Based Access Control)机制,您可以给 CODING CD 配置应用发布所需的最小权限。下文是配置最小权限的指引。... 展开详请

Role

已采纳
CODING 推荐您在需要开放权限的命名空间中创建Role,并将ServiceAccount和Role进行绑定。 apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: coding-cd-role rules: - apiGroups: [""] resources: ["namespaces", "configmaps", "events", "replicationcontrollers", "serviceaccounts", "pods/logs"] verbs: ["get", "list"] - apiGroups: [""] resources: ["pods", "pods/portforward", "services", "services/proxy", "secrets"] verbs: ["*"] - apiGroups: ["autoscaling"] resources: ["horizontalpodautoscalers"] verbs: ["list", "get"] - apiGroups: ["apps"] resources: ["controllerrevisions", "statefulsets"] verbs: ["list"] - apiGroups: ["extensions", "app", "apps"] resources: ["deployments", "replicasets", "ingresses", "daemonsets"] verbs: ["*"]... 展开详请

Service Account

已采纳
下一步是为 CODING CD 创建一个Service Account,持续部署控制台将会用此Service Account与 Kubernetes 集群交互。您可以使用如下的 manifest 创建Service Account。 apiVersion: v1 kind: ServiceAccount metadata: name: coding-cd-service-account namespace: default... 展开详请

如何在配置持续部署过程的时候保护敏感信息?

已采纳

对于 Token、SSH 私钥、Kubernetes 证书等保密信息,可以在 CODING DevOps 网页端的任一项目选择项目设置 > 开发者选项 > 凭证管理,进入“凭证管理”页面中设置,并可以在此设定哪些持续部署发布流程可用。

如何发布源代码?

已采纳

很多常见的动态语言是没有编译和构建过程的,可以直接在应用的制品设置中配置 Git 代码仓库指明文件路径后发布。

如何配置审批流程?

已采纳
审批流程的配置分两步: 进入 CODING DevOps 网页端,选择任一项目,在项目中选择设置 > 属性与流程 > 审批流程设置,进入“审批流程设置”页面,可以给本项目添加若干个审批流程。 在持续部署 > 发布流程 > 关联审批中可以设置发布流程与审批流程的关系。设置完毕后,在提发布单进行发布的时候,系统会自动判别出来具体要预先执行哪一个审批流程。... 展开详请

发布单可以不审批执行么?

已采纳

可以,在发布流程的关联审批页面,不进行任何设置,则此发布流程就不需要审批,对应的发布单将在提单后直接开始执行。

持续部署支持哪些制品类型?

已采纳

持续部署支持 Docker 镜像、Generic 文件、War 包。

持续部署支持哪些集群类型?

已采纳

持续部署支持 CVM(Linux 操作系统)、TKE、SCF。

领券