GitLab CI/CD 前端项目

举报
拿我格子衫来 发表于 2022/03/18 00:29:49 2022/03/18
【摘要】 image: node:latest stages: - install - test - build-dist # 在流水线中使用package.json缓存node_modules,只要package.json内容没变就一直使用缓存cache: key: files: - package.json path...

  
  1. image: node:latest
  2. stages:
  3. - install
  4. - test
  5. - build-dist
  6. # 在流水线中使用package.json缓存node_modules,只要package.json内容没变就一直使用缓存
  7. cache:
  8. key:
  9. files:
  10. - package.json
  11. paths:
  12. - node_modules
  13. # 定义安装npm包的job
  14. install:
  15. stage: install
  16. script:
  17. - npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
  18. - npm install --registry=http://registry.npm.taobao.org
  19. # 定义代码验证的job
  20. code-lint:
  21. stage: test
  22. script:
  23. - npm run lint
  24. allow_failure: true # 运行失败,代码验证失败后仍然会执行后续job
  25. # 编译生成文件的job
  26. build-dist:
  27. stage: build-dist
  28. before_script:
  29. - 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )'
  30. - eval $(ssh-agent -s)
  31. - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
  32. - mkdir -p ~/.ssh
  33. - chmod 700 ~/.ssh
  34. - ssh-keyscan 115.159.52.223 >> ~/.ssh/known_hosts
  35. - chmod 644 ~/.ssh/known_hosts
  36. script:
  37. - npm run build
  38. - scp -r dist root@115.159.52.223:/usr/local/www
  39. artifacts:
  40. paths:
  41. - dist
  42. only: # 只在master分支编译,为了能够
  43. - master

 usr/local/www : 服务器nginx代理指向的目录

SSH_PRIVATE_KEY: 免密登录的私钥

使用公有runner

 

文章来源: fizzz.blog.csdn.net,作者:拿我格子衫来,版权归原作者所有,如需转载,请联系作者。

原文链接:fizzz.blog.csdn.net/article/details/107954404

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。