[英]Deploy vue via gitlab ci to azure static web app (service)
[英]How can one deploy build artifacts from GitLab CI to an Azure app service?
从作业或更多作业添加具有构建依赖关系的部署阶段,从而下载这些作业的工件,如下所示.gitlab-ci.yml:
stages:
- build
- ...
- deploy
buildjob:1:
stage: build
script:
- build_to_web_dir.sh
artifacts:
paths:
- web
buildjob:2:
stage: build
script:
- build_to_web_dir.sh
artifacts:
paths:
- web
deploy:
stage: deploy
GIT_STRATEGY: none
image: microsoft/azure-cli
dependencies:
- buildjob:1
- buildjob:2
script:
- export containerName=mynewcontainername
- export storageAccount=mystorageaccount
- az storage blob delete-batch --source ${containerName} --account-name ${storageAccount} --output table
- az storage blob upload-batch --source ./web --destination ${containerName} --account-name ${storageAccount} --output table --no-progress
在部署作业中,只有一个目录位于CI_PROJECT_DIR ./web
其中包含构建作业生成的所有文件。
checkout storage quickstart azure用于创建和设置存储容器,帐户详细信息等。
对于部署阶段,我们可以使用microsoft/azure-cli
docker镜像,因此我们可以从脚本中调用az
命令,有关详细说明,请参阅storage-quickstart-blobs-cli 。
az storage blob upload-batch --source ./web --destination ${containerName} --account-name ${storageAccount} --output blobname --no-progress
将./web复制到存储容器中
出于安全原因,我们不应在.gitlab-ci.yml
:
export AZURE_STORAGE_ACCOUNT="mystorageaccountname"
export AZURE_STORAGE_ACCESS_KEY="myStorageAccountKey"
但是它们应该在project_or_group / settings / ci_cd环境变量中定义,因此它们将出现在脚本环境中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.