rancher+gitlab+appveyor 实现 CI/CD 流水线(汇总)

rancher+gitlab+appveyor 实现 CI/CD 流水线

  • 本文主要是做一些汇总,将近期接触并弄好的一些工具整合起来,弄一套流水线,减轻一定工作压力

工具介绍

  • 所有的组件都是使用 docker 跑的,所以一款好用的 docker 的 ui 管理工具很重要,那就是rancher。这里只是用来管理一些工具,有点屈才了
  • 项目代码托管使用 gitlab,其内置了 CI/CD,成套使用,非常方便
  • appveyor 也是一个 CI/CD 解决方案,基于asp.net core开发。其内置 nuget server,这里只用到 nuget 包管理,CI/CD 的工作交给gitlab-runner

相关教程

感想

  • 从今年开始,陆陆续续接触 docker,寻找最佳切入点,幸遇 rancher,一个很好用的 docker 集群管理工具。其实一开始只是想要个管理工具,填写镜像、设置端口、设置数据卷等,操作更加方便,还有备份数据什么的。使用的过程中发现,docker 对于快速部署,还原备份,快速验证一些技术都很给力,无论是生产使用还是个人使用,都很棒
  • 公司使用的源码管理是 svn,起初是由于迁就一小部分人,而后来的同事大都会 git,考虑迁移到 git。并且在一次小事故中,由于 svn 不是分布式的,独服务器一份版本记录,与本地的对不上,需要重新提交最后一次的代码,管理不当很容器造成损失。最要紧的是,由于历史原因,所有的项目都是在同一个目录,随着项目越来越多,这个库越来越大,也越来不好管理,迁移到 git 势在必行。既然要迁移,并考虑到以后的发展,与现代技术接轨,最好是 docker 部署,那 gitlab 是很好地选择

下一目标

  • 下一阶段就是要补齐上面所述实例,真正将这流水线用起来,发挥它应有的作用
  • 首先是添加前端项目的自动部署,一个难题是项目需要部署到 win 服务器,将在 linux 打包好的前端项目部署过去
  • 然后是授权中心,同一账号管理。新项目开发直接使用授权中心登陆,免去重复登陆麻烦

补充

  • rancher可以不使用,整个流水线跑起来只需要gitlab+gitlab-runner+docker

总结

  • 一路走来,以工作中可能用到的技术为指导,不断学习使用组合各种工具,尽可能提高工作效率,抽出更多时间学习更深层东西。感觉提高的不仅是学习能力,还有相应的思想提升
  • 在如今项目复杂度增加,技术应用越来越复杂的环境中,单单会一点技术是不够的。环境要求我们必须是个多面手,深入研究一门技术,其他作为拓展,横纵一起发展,才能从容应对

原文地址:https://www.cnblogs.com/xxred/p/12096948.html

时间: 2024-10-28 22:22:06

rancher+gitlab+appveyor 实现 CI/CD 流水线(汇总)的相关文章

如何使用GitLab和Rancher构建CI/CD流水线 – Part 2

这是我们使用GitLab和Rancher构建CI/CD流水线系列教程的第二部分.第一部分的内容介绍了如何部署.配置和确保GitLab在Rancher的运行.这一部分中,我们将介绍如何使用GitLab CI Multi-Runner构建容器,以及如何使用GitLab容器registry配置项目.除此之外,我们还将涉及如何用GitLab CI建立容器并部署到Rancher上. 使用GitLab CI Multi-Runner构建容器 GitLab CI是用于持续集成和持续交付的强大工具.它需要和Ra

Jenkins与Docker的自动化CI/CD流水线实战

Jenkins与Docker的自动化CI/CD流水线实战 标签(空格分隔): docker的部分 一:什么是CI/CD 二: 发布流程设计 三:部署Git仓库并上传测试代码 一:什么是CI/CD 持续集成(Continuous Integration,CI):代码合并.构建.部署.测试都在一起,不断地执行这个过程,并对结果反馈. 持续部署(Continuous Deployment,CD):部署到测试环境.预生产环境.生产环境. 持续交付(Continuous Delivery,CD):将最终产

容器平台自动化CI/CD流水线实操

CI/CD----(实操说明) CI/CD 持续集成(Continuous Integration, CI):  代码合并,构建,部署,测试都在一起,不断地执行这个过程,并对结果反馈. 持续部署(Continuous Deployment, CD): 部署到测试环境.预生产环境.生成环境. 持续部署(Continuous Delivery, CD):  将最终产品发布到生成环境.给用户使用. Jenkins与容器技术CI/CD实战 说明:这张图稍微更形象一点,上线之前先把代码git到版本仓库,然

centos7下使用gitlab+shell实现CI/CD持续集成持续部署

centos7下使用gitlab+shell实现CI/CD持续集成持续部署 流程解释:第一步ci客户端向gitlab服务器注册自己,建立通信,第二步,当项目分支代码收到变化时,自动触发yml脚本,yml脚本根据注册时带入的runner通知客户端deploy脚本更新代码,同时执行编译和部署过程,deploy脚本写代码集成相关操作,具体见下面的讲解 CI部分 第一步:准备三台虚拟机S,C1,C2,我这里的三台机子都是全新的,除了系统文件没有其他文件 S:内存是4G用于装gitlab服务器 IP:19

docker与jenkins的自动化CI/CD流水线实战

docker与jenkins的自动化CI/CD流水线实战 在互联网时代,对于每一家公司,软件开发和发布的重要性不言而喻,目前已经形成一套标准的流程,最重要的组成部分就是持续集成(CI)及持续部署.交付(CD).本文基于Jenkins+Docker+Git实现一套CI自动化发布流程. 高效的CI/CD环境可以获得: ? 及时发现问题 ? 大幅度减少故障率 ? 加快迭代速度 ? 减少时间成本 一.发布流程设计 总结:开发===>提交代码到Git/Svn===>推送到Jenkins====>通

5步实现规模化的Kubernetes CI/CD 流水线

一.背景在近几年,Kubernetes迅速成为了容器编排的事实上的开源标准.与虚拟机不同,Kubernetes在抽象化基础架构的同时可靠地大规模编排容器,这可以帮助开发人员将工作负载与基础架构的复杂性质分开.Kubernetes是CI/CD自动化的理想选择,因为它提供了许多内置功能,这些功能使应用程序部署实现标准化和可重用,提高了开发人员的生产力,并加快了云原生应用程序的采用.Platform9是成立于2013年的云服务提供商,能够提供业界唯一由SaaS管理的混合云解决方案,使用户能够快速采用云

Jenkins与Docker/Kubernetes的自动化CI/CD流水线实践--免费直播课等你来约

直播老师简介: 李振良·奇虎360-高级运维工程师,主要负责360浏览器业务运维.7年互联网运维工作经验,具备丰富的运维实战经验,曾主导容器云平台建设并将业务容器化部署 老师博客专栏地址:基于Kubernetes企业级容器云平台落地与实践 直播课内容大纲: 1.什么是CI/CD?2.Jenkins Pipeline2.Jenkins与Docker发布JAVA项目3.Jenkins与Kubernetes发布JAVA项目 直播时间: 2018年7月26日(本周四)晚8点30分--9点30分 QQ群直

如何使用GitLab和Rancher构建CI/CD流水线–Part 1

介绍 GitLab核心是集成管理Git存储库的工具.比如你希望创建一个提供服务的平台,那么GitLab将提供强大的身份验证和授权机制.工作组.问题跟踪.wiki和片段,除此之外还有公有.内部和私有存储库. GitLab强大之处在于,它包含强大的持续集成(CI)引擎和Docker容器镜像仓库,让使用者从开发到发布都使用相同的实用工具.它还有两个更强大的开源软件实用工具:Prometheus负责监控,Mattermost负责和团队沟通.该平台有着坚实的API并能和多个现有第三方系统集成,如:JIRA

jenkins自动化pipline的ci/cd流水线

pipeline { agent any tools { //工具必须预先在jenkins中预配置 maven 'mvn' jdk 'jdk' } stages { stage('Env') { steps { sh 'printenv' } } stage('git') { steps{ checkout([$class: 'GitSCM', branches: [[name: '*/develop']], doGenerateSubmoduleConfigurations: false, e