Angular Gitlab管道CI/CD.Gitlab-CI.yml用于

Angular Gitlab管道CI/CD.Gitlab-CI.yml用于,angular,gitlab,Angular,Gitlab,我是Gitlab CD新手,希望为Angular添加管道。一切正常,但我无法使用下面提到的命令将dist文件夹从一个位置复制到另一个位置 下面是我的yml文件 image: node:latest cache: paths: - node_modules/ deploy_stage: stage: deploy environment: staging only: - staging script: - echo "$(ls -la)&quo

我是Gitlab CD新手,希望为Angular添加管道。一切正常,但我无法使用下面提到的命令将dist文件夹从一个位置复制到另一个位置

下面是我的yml文件

image: node:latest
cache:
  paths:
    - node_modules/
deploy_stage:
  stage: deploy
  environment: staging
  only:
    - staging
  script:
    - echo "$(ls -la)"
    - npm install
    - npm install -g @angular/cli
    - ng build --prod --build-optimizer --progress=false
    - echo "$(ls -la dist/)"
  artifacts:
    expire_in: 1 day
    paths:
      - cp -R ~/builds/KtpUrx12/0/root/admin/dist/ /var/www/vhosts/domain.com/staging.domain.com
      - chown -R myadmin:admin /var/www/vhosts/domain.com/staging.domain.com
copy命令给我的错误是“没有匹配的文件”。还有,我在chown身上也犯了同样的错误


我做错了什么?提前谢谢你

我采取的方法是运行两个阶段,第一阶段缓存文件,第二阶段使用这些文件进行部署。我不使用artifacts特性,所以我不能对它的工作方式发表评论,但有可能在执行时这些文件不再可用

注意我如何在
build\u stage
中使用
cache
来缓存
/dist
文件夹,以便在
deploy\u stage
中使用

我还展示了如何使用
scp
跨服务器复制,这可能很方便。它还可以复制到
127.0.0.1

图像:节点:最新
隐藏物:
路径:
-节点单元/
阶段:
-建造
-部署
建造阶段:
阶段:建造
仅:
-登台
隐藏物:
路径:
-距离/
脚本:
-rm./package-lock.json
-npm安装
-./node_modules/@angular/cli/bin/ng build--prod--build optimizer--progress=false
部署阶段:
阶段:部署
环境:登台
仅:
-登台
脚本:
-scp-r dist/my app/*$STAGING\u SERVER\u URI:/opt/STAGING/my app