Linux云服务器CI/CD配置完全指南
在当今快速迭代的软件开发环境中,CI/CD(持续集成/持续交付)已成为不可或缺的实践。本文将详细介绍如何在Linux云服务器上搭建高效可靠的CI/CD流水线。
一、准备工作
在开始配置CI/CD前,需要确保以下几点:
- 选择合适的云服务商:AWS、阿里云、腾讯云等主流云平台都提供Linux服务器
- 服务器配置:建议至少2核CPU、4GB内存的配置
- 操作系统选择:Ubuntu Server或CentOS是常见选择
- 网络环境:确保服务器可以访问公网下载必要组件
二、常用CI/CD工具选择
1. Jenkins
作为最流行的开源CI/CD工具,Jenkins提供丰富的插件生态系统:
# Ubuntu安装Jenkins
sudo apt update
sudo apt install openjdk-11-jdk
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins
2. GitLab CI/CD
如果使用GitLab托管代码,内置的CI/CD功能非常方便:
# 安装GitLab Runner
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt-get install gitlab-runner
3. GitHub Actions
GitHub用户可以直接使用其提供的Actions功能,无需额外安装
三、详细配置步骤
1. Jenkins配置示例
安装完成后,访问服务器IP:8080进行初始化设置:
- 从日志中获取初始管理员密码
- 安装建议插件
- 创建管理员账户
- 配置系统设置中的Git、Docker等工具路径
2. 创建第一个流水线
新建Item → 选择Pipeline → 配置SCM仓库地址 → 编写Jenkinsfile
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'mvn clean package'
}
}
stage('Test') {
steps {
sh 'mvn test'
}
}
stage('Deploy') {
steps {
sh 'scp target/*.jar user@production:/opt/app'
}
}
}
}
四、安全加固
CI/CD系统通常拥有较高权限,必须做好安全防护:
- 配置防火墙限制访问IP
- 定期更新系统和软件
- 使用SSH密钥认证
- 配置适当的用户权限
- 启用HTTPS加密访问
五、监控与优化
确保CI/CD系统稳定运行:
- 配置Prometheus监控服务器资源
- 设置Jenkins/GitLab Runner的性能参数
- 定期清理构建历史
- 配置失败告警通知
通过以上步骤,您可以在Linux云服务器上建立完整的CI/CD流程。随着项目发展,可以进一步考虑:
- 引入容器化部署(Docker/Kubernetes)
- 配置多环境部署(开发/测试/生产)
- 实现蓝绿部署或金丝雀发布
持续优化您的CI/CD流程,将显著提升团队的开发效率和交付质量。
