Azure Devops管道进行CICD
1. CI\CD简介
a. CI/CD是持续集成(Continuous Integration)和持续交付(Continuous Delivery)的缩写,它旨在通过自动化的流程和工具,提高软件开发的效率、质量和交付速度。
b. CI(持续集成)
i. 持续集成是开发团队通过将代码的不同部分集成到共享存储库中,并频繁地进行构建和测试,以确保代码的一致性和稳定性。
ii. 关键组件
版本控制系统(Version Control System,VCS): 例如Git,用于跟踪代码变更,协作开发,并确保团队成员之间的代码同步。
iii. 自动化构建工具: 如Jenkins、Travis CI、CircleCI等,用于在每次代码提交时自动触发构建过程。
iv. 单元测试框架: 例如JUnit(Java)、pytest(Python),用于确保代码的基本功能在集成后仍然有效。
v. 作用
1. 减少集成问题
2. 提高代码质量
3. 提高开发效率
4. 自动化部署: 与持续交付(Continuous Delivery)和持续部署(Continuous Deployment)结合,CI 可以实现自动化部署。这意味着经过测试的代码变更可以自动部署到预定环境,实现快速且可靠的交付流程。
5. 降低风险: 通过频繁集成和自动测试,CI 减少了发布到生产环境时出现问题的可能性。提前发现和解决问题有助于降低风险,确保稳定的软件交付。
c. CD(持续交付、持续集成)
i. 持续交付建立在持续集成的基础上,通过自动化的流程确保软件可以随时随地进行部署。
ii. 关键组件
1. 自动化部署工具: 例如Docker、Ansible、Kubernetes等,用于自动化地部署应用程序和其依赖。
2. 环境配置管理: 工具如Terraform,确保不同环境(开发、测试、生产)的一致性。
3. 持续监控和反馈: 使用工具如Prometheus、Grafana,确保在部署后能够监控应用程序的性能和稳定性。
iii. 作用
1. 快速交付: 持续交付强调频繁、快速地将新的代码变更交付到生产环境。这使得团队能够更加迅速地响应用户需求,推出新功能或修复 bug。
2. 稳定交付: 通过自动化测试、自动化部署和验证流程,持续交付确保每次交付都是经过充分验证的,降低了引入错误的风险,提高了软件的稳定性。
3. 降低发布成本: 持续交付通过自动化流程降低了发布的人工成本。这意味着开发团队不再需要手动执行繁琐的部署步骤,减少了错误的可能性,提高了整体效率。
4. 支持持续改进: 持续交付是一个循环过程,通过不断收集用户反馈、监控系统性能和流程改进,团队能够不断优化持续交付流程,提高整体效率和质量。
2. 使用Ubuntu22.04版本安装docker
a. 检查卸载老版本dockerapt-get remove docker docker-engine docker.io containerd runc
b. 更新依赖包
1. 安装docker依赖
1. 添加docker官方GPG密钥
1. 添加docker软件源
1. 安装docker
1. 配置用户组(可选),重新登录才能生效
1. 运行docker
1. 安装工具
1. 重启docker
1. 查看版本
1.切换镜像源
2. 测试是否成功,可以尝试拉取mysql镜像:docker pull mysql
3. 查看拉取的mysql镜像:docker images
3. 软件开发三大常用方法论
瀑布模型
简而言之,就是等一个阶段所有工作完成之后,再进入下一个阶段。 这种模型适合条件比较理想化(用户需求非常明确、开发时间非常充足)的项目。 大家按部就班,轮流执行自己的职责即可。
敏捷开发(Agile Development)
用于描述迭代软件开发的术语。 迭代软件开发通过以短期增量(通常称为冲刺)的形式来完成工作,从而缩短工作生命周期。
Devops
DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合。
云端:Azure Devops官网 https://dev.azure.com,按照以下步骤创建项目
1. 点击项目设置,创建代理
点击创建的代理,进入如下界面,选择Agents,点击New agent,(我使用的Linux系统)
建议:下载好文件使用Xshell连接云服务器,使用Xftp上传
2. 点击项目,构建管道
开启Other Git权限
1. 点击组织设置,根据下图设置
PS:Save and run之前确保代理处于运行状态,下图为运行代理命令