前沿追踪|GitLabCI/CD自动集成和部署到远程服务器
目的是通过一个示例应用程序对GitLab CI/CD进行友好的了解 , 该应用程序有助于入门 , 而无需阅读所有GitLab文档 。
持续集成的工作原理是:将小的代码块-commits-推送到Git存储库中托管的应用程序的代码库中 , 并且每次推送时 , 都要运行脚本管道来构建 , 测试和验证代码更改 , 然后再将其合并到主分支中 。
持续交付和部署包括进一步的CI , 可在每次推送到存储库默认分支时将应用程序部署到生产环境 。 这些方法使您可以在开发周期的早期发现错误和错误 , 从而确保部署到生产环境的所有代码均符合为应用程序建立的代码标准 。
使用Gitlab CI/CD的主要好处之一是 , 您无需使用许多第三方插件和工具来创建工作流的繁琐过程 。 GitLab CI/CD由位于存储库根目录的一个名为.gitlab-ci.yml的文件配置 。 该文件中设置的脚本由GitLab Runner执行 。
要将脚本添加到该文件 , 需要按照您的应用程序适合的顺序组织它们 , 并通过执行的测试 。 为了可视化该过程 , 请想象添加到配置文件中的所有脚本与在计算机的终端上运行的命令相同 。
【前沿追踪|GitLabCI/CD自动集成和部署到远程服务器】这些脚本被分组为job , 它们共同组成了一个管道 。
流水线我们可以根据需要构造管道 , 因为YAML是一种序列化的人类可读语言
建立3条管道的假设:
- Project Pipeline 将安装依赖项 , 运行linters , 以及处理该代码的所有脚本 。
- 持续集成管道运行自动化测试并构建代码的分布式版本 。
- 部署管道将代码部署到指定的云提供商和环境 。
根据上图 , 我们来配置一个基本的管道实例 。 以下是.gitlab-ci文件
stages:- build- test- deployimage: alpinebuild_a:stage: buildscript:- echo "This job builds something."build_b:stage: buildscript:- echo "This job builds something else."test_a:stage: testscript:- echo "This job tests something. It will only run when all jobs in the"- echo "build stage are complete."test_b:stage: testscript:- echo "This job tests something else. It will only run when all jobs in the"- echo "build stage are complete too. It will start at about the same time as test_a."deploy_a:stage: deployscript:- echo "This job deploys something. It will only run when all jobs in the"- echo "test stage complete."deploy_b:stage: deployscript:- echo "This job deploys something else. It will only run when all jobs in the"- echo "test stage complete. It will start at about the same time as deploy_a."
在此层次结构中 , 所有三个组件都被视为三个不同的阶段[{build_a , build_b} , {test_a , test_b} , {deploy_a , deploy_b}] 。 主要阶段-build , -test和-deploy是阶段 , 这些部分下的每个项目都是一项工作 。作业将根据stages指令中列出的顺序执行 。
您可以使用only指令使deploy_a部署到登台服务器 , 将deploy_b部署到生产服务器 , 当在only指令下将提交推送到分支时 , 将触发作业
- 前沿军事报道|普京4个字回应十分解气,中俄率先突破!美国要求疫苗必须无偿供应
- 科技前沿阵地|涨疯了!海思安防芯片遭哄抬“围剿”
- 东方网|数字贸易发展趋势和前沿高峰论坛在京召开
- NBA闲话直说|给我放开吃!80秒4助攻4三分!隆多自带追踪器!大莫:哎呀哥真香
- 央广网|直击服贸会:四场高峰论坛轮番举行 聚焦服务贸易发展前沿
- 国际前沿观察|美国提案遭盟友反对,伊朗嘲讽:75年来第一次见,安理会投票2:2
- 国际前沿观察|叫板美国多了一份底气,美国封锁彻底失效!伊朗研发出国产发动机
- 上海新增4例境外输入病例,已追踪同航班密接者150人
- 杭州|报道追踪:8月电费猛涨到底为何?电力公司这么答复
- 前沿哨所|直到上浮美军才发现,急派兵监视,俄罗斯核潜艇潜入阿拉斯加海域