这个是在项目中的其中一个文件,仅供参考,没啥涉密的东西
variables:
COVERAGE_WEBHOOK_URL: $COVERAGE_WEBHOOK_URI?branch=$CI_COMMIT_REF_NAME&gitlabPipelineId=$CI_PIPELINE_ID&gitlabProjectId=$CI_PROJECT_ID
IMAGE_WEBHOOK_URL: $CI_SERVICE_URL/webhook/gitlabProjects/$CI_PROJECT_ID/pipelines/$CI_PIPELINE_ID/images
imageTag: $CI_PROJECT_NAME-$DEPLOY_TIME_TAG-$CI_PIPELINE_ID
DOCKER_TLS_CERTDIR: ''
stages:
- code_check
- push_images
- deploy
code_check:
stage: code_check
image: 10.19.64.xxx:8080/ums/maven:3.6.0-jdk-8
tags:
- devops
script:
- mvn clean package -DskipTests
artifacts:
expire_in: 3 hrs
paths:
- ./ib-provider/target/*.jar
push_images:
stage: push_images
image: 10.19.64.xxx:8080/library/docker:19.03.14
tags:
- devops
services:
- 10.19.64.xxx:8080/library/docker:19.03.14-dind
before_script:
- mkdir -p $HOME/.docker
- echo $DOCKER_AUTH_CONFIG > $HOME/.docker/config.json
- docker info
script:
- docker build -t ${CI_REGISTRY_IMAGE_DIR}:${imageTag} .
- docker push ${CI_REGISTRY_IMAGE_DIR}:${imageTag}
- wget --post-data "imageTag=$imageTag" $IMAGE_WEBHOOK_URL
deploy:
stage: deploy
image: harbor.xxx.cn/devops-ci/mvn:1.0.1
tags:
- devops
script:
- echo $imageTag
- wget --no-check-certificate --header="Authorization:$AUTH_TOKEN" --post-data="pipelineId=$CI_PIPELINE_ID&ref=$CI_COMMIT_REF_NAME&imageName=$imageName&tag=$imageTag&deployVersion=$deployVersion&description=$description&deployParams=$deployParams&envName=$envName&deployType=$deployType" $DEPLOY_WEBHOOK_URL
only:
variables:
- $IS_DEPLOY == "1"
dependencies:
- push_images
管道是持续集成、交付和部署的顶级组件是一组分阶段(批处理)执行的工作。同一个阶段中的所有工作都是并行执行的(如果有足够的并发Runners),如果它们全部成功,管道就进入下一个阶段。如果其中一个jobs失败,则下一个阶段不(通常)执行。您可以访问项目的Pipeline选项卡中的管道页面。在下图中,您可以看到管道由4个阶段组成(build(构建) , test(测试) , staging(分级) , production(生产)),每个阶段都有一个或多个工作。
GitLab CI流水线配置文件.gitlab-ci.yml详解
… contents:: 目录
本文讲解在 :ref:GitLab的汉化与CI持续集成gitlab-runner的配置 <configure_gitlab_i18n_and_create_gitlab_ci_with_gitlab_runner> 的基础上,对GitLab CI流水线配置文件 .gitlab-ci.yml 进行详细的介绍。
文章目录GitLab CI流水线配置文件.gitlab-ci.yml详解1. 实验环境2.
Gitlab官方文档:https://docs.gitlab.com/ee/ci/yaml/README.html
https://docs.gitlab.com/ee/ci/yaml/gitlab_ci_yaml.html
https://docs.gitlab.com/ee/ci/docker/using_docker_images.html
GitLab CI/CD 是一个内置在GitL...
本文将深入探讨.gitlab-ci.yml文件,这是GitLab CI/CD工作流程中的核心配置文件之一。我们将详细解读该文件的结构、语法和常用指令,帮助读者理解如何通过.gitlab-ci.yml文件定义CI/CD作业流程、环境和任务,实现自动化的构建、测试和部署。
git仓库:https://github.com/Fennay/git...
此文档用于描述.gitlab-ci.yml语法,.gitlab-ci.yml文件被用来管理项目的runner 任务。
如果想要快速的了解GitLab CI ,可查看快速引导。
.gitlab-ci.yml
从7.12版本开始,GitLab CI使用YAML文件(.gitlab-ci.yml)来管理项目配置。该文件存放于项目仓库的根目录,它定义该项目如何构建。
开始构建之前YAM
script 必须 定义由Runner执行的shell脚本或命令
extends 非必须 定义此作业将继承的配置条目
image 非必须 需要使用的docker镜像,请查阅该文档
services 非必须 定义所需的docker服务,请查阅该文档
stage 非必须 定义一个工作场景阶段,默认是test
type 非必须 stage的别名,不赞成使用
variabl...
GitLab CI 是 GitLab 提供的内置 CI/CD 工具,用户可以通过配置项目根目录的 .gitlab-ci.yml。文件来定义自动化的构建、测试、部署等流程。以下是详细的配置说明、文件路径和具体操作步骤。通过实践逐步熟悉 GitLab CI 的功能,你可以构建出适合团队需求的高效自动化流水线!:定义作业生成的文件以供后续作业使用。:限制作业运行的分支。:定义流水线的阶段。
每个人都有惰性,但不断学习是好好生活的根本,共勉!官网参考文档:https://docs.gitlab.com/ee/ci/index.html#the-gitlab-ciyml-file