在Linux上集成GitLab的CI/CD功能,通常涉及以下几个步骤:
安装GitLab Runner:
# 更新包列表 sudo apt-get update # 安装依赖 sudo apt-get install -y ca-certificates curl gnupg lsb-release # 添加Docker GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 添加Docker APT仓库 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 更新包列表 sudo apt-get update # 安装Docker sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 启动并启用Docker服务 sudo systemctl start docker sudo systemctl enable docker sudo docker pull gitlab/gitlab-runner:latest sudo docker run --name gitlab-runner --restart always -v /var/run/docker.sock:/var/run/docker.sock -d gitlab/gitlab-runner:latest 注册GitLab Runner:
sudo gitlab-runner register --url "https://gitlab.com/" --registration-token "YOUR_REGISTRATION_TOKEN" --executor "docker" --description "Docker Runner" --docker-image "docker:latest" --docker-volumes "/var/run/docker.sock:/var/run/docker.sock" 编写.gitlab-ci.yml文件:
stages: - build - test - deploy build_job: stage: build image: docker:latest services: - docker:dind script: - echo "Building Docker image..." - docker build -t myapp:1.0 . test_job: stage: test script: - echo "Running tests..." - docker run myapp:1.0 /bin/sh -c "npm test" deploy_job: stage: deploy script: - echo "Deploying the application..." - scp -r ./build user@your-server:/path/to/deploy 配置GitLab Runner:
触发CI/CD流程:
监控CI/CD流程:
以上步骤提供了一个基本的框架,具体的实现可能会根据项目的具体需求和环境有所不同。建议参考GitLab的官方文档以获取更详细的指导。