溫馨提示×

ubuntu gitlab CI/CD實踐

小樊
68
2025-05-28 09:47:05
欄目: 智能運維

在Ubuntu上實踐GitLab CI/CD涉及幾個關鍵步驟,包括安裝和配置GitLab Runner、創建和配置.gitlab-ci.yml文件、以及設置CI/CD流程。以下是一個詳細的指南:

安裝和配置GitLab Runner

  1. 安裝GitLab Runner

    在Ubuntu上安裝GitLab Runner可以通過以下命令完成:

    docker pull gitlab/gitlab-runner:latest
    

    然后,運行以下命令來啟動Runner容器:

    docker run -d --name gitlab-runner --restart always \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -v gitlab-runner-config:/etc/gitlab-runner \
      gitlab/gitlab-runner:latest
    
  2. 注冊GitLab Runner

    首先,進入GitLab項目的Settings → CI/CD → Runners頁面,復制URL和Token。然后,在Runner容器內執行注冊命令:

    docker exec -it gitlab-runner gitlab-runner register \
      --non-interactive \
      --executor "docker" \
      --docker-image alpine:latest \
      --url "http://gitlab.com" \
      --registration-token "YOUR_REGISTRATION_TOKEN" \
      --description="docker-runner" \
      --tag-list "newdocker" \
      --run-untagged="true" \
      --locked="false" \
      --docker-volumes "/var/run/docker.sock:/var/run/docker.sock" \
      --docker-privileged="true" \
      --access-level="not_protected"
    

創建和配置.gitlab-ci.yml文件

在項目根目錄下創建一個名為.gitlab-ci.yml的文件,用于定義CI/CD流程。以下是一個基本的示例:

stages:
  - build
  - test
  - deploy

build_job:
  stage: build
  script:
    - echo "Building the project..."
    - make

test_job:
  stage: test
  script:
    - echo "Running tests..."
    - ./run_tests.sh

deploy_job:
  stage: deploy
  script:
    - echo "Deploying the application..."
    - scp PROJECT_DIR/* user@remote:/path/to/deploy
  only:
    - master

觸發CI/CD流程

  1. 提交并推送代碼

    .gitlab-ci.yml文件添加到Git倉庫中,并將其推送到GitLab服務器上。

  2. 運行CI/CD流水線

    在GitLab項目頁面的側邊欄中,選擇“CI/CD”,然后點擊“Run Pipeline”按鈕。GitLab將根據.gitlab-ci.yml文件的配置自動構建、測試和部署應用程序。

  3. 查看流水線結果

    流水線運行后,可以在GitLab項目頁面查看構建過程和結果,包括構建日志、測試報告以及部署狀態。

高級配置

  • 使用變量:在.gitlab-ci.yml文件中定義變量,如API密鑰、服務器地址等,以提高配置的靈活性和安全性。
  • 緩存:使用緩存功能來加速構建過程,避免每次構建時重新下載依賴項。
  • 依賴關系:明確指定任務之間的依賴關系,確保任務按正確的順序執行。
  • 條件執行:使用onlyexcept關鍵字來限制任務的執行條件,如僅在特定分支上執行某些任務。

通過以上步驟,你可以在Ubuntu上成功配置和使用GitLab CI/CD來實現自動化構建、測試和部署流程。根據項目的具體需求,你可以進一步定制和擴展CI/CD流程。

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