簡體   English   中英

Gitlab CI Angular Artifacts 無法訪問

[英]Gitlab CI Angular Artifacts not accessible

我正在嘗試使用 gitlab 管道構建和部署我的 angular 項目。 有兩個工作。 一種用於構建 angular 應用程序,一種用於部署。 我的gitlab-ci.yml看起來像這樣。

image: node:latest

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
  - node_modules/

before_script:
  - npm install > /dev/null

stages:
  - build
  - deploy

build:
    stage: build
    artifacts: 
        paths:
            - dist/
        expire_in: 1 week
    script:
        - npm run build --prod

deploy:
  stage: deploy
  dependencies:
    - build
  environment: production
  image: mjsarfatti/gitlab-ci-pipeline-php-aws:latest
  before_script:
    - mkdir ~/.aws/
    - touch ~/.aws/credentials
    - printf "[eb-cli]\naws_access_key_id = %s\naws_secret_access_key = %s\n" "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" >> ~/.aws/credentials
  script:
    - git checkout master
    - eb deploy my_project
  only:
    - master

部署作業中使用的 aws cli 構建了位於我的項目根目錄中的 dockerfile。 我的問題是每次運行部署作業時都會收到此錯誤:

Step 3/7 : COPY dist/src /usr/share/nginx/html
44 COPY failed: stat /var/lib/docker/tmp/docker-builder648218383/dist/src: no such file or directory.

上一個構建作業的工件似乎丟失了。 我的gitlab-ci.yaml文件有什么問題?

當工件被提取到其他管道步驟中時,它會被提取到您通過 git 下拉的代碼的不同位置。 對我來說,我已經看到工件放在我的代碼所在的父目錄中。 例如,如果我有這個目錄結構:

--- gitlab_ci_root
   --- my_code

提取的工件將放在gitlab_ci_root下,而不是my_code

您可以通過將幾個ls放入deploy步驟來測試這一點。

deploy:
  stage: deploy
  dependencies:
    - build
  environment: production
  image: mjsarfatti/gitlab-ci-pipeline-php-aws:latest
  before_script:
    - ls # directory list of current directory, likely your code
    - ls ../ # directory list of the parent directory.
    - mkdir ~/.aws/
    - touch ~/.aws/credentials
    - printf "[eb-cli]\naws_access_key_id = %s\naws_secret_access_key = %s\n" "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" >> ~/.aws/credentials
  script:
    - git checkout master
    - eb deploy my_project
  only:
    - master

一旦找到dist/目錄的解壓位置,您就可以在腳本中將 dist 移動到您需要的任何位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM