在实际项目中,镜像名往往与流水线执行序号相关联,以便更好地控制版本。为此,我们增加了动态参数版本的功能,配置如下:image: docker:latestbefore_script: - export IMAGE_FULL_NAME="${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHA}"stages: - build - deployvariables: DOCKERFILE_PA...
AI代码解释 cache:key:${CI_COMMIT_REF_SLUG} files:文件发生变化自动重新生成缓存(files最多指定两个文件),提交的时候检查指定的文件。 根据指定的文件生成密钥计算SHA校验和,如果文件未改变值为default。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 cache:key:files:-Gemfile.lock-package.jsonpaths:-ve...
deploy as review app: stage: deploy script: make deploy environment: name: review/$CI_COMMIT_REF_NAME url: https://$CI_ENVIRONMENT_SLUG.example.com/ 当$CI_COMMIT_REF_NAME 被Runner设置为environment variable时,deply as review appjob将会被指定部署到动态创建revuew/$CI_COMMIT_REF_NAME的环境中。
cache: key: ${CI_COMMIT_REF_SLUG} files: 文件发生变化自动重新生成缓存(files最多指定两个文件),提交的时候检查指定的文件。 示例:根据指定的文件生成密钥计算SHA校验和,如果文件未改变值为default。 cache: key: files:- Gemfile.lock-package.json paths:- vendor/ruby- node_modules prefix: 允许给定prefix...
# key: "%CI_COMMIT_REF_SLUG%" # key: ${CI_BUILD_STAGE} # 缓存每个分支 # key: "$CI_COMMIT_REF_NAME" paths: # 缓存node_mudules将大大提高ci运行的速度 - node_modules/ - dist/ # 构建工作-安装依赖 job_install_deps: stage: install_deps ...
docker build: script: docker build -t my-image:$CI_COMMIT_REF_SLUG . only: changes: - Dockerfile - docker/scripts/* - dockerfiles/**/* - more_scripts/*.{rb,py,sh} tags用来选取执行project的runner,在注册runner时,可以指定runner的tag。 allow_failure允许job失败而不影响CI中其他job的执行,默...
企业级的.gitlab-ci.yml示例可查看https://gitlab.com/gitlab-org/gitlab-ce/blob/master/.gitlab-ci.yml。 Job作业是.gitlab-ci.yml文件的基本元素,每个作业至少有script子句,在流水线中可以定义任意多个作业。 每个作业必须具有唯一的名称,但有一些保留的关键字不能用作作业名称,保留关键字(reserved keywords...
key: ${CI_COMMIT_REF_SLUG} # 定义 stage,stage 可以简单的理解为“步骤”,会顺序执行,如果上一步错了,那不会继续执行下一步 # 比如像下面我定义的,第一步先初始化,第二步检查代码规范,第三步进行单元测试,第四步构建,第五步就直接将项目部署到服务器 ...
CI_COMMIT_MESSAGE 10.8 all 完整的提交信息 CI_COMMIT_REF_NAME 9.0 all 项目的分支名或tag名 CI_COMMIT_REF_PROTECTED 11.11 all 如果作业正在构建的是被保护的分支或tag-拿我格子衫来,值为true CI_COMMIT_REF_SLUG 9.0 all CI_COMMIT_REF_NAME的小写形式。
在GitLab仓库中,增加名为.gitlab-ci.yml的文件,内容如下: # 设置执行镜像 image: busybox:latest # 整个pipeline有两个stage stages: - build - test # 定义全局缓存,缓存的key来自分支信息,缓存位置是vendor文件夹 cache: key: ${CI_COMMIT_REF_SLUG} ...