我想将Yaml管道从Gitlab转换为Azure DevOps。问题是我之前没有使用过GitLab的经验。这是yaml。是.package_deploy模板用于工作吗?并且将其映像为一个池还是我需要用于此Docker任务?而before_script:意味着我需要在使用docker进行任务之前先创建任务?
variables:
myVar: "Var"
stages:
- deploy
.package_deploy:
image: registry.gitlab.com/docker-images/$myVar:latest
stage: build
script:
- cd src
- echo "Output file name is set to $OUTPUT_FILE_NAME"
- echo $OUTPUT_FILE_NAME > version.txt
- az login --service-principal -u $ARM_CLIENT_ID -p $ARM_CLIENT_SECRET --tenant $ARM_TENANT_ID
dev_package_deploy:
extends: .package_deploy
stage: deploy
before_script:
- export FOLDER=$FOLDER_DEV
- timestampSuffix=$(date -u "+%Y%m%dT%H%M%S")
- export OUTPUT_FILE_NAME=${myVar}-${timestampSuffix}-${CI_COMMIT_REF_SLUG}.tar.gz
when: manual
demo_package_deploy:
extends: .package_deploy
stage: deploy
before_script:
- export FOLDER=$FOLDER_DEMO
- timestampSuffix=$(date -u "+%Y%m%dT%H%M%S")
- export OUTPUT_FILE_NAME=${myVar}-${timestampSuffix}.tar.gz
when: manual
only:
refs:
- master
.package_deploy:
是可以与extends
关键字一起使用的“隐藏工作” 。它本身不会创造任何工作。这是避免在其他工作定义中重复自己的方法。
before_script
确实没有什么不同,script
只不过它们是两个不同的键。效果是before_script
+script
包含作业中的所有脚本步骤。
before_script:
- one
- two
script:
- three
- four
是相同的:
script:
- one
- two
- three
- four
image:
定义在其中运行作业的Docker容器。这样,它与pool
您将在ADO中定义的非常相似。但是,如果您希望事情在GitLab中以接近您的方式运行,则可能要像container:
在ADO中那样定义它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句