ubuntu

Ubuntu环境下如何实现持续集成与持续部署

小樊
45
2025-08-09 07:37:41
栏目: 智能运维

在Ubuntu环境下实现持续集成(CI)与持续部署(CD),可参考以下步骤,以GitLab CI/CD为例:

  1. 安装必要的工具

    • 安装GitLab Runner(执行CI/CD任务的服务端程序):
      sudo apt update  
      sudo apt install gitlab-runner  
      sudo gitlab-runner register  # 按提示输入GitLab实例URL和注册令牌  
      
    • 若需Docker支持,可安装Docker:
      sudo apt install docker.io  
      sudo systemctl start docker  
      sudo systemctl enable docker  
      
  2. 配置项目CI/CD流程

    • 在项目根目录创建.gitlab-ci.yml文件,定义构建、测试、部署步骤。例如:
      stages:  
        - build  
        - test  
        - deploy  
      build_job:  
        stage: build  
        script:  
          - echo "Building the project..."  
          - npm install  # 以Node.js项目为例  
          - npm run build  
      test_job:  
        stage: test  
        script:  
          - echo "Running tests..."  
          - npm test  
      deploy_job:  
        stage: deploy  
        script:  
          - echo "Deploying the project..."  
          - scp -r build/* user@remote-server:/path/to/deploy  # 部署到远程服务器  
        only:  
          - master  # 仅在master分支触发部署  
      
  3. 触发CI/CD流程

    • 将代码推送到GitLab仓库,Runner会自动识别变更并执行.gitlab-ci.yml中的任务,可在GitLab的“CI/CD → Pipelines”中查看执行状态和日志。
  4. 扩展部署方式

    • Docker部署:在CI流程中构建Docker镜像并推送到仓库,再通过Runner部署到服务器:
      deploy_job:  
        stage: deploy  
        image: docker:dind  
        variables:  
          DOCKER_HOST: tcp://docker:2375  
        script:  
          - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY  
          - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .  
          - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA  
      
    • Kubernetes部署:结合Kubernetes工具(如kubectl),在部署阶段将应用部署到集群。

工具选择参考

具体配置可根据项目语言(如Python、Java等)和部署目标(服务器、云平台)调整脚本和工具链。[1,3,4,5,6,7,8,9,10,11]

0
看了该问题的人还看了