欢迎光临
我们一直在努力

如何在Linux云服务器上配置CI/CD?

Linux云服务器CI/CD配置完全指南:从零搭建自动化部署流水线

发布日期:2023年10月15日 | 阅读时长:8分钟

在当今DevOps实践中,持续集成与持续部署(CI/CD)已成为软件开发的生命线。本文将手把手教你如何在Linux云服务器上搭建完整的CI/CD流水线,涵盖从环境准备到生产部署的全流程。

一、为什么选择Linux作为CI/CD平台?

Linux系统因其开源、稳定和高性能的特点,成为CI/CD实践的理想平台:

  • 资源效率高:相比Windows服务器,Linux在相同配置下可支持更多并发构建任务
  • 工具生态完善:Jenkins、GitLab Runner等主流CI工具对Linux有原生支持
  • 成本优势:无需支付操作系统授权费用,云服务商通常提供更优惠的Linux实例价格

二、基础环境准备

1. 服务器选型建议

团队规模 推荐配置 预估成本(月)
小型团队(1-5人) 2核4G内存 50G存储 $15-30
中型团队(5-20人) 4核8G内存 100G存储 $50-80
大型团队(20+人) 8核16G内存+ 分布式部署 $150+

2. 必须安装的软件包

# Ubuntu/Debian系统
sudo apt update
sudo apt install -y git docker.io nginx openssh-server

# CentOS/RHEL系统
sudo yum install -y git docker nginx openssh-server
sudo systemctl start docker
sudo systemctl enable docker

三、主流CI/CD工具配置详解

方案1:Jenkins自动化部署

安装步骤:

  1. 添加Jenkins官方源
  2. 安装Java环境
  3. 配置系统服务
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install -y openjdk-11-jdk jenkins
sudo systemctl start jenkins

方案2:GitLab Runner配置

更适合已经使用GitLab代码托管的企业:

# 注册Runner示例
sudo gitlab-runner register \
  --url "https://gitlab.com/" \
  --registration-token "PROJECT_REGISTRATION_TOKEN" \
  --description "linux-production-runner" \
  --tag-list "linux,docker" \
  --executor "docker"

四、实战:Node.js应用部署案例

.gitlab-ci.yml配置示例

stages:
  - test
  - build
  - deploy

unit_test:
  stage: test
  image: node:14
  script:
    - npm install
    - npm test

docker_build:
  stage: build
  script:
    - docker build -t myapp:$CI_COMMIT_SHA .
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - docker push myapp:$CI_COMMIT_SHA

production_deploy:
  stage: deploy
  only:
    - master
  script:
    - ssh user@production-server "docker pull myapp:$CI_COMMIT_SHA"
    - ssh user@production-server "docker stop live-app || true"
    - ssh user@production-server "docker run -d --name live-app -p 3000:3000 myapp:$CI_COMMIT_SHA"

五、安全加固建议

  • 使用SSH密钥认证替代密码登录
  • 配置iptables防火墙规则
  • 定期更新系统和软件包
  • 为CI服务创建专用系统账户
  • 敏感信息使用环境变量管理

通过本文的指导,您已经掌握了在Linux云服务器上配置CI/CD的核心方法。实际部署时,建议先在小规模测试环境验证流程,再逐步推广到生产环境。随着业务增长,可以考虑引入Kubernetes等容器编排工具来管理更复杂的部署场景。

您在使用过程中遇到过哪些CI/CD配置难题?欢迎在评论区分享您的经验!

赞(0)
未经允许不得转载:莱卡云 » 如何在Linux云服务器上配置CI/CD?