溫馨提示×

Ubuntu環境下如何實現持續集成與持續部署

小樊
60
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),在部署階段將應用部署到集群。

工具選擇參考

  • 簡單項目:GitLab CI/CD(集成度高,適合代碼托管在GitLab的場景)。
  • 復雜項目:Jenkins(靈活性高,支持多插件擴展)。
  • 云原生項目:CircleCI/Travis CI(與云服務集成緊密)。

具體配置可根據項目語言(如Python、Java等)和部署目標(服務器、云平臺)調整腳本和工具鏈。[1,3,4,5,6,7,8,9,10,11]

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女