创建.gitlab-ci.yml文件:在项目根目录中创建.gitlab-ci.yml文件。该文件将定义CI/CD流水线中的构建、测试和部署步骤。
定义CI阶段:在.gitlab-ci.yml文件中定义CI阶段。CI阶段将定义如何构建和测试您的代码。例如,您可以使用Docker容器来构建和测试代码。
image: docker:latest
services:
- docker:dind
stages:
- build
- test
build:
stage: build
script:
- docker build -t my-image:latest .
test:
stage: test
script:
- docker run my-image:latest npm test
deploy:
stage: deploy
environment:
name: production
url: https://my-app.com
script:
- docker push my-image:latest
- ssh deploy@my-server 'docker pull my-image:latest && docker-compose up -d'
$ git add .gitlab-ci.yml
$ git commit -m "add gitlab-ci.yml"
$ git push origin main
在 GitLab CI/CD 中,.gitlab-ci.yml 文件是定义 CI/CD 流水线的文件。这个文件由多个部分组成,包括 variables、stages、jobs 等。
下面是 variables 部分的一些常用变量及其含义:
这些变量可以在 .gitlab-ci.yml 文件中使用,以便在构建、测试和部署过程中引用它们。例如:
stages:
– build
– test
– deploy
build:
stage: build
script:
– docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA .
test:
stage: test
script:
– docker run $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA npm test
deploy:
stage: deploy
script:
– ssh $CI_DEPLOY_USER@$CI_DEPLOY_SERVER ‘docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA && docker-compose up -d’
在上面的示例中,我们使用了 $CI_COMMIT_SHORT_SHA 变量来标记 Docker 镜像的版本,使用 $CI_REGISTRY_IMAGE 变量来指定 Docker 镜像的名称,使用 $CI_DEPLOY_USER 和 $CI_DEPLOY_SERVER 变量来部署应用程序。