centos

GitLab 在 CentOS 上如何实现自动化部署

小樊
35
2025-06-24 10:04:03
栏目: 智能运维

在CentOS上实现GitLab的自动化部署通常涉及以下几个关键步骤:

1. 安装GitLab

首先,需要在CentOS服务器上安装GitLab。可以通过添加GitLab的yum源来简化安装过程。例如,使用以下命令安装GitLab社区版:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce

2. 配置GitLab

安装完成后,需要配置GitLab的访问地址和端口。可以通过编辑 /etc/gitlab/gitlab.rb 文件来完成:

sudo vi /etc/gitlab/gitlab.rb

在文件中设置 external_url 为你的服务器IP地址或域名,并重新配置GitLab以应用更改:

external_url 'http://your-gitlab-server-ip'
gitlab_workhorse['listen_network'] 'unix'
gitlab_workhorse['listen_addr'] "unix:/var/opt/gitlab/gitlab-workhorse/socket"

然后执行以下命令重新配置并重启GitLab:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

3. 设置GitLab Runner

GitLab Runner是负责执行CI/CD任务的组件。你需要在CentOS上安装并注册GitLab Runner。

安装GitLab Runner

curl -L --output /etc/apt/trusted.gpg.d/gitlab.asc https://packages.gitlab.com/gitlab/gitlab-runner/gpgkey
echo "deb https://packages.gitlab.com/gitlab/gitlab-runner/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gitlab-runner.list
sudo apt-get update
sudo apt-get install gitlab-runner

注册GitLab Runner

在GitLab项目页面,点击 Settings -> CI/CD -> Runners,点击 Register an instance runner

复制提供的 Registration token

在你的CentOS服务器上,以root用户身份执行以下命令来注册Runner:

sudo gitlab-runner register --non-interactive --executor "docker" --docker-image alpine:latest --url "http://your-gitlab-server-ip" --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 Runner

sudo gitlab-runner start

4. 配置CI/CD流程

在项目根目录下创建 .gitlab-ci.yml 文件,定义CI/CD流程。以下是一个简单的示例:

stages:
  - build
  - deploy

build_job:
  stage: build
  script:
    - echo "Building the application..."
    - ./build.sh
  artifacts:
    paths:
      - build/

deploy_job:
  stage: deploy
  script:
    - echo "Deploying the application..."
    - scp target/*.jar user@your-server-ip:/path/to/deploy
  only:
    - master

5. 自动化触发

你可以通过GitLab的Web界面触发CI/CD流程。将 .gitlab-ci.yml 文件添加到Git仓库中,并推送到GitLab服务器上。然后,在项目页面的侧边栏中选择 “CI/CD”,点击 “Run Pipeline” 按钮即可自动触发构建、测试和部署流程。

以上步骤提供了一个基本的框架,用于在CentOS上实现GitLab的自动化部署。具体的实现细节可能会根据实际需求和使用的工具版本有所不同。

0
看了该问题的人还看了