新网站建设运营年计划长沙百度关键词排名
Gitlab中Pipeline语法
cache
cache:paths
- 在job build中定义缓存,将会缓存target目录下的所有*.jar文件
- 当全局定义了cache:paths会被job中覆盖.以下实例将缓存target目录
buld:script: buildcache:paths:- target/*.jar
#设置key可以解决cache被覆盖
cache:paths:- my/filesbuild:script:- echo "build"cache:key: buildpaths:- target/
cache🔑files文件变化自动创建缓存
files: 文件发生变化自动重新生成缓存(files最多指定两个文件),提交时检查指定文件.根据指定的文件生成秘钥计算SHA检验和,如果文件未发生改变值为default.
cache:key:files:- Gemfile.lock- package.jsonpaths:- vendor/ruby- node_modules
cache🔑prefix 组合生成SHA校验和
prefix: 允许给定prefix的值与指定文件生成的秘钥组合
cache:key:files:- Gemfile.lockprefix: ${CI_JOB_NAME}paths:- vendor/ruby
rspec:script:- bundle exec rspec
cache:policy 缓存策略
默认: 在执行时开始下载文件,并在结束时重新上传文件/
policy: pull 跳过下载步骤, policy: push 跳过上传下载步骤
before_script:- echo "before_script!!!"variables:DOMAIN: example.comcache:paths:- target/stages:- build- test- deploybuild:before_script:- echo "before_script in build job"stage: buildtags:- buildonly:- masterscript:- ls- id- mvn clean package -DskipTests- ls target- echo "$DOMAIN"- false && true ; exit_code=$?- if [ $exit_code -ne 0 ]; then echo "Previous command failed"; fi;- sleep 2; after_script:- echo "after_script in build job"unittes:stage: testtags:- buildonly:- masterscript:- echo "run test"- echo 'test' >> a.txt- ls targetretry:max: 2when:- script_failuredeploy:stage: deploytags:- buildonly:- masterscript:- echo "run deploy"- ls targetretry:max: 2when:- script_failureafter_script:- echo "after_script"