作者:李伟祥祥 | 来源:互联网 | 2022-11-25 07:48
我刚刚开始了解gitlab CI / CD。我有自己的gitlab实例,还有两个跑步者,1个共享的,1个特定于项目的,都使用docker引擎。
目前,我的登台服务器是其自己的VM,它通过docker-compose托管。我通常使用裸git repo部署到此服务器,并仅将生成文件保留在git中。
但是我想切换到CI / CD模型,所以我尝试了以下操作.gitlab-ci.yml
:
image: node
stages:
- build
- stage
build_frontend:
stage: build
script:
- cd ./src/frontend
- npm install && npm audit fix
# CI=false set to ignore warnings as errors
- CI=false npm run build
artifacts:
paths:
- ./src/frontend/build
tags:
- projectname
但是我对如何实际部署构建有些迷惑。最好的方法是将文件获取到登台服务器(这只是一个VM)上。
1> VonC..:
您可以从GitLab本身如何使用自己的CI中获取一些线索,如“ 如何在Vue.js中使用GitLab CI ”中所述:
他们有专门的部署步骤:
build site:
image: node:6
stage: build
script:
- npm install --progress=false
- npm run build
artifacts:
expire_in: 1 week
paths:
- dist
unit test:
image: node:6
stage: test
script:
- npm install --progress=false
- npm run unit
deploy:
image: alpine
stage: deploy
script:
- apk add --no-cache rsync openssh
- mkdir -p ~/.ssh
- echo "$SSH_PRIVATE_KEY" >> ~/.ssh/id_dsa
- chmod 600 ~/.ssh/id_dsa
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
- rsync -rav --delete dist/ user@server.com:/your/project/path/
因此,如果您可以打包和打包应用程序,则可以将其部署到VM。